makebase 65 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304
  1. @
  2. @ Reduce 3.6 "makebase". Copyright (C) 1995-7, Codemist Ltd
  3. @
  4. @
  5. @ This data file is used to create the makefile for REDUCE 3.6 based on
  6. @ CSL. It is processed by the Codemist "makemake" utility, which should
  7. @ be called as
  8. @ makemake cpu opsys compiler debug -f <this-file> -o <destination>
  9. @ where cpu, opsys, compiler and debug are options taken from the menu
  10. @ given below.
  11. @
  12. @
  13. @ The following apply at the start of lines...
  14. @ "@ " introduces a comment (note the blank after the "@")
  15. @ "@set(word) sets a new keyword as if it had been defined.
  16. @ "@if" etc conditional inclusion within generated file.
  17. @ "@error" marks trouble
  18. @
  19. @ Through the bulk of a file (even in the middle of lines) the following
  20. @ are converted:
  21. @
  22. @ "@@" expands to a single "@"
  23. @ "@~" expands to blank if "blank" has been set, or to nothing
  24. @ "@"" expands to " or \" depending on "quote" (needed for
  25. @ the Unix shell, in places).
  26. @ "@" marks the start of a file-name, which is written in the
  27. @ master file using "/" as a directory separator, but
  28. @ DOS-like extensions .exe and Unix like .o
  29. @ "@?" queries the user for a value
  30. @ "@!" re-uses input from previous "@!" but maps input as filename
  31. @ "\" at the end of a line is a "make" continuation marker,
  32. @ interpreted as & if "watcom" is set.
  33. @
  34. @menu
  35. @
  36. @ First I will have a list of the target architectures that are supported
  37. @
  38. @item(acorn>machine_known) Acorn Archimedes/RISC-PC
  39. @item(80x86>machine_known) 80386, 80486, Pentium
  40. @item(sparc>machine_known) Sparc
  41. @item(ultrasparc>sparc>machine_known) any Sparc with 64-bit support
  42. @item(hp9000>machine_known) Hewlett Packard PA systems
  43. @item(apollo>machine_known) Apollo Domain
  44. @item(sgi>machine_known) Silicon Graphics Indi and compatibles
  45. @item(clipper>machine_known) Intergraph Clipper
  46. @item(88000>machine_known) Motorola 88000
  47. @item(alpha>machine_known) DEC Alpha
  48. @item(sr2201>machine_known) Hitachi SR2201 supercomputer
  49. @
  50. @ Next the associated operating systems
  51. @
  52. @item(riscos>os_known) Acorn's RISC-OS operating system
  53. @item(unix>os_known) Unix (BSD, SYS-V, OSF etc)
  54. @item(solaris>unix>os_known) Sun Solaris
  55. @item(sunos>unix>os_known) Sun's older operating system
  56. @item(linux>unix>os_known) Linux
  57. @item(dos>os_known) DOS with suitable extender
  58. @item(win95>os_known) Windows 95, win32s, win32
  59. @item(win32>winnt>os_known) Windows 95, win32s, win32
  60. @item(winnt>os_known) Windows NT in case I want that specifically (not 95)
  61. @item(cygwin>gcc>os_known) Cygwin environment, using bash and gcc
  62. @item(next>os_known) NeXT
  63. @
  64. @ Select a C compiler from the following list
  65. @
  66. @item(gcc>compiler_known) The GNU C compiler
  67. @item(cc>compiler_known) default Unix C compiler
  68. @item(microsoft>compiler_known>backslash) Microsoft Visual C++, version 5.0
  69. @item(borland>compiler_known>backslash) Borland C/C++ version 4.0 etc
  70. @item(watcom>compiler_known>backslash) Watcom C 10.5, 10.6, 11.0
  71. @item(zortech>compiler_known>backslash) Zortech C++ (now Symantec)
  72. @item(ncc>compiler_known) Norcroft C compiler
  73. @
  74. @ Optionally specify DEBUG for a version for use during testing
  75. @
  76. @item(noopt) Disable C compiler optimisation in case compiler bugs
  77. @item(debug) Compile and link for debugging
  78. @item(profile) Set C compiler profile options
  79. @
  80. @ Possible enabling of mpi (parallel computation) interface
  81. @item(mpi)
  82. @
  83. @ Now a few convenient abbreviations for combinations I will use
  84. @ more often than others...
  85. @
  86. @item(win>80x86>win95>watcom>machine_known>os_known>compiler_known) Windows 95, Watcom C
  87. @item(gccunix>gcc>unix>os_known>compiler_known) GNU C with generic Unix
  88. @item(ccunix>cc>unix>os_known>compiler_known) Generic Unix using "cc"
  89. @
  90. @endmenu
  91. @
  92. @
  93. @if(acorn)
  94. @if(compiler_known)
  95. @ifnot(ncc)
  96. @ifnot(gcc)
  97. @error Unknown compiler for Acorn system
  98. @endif
  99. @endif
  100. @else
  101. @set(ncc)
  102. @set(compiler_known)
  103. @endif
  104. @endif
  105. @
  106. @if(sparc)
  107. @if(compiler_known)
  108. @ifnot(gcc)
  109. @ifnot(cc)
  110. @error Unknown compiler for Sparc system (need gcc or cc)
  111. @endif
  112. @endif
  113. @else
  114. @set(cc)
  115. @set(compiler_known)
  116. @endif
  117. @if(os_known)
  118. @ifnot(unix)
  119. @error Unix (sunos or solaris) needed for sparc
  120. @ Windows NT on a sparc is not supported at this stage...
  121. @endif
  122. @else
  123. @ I default to a solaris version here.
  124. @set(solaris)
  125. @set(unix)
  126. @set(os_known)
  127. @endif
  128. @endif
  129. @
  130. @if(sr2201)
  131. @if(compiler_known)
  132. @ifnot(cc)
  133. @error Unknown compiler for sr2201
  134. @endif
  135. @else
  136. @set(cc)
  137. @set(compiler_known)
  138. @endif
  139. @if(os_known)
  140. @ifnot(unix)
  141. @error Unix needed for sr2201
  142. @endif
  143. @else
  144. @set(unix)
  145. @set(os_known)
  146. @endif
  147. @
  148. @ifnot(compiler_known)
  149. @set(gcc)
  150. @set(compiler_known)
  151. @endif
  152. @endif
  153. @
  154. @if(hp9000)
  155. @if(os_known)
  156. @ifnot(unix)
  157. @error Unix needed for HP9000
  158. @endif
  159. @else
  160. @set(unix)
  161. @set(os_known)
  162. @endif
  163. @endif
  164. @
  165. @if(apollo)
  166. @if(os_known)
  167. @ifnot(unix)
  168. @error Unix needed for Apollo
  169. @endif
  170. @else
  171. @set(unix)
  172. @set(os_known)
  173. @endif
  174. @endif
  175. @
  176. @if(sgi)
  177. @if(os_known)
  178. @ifnot(unix)
  179. @error Unix needed for SGI
  180. @endif
  181. @else
  182. @set(unix)
  183. @set(os_known)
  184. @endif
  185. @endif
  186. @
  187. @if(clipper)
  188. @if(os_known)
  189. @ifnot(unix)
  190. @error Unix needed for Clipper
  191. @endif
  192. @else
  193. @set(unix)
  194. @set(os_known)
  195. @endif
  196. @endif
  197. @
  198. @if(88000)
  199. @if(os_known)
  200. @ifnot(unix)
  201. @error Unix needed for 88000
  202. @endif
  203. @else
  204. @set(unix)
  205. @set(os_known)
  206. @endif
  207. @endif
  208. @
  209. @if(alpha)
  210. @if(os_known)
  211. @ifnot(unix)
  212. @ifnot(winnt)
  213. @error Unix or Windows NT needed for Alpha
  214. @endif
  215. @endif
  216. @else
  217. @set(unix)
  218. @set(os_known)
  219. @endif
  220. @endif
  221. @
  222. @if(linux)
  223. @if(compiler_known)
  224. @ifnot(gcc)
  225. @error Linux uses GCC
  226. @endif
  227. @else
  228. @set(gcc)
  229. @set(compiler_known)
  230. @endif
  231. @endif
  232. @
  233. ###########################################################################
  234. # #
  235. # makefile for REDUCE 3.6 using CSL #
  236. # #
  237. ###########################################################################
  238. # The following lines indicates the place on your disc where the "cslbase"
  239. # directory exists. This is the place where the C sources files for CSL
  240. # live. There are two versions here, the first should use Unix-like
  241. # file name conventions (in particular "/" as a directory separator) while
  242. # the second will (in some cases) be a host-specific translation.
  243. @
  244. @ I *must* have asserted "@set(backslash)" above here in the makebase
  245. @ file if that is needed, otherwise file-name conversion will not apply
  246. @ properly here.
  247. @
  248. UCSLBASE = @?(The directory where the main CSL sources are, eg c:/xxx/cslbase)
  249. CSLBASE = @!
  250. @
  251. @
  252. @ GCC can be run on many different sorts of machines and with several
  253. @ different operating systems. I collect together all the options here.
  254. @
  255. @
  256. @if(gcc)
  257. @ifnot(cygwin)
  258. @
  259. @if(dos)
  260. @set(80x86)
  261. @endif
  262. @
  263. @if(80x86)
  264. @set(escapequote)
  265. @set(blank)
  266. @
  267. ###########################################################################
  268. # This is for GCC for DOS #
  269. # NB using GNU "make" all filenames must use "/" rather than "\" #
  270. ###########################################################################
  271. @
  272. CC = gcc
  273. @if(debug)
  274. OPTFLAGS = -g -DDEBUG=1
  275. @elif(noopt)
  276. OPTFLAGS =
  277. @else
  278. #
  279. # The GCC versions I have tried (recently) support -O3 (which does
  280. # some in-lining). If you have trouble please revert to -O2 or even -O0
  281. OPTFLAGS = -O3
  282. @endif
  283. @if(mpi)
  284. MPIFLAGS = -DUSE_MPI=1
  285. @else
  286. MPIFLAGS =
  287. @endif
  288. CFLAGS = -c $(OPTFLAGS) -ansi -I$(CSLBASE) -DGCC386=1 $(MPIFLAGS)
  289. ASM = gcc
  290. ASMFLAGS = -c
  291. LINK = $(CC)
  292. LFLAGS =
  293. LIBS = -lm -lcurses
  294. ASMSRC = igcc386.s
  295. ASMOBJ = igcc386.o
  296. ASMOBJDEP = igcc386.o
  297. STORE = -k8000
  298. XSTORE = -k8000
  299. OUT = -o
  300. OUTOBJ = -o
  301. SYS = sysdos
  302. WX = go32
  303. RM = del
  304. MKDIR = mkdir
  305. COPY = copy
  306. @if(debug)
  307. STRIP = echo
  308. @else
  309. STRIP = strip
  310. @endif
  311. ###########################################################################
  312. @
  313. @elif(sparc)
  314. @set(unix)
  315. ###########################################################################
  316. # Sun SPARC, using GCC
  317. @if(mpi)
  318. CC = mpicc
  319. @else
  320. CC = gcc
  321. @endif
  322. @if(debug)
  323. OPTFLAGS = -g -DDEBUG=1
  324. @elif(noopt)
  325. OPTFLAGS =
  326. @else
  327. OPTFLAGS = -O3
  328. @endif
  329. @if(profile)
  330. # It appears that to use the profile option properly I need to make all
  331. # my function names external (not static) for otherwise the "prof" program
  332. # can not find their names with Sun. Furthermore I possibly have to avoid use
  333. # if a shared library, hence the -static flag.
  334. PROFFLAGS = -p -static -Dstatic=
  335. @else
  336. PROFFLAGS =
  337. @endif
  338. SPARCFLAGS =
  339. @if(sunos)
  340. SUNOSFLAGS = -I/usr/5include
  341. @else
  342. SUNOSFLAGS =
  343. @endif
  344. @if(mpi)
  345. MPIFLAGS = -DUSE_MPI=1
  346. @else
  347. MPIFLAGS =
  348. @endif
  349. CFLAGS = -ansi -c $(PROFFLAGS) $(OPTFLAGS) $(SPARCFLAGS) $(SUNOSFLAGS) -I$(CSLBASE) $(MPIFLAGS)
  350. @if(sunos)
  351. SUNOSLIBS = -L/usr/5lib -lresolv
  352. @else
  353. SUNOSLIBS = -lsocket -lnsl
  354. @endif
  355. SUNOSLIBS1 = -lm -lc
  356. @if(profile)
  357. LIBS = $(SUNOSLIBS) $(SUNOSLIBS1) -lcurses -static -p
  358. @else
  359. LIBS = $(SUNOSLIBS) $(SUNOSLIBS1) -lcurses
  360. @endif
  361. @set(unixoptions)
  362. ###########################################################################
  363. ###########################################################################
  364. @else
  365. @set(unix)
  366. ###########################################################################
  367. # Generic Unix with GCC. Note that if you use this you should review
  368. # the file "machine.h" to ensure that CSL knows what name to report for
  369. # your system. Also if the system you are running on needs more libraries
  370. # scanned in the link-phase.
  371. @if(mpi)
  372. CC = mpicc
  373. @else
  374. CC = gcc
  375. @endif
  376. @if(debug)
  377. OPTFLAGS = -g -DDEBUG=1
  378. @elif(noopt)
  379. OPTFLAGS =
  380. @else
  381. OPTFLAGS = -O3
  382. @endif
  383. @if(mpi)
  384. MPIFLAGS = -DUSE_MPI=1
  385. @else
  386. MPIFLAGS =
  387. @endif
  388. CFLAGS = -c $(OPTFLAGS) -ansi -I$(CSLBASE) $(MPIFLAGS)
  389. LIBS = -lm -lc -lcurses
  390. @set(unixoptions)
  391. ###########################################################################
  392. @endif
  393. @endif
  394. @endif
  395. @if(cc)
  396. @ifnot(sparc)
  397. @set(unix)
  398. ###########################################################################
  399. # Generic Unix with "cc". Note that if you use this you should review
  400. # the file "machine.h" to ensure that CSL knows what name to report for
  401. # your system. Also if the system you are running on needs more libraries
  402. # scanned during the link phase. The Makefile create here will VERY
  403. # probably need to be adjusted by hand.
  404. @if(mpi)
  405. CC = mpicc
  406. @else
  407. CC = cc
  408. @endif
  409. @if(debug)
  410. OPTFLAGS = -g -DDEBUG=1
  411. @elif(noopt)
  412. OPTFLAGS =
  413. @else
  414. OPTFLAGS = -O
  415. @endif
  416. @if(mpi)
  417. MPIFLAGS = -DUSE_MPI=1
  418. @else
  419. MPIFLAGS =
  420. @endif
  421. CFLAGS = -c $(OPTFLAGS) -I$(CSLBASE) $(MPIFLAGS)
  422. LIBS = -lm -lcurses
  423. @set(unixoptions)
  424. ###########################################################################
  425. @endif
  426. @endif
  427. @
  428. @ I will use Watcom C for DOS and for Windows 95 and NT
  429. @
  430. @
  431. @if(watcom)
  432. @
  433. @if(machine_known)
  434. @ifnot(80x86)
  435. @error Watcom C is for use with 80x86 only
  436. @endif
  437. @else
  438. @set(80x86)
  439. @set(machine_known)
  440. @endif
  441. @
  442. @if(os_known)
  443. @ifnot(win95)
  444. @ifnot(winnt)
  445. @ifnot(dos)
  446. @error Watcom C is for DOS, Windows 95 or Windows NT
  447. @endif
  448. @endif
  449. @endif
  450. @else
  451. @set(win95)
  452. @set(os_known)
  453. @endif
  454. @
  455. @set(obj)
  456. @set(blank)
  457. @set(linkcomma)
  458. ###########################################################################
  459. # This is for 32-bit operation with Watcom C version 10.5, 10.6, 11.0 #
  460. # Note that other release of Watcom C need command line options changed #
  461. ###########################################################################
  462. @if(win95)
  463. @set(cwin)
  464. @elif(winnt)
  465. @set(cwin)
  466. @endif
  467. CC = *wcc386
  468. @if(debug)
  469. OPTFLAGS = -d2 -d_DEBUG -DDEBUG=1
  470. @elif(noopt)
  471. OPTFLAGS =
  472. @else
  473. !ifeq __VERSION__ 11
  474. OPTFLAGS = -oneatx -oh
  475. !else
  476. OPTFLAGS = -oatx
  477. !endif
  478. @endif
  479. @if(mpi)
  480. MPIFLAGS = -DUSE_MPI=1
  481. @else
  482. MPIFLAGS =
  483. @endif
  484. @if(win95)
  485. CCFLAGS = -d_MBCS=1 -d_WINDOWS=1 -dWINDOWS_NT=1 -bt=nt -DCWIN=1
  486. @elif(winnt)
  487. CCFLAGS = -d_MBCS=1 -d_WINDOWS=1 -dWINDOWS_NT=1 -bt=nt -DCWIN=1
  488. @else
  489. CCFLAGS = -d_MBCS=1 -bt=dos4g
  490. @endif
  491. CFLAGS = $(OPTFLAGS) $(CCFLAGS) -i=$(CSLBASE) $(MPIFLAGS) -5r-zp4-ei-w3-bm-fhq
  492. CPP = *wpp386
  493. !ifeq __VERSION__ 11
  494. CPPFLAGS = $(CFLAGS) -xs
  495. !else
  496. CPPFLAGS = $(CFLAGS) -xs-zo
  497. !endif
  498. ASM = *wasm
  499. ASMFLAGS = -mf -5r -w4 -zq
  500. LINK = *wlink
  501. @if(debug)
  502. LDEBUG = debug all
  503. @else
  504. LDEBUG =
  505. @endif
  506. @if(dos)
  507. LSYS = dos4g
  508. LIBS =
  509. LFLAGS = system $(LSYS) option map,eliminate,stack=256K $(LDEBUG) file
  510. @else
  511. LSYS = nt_win
  512. @if(debug)
  513. LIBS = REFERENCE _wstart2_
  514. LFLAGS = system $(LSYS) option map,eliminate,stack=256K $(LDEBUG) file
  515. @else
  516. LIBS = REFERENCE _wstart2_
  517. LFLAGS = system $(LSYS) option map,eliminate,stack=256K $(LDEBUG) file
  518. @endif
  519. @endif
  520. ASMSRC = imulwat.asm
  521. ASMOBJ = imulwat.obj
  522. ASMOBJDEP = imulwat.obj
  523. STORE = -k8000
  524. XSTORE = -k8000
  525. # The .SYMBOLIC directive tells Watcom "wmake" not to fuss when a
  526. # target in the makefile does not correspond to a file that will get
  527. # create by activating it.
  528. SYMBOLIC = .SYMBOLIC
  529. OUT = name
  530. OUTOBJ = -fo=
  531. @if(win95)
  532. SYS = syscwin
  533. # With SOME releases of Windows 95 and Watcom C it was important to
  534. # use "start /w" when launching windowed applications from a makefile
  535. # because otherwise make just started the task and continued with its
  536. # work without waiting for the job to complete. But with the versions
  537. # I have tried most recently the use of "start /w" forces exactly the
  538. # effect it was supposed to avoid. Oh Dear! Adjust your makefile if you
  539. # have trouble, please. I am not certain if this is a Watcom 10.6 vs 11.0
  540. # issue of a Windows 95 vs. NT one.
  541. !ifeq __VERSION__ 11
  542. WX =
  543. !else
  544. WX = start /w
  545. !endif
  546. @elif(winnt)
  547. SYS = syscwin
  548. WX =
  549. @else
  550. SYS = sysdos
  551. WX =
  552. @endif
  553. RM = del
  554. MKDIR = mkdir
  555. COPY = copy
  556. STRIP = -echo
  557. ###########################################################################
  558. @endif
  559. @
  560. @
  561. @
  562. @ By "microsoft" I mean Microsoft Visual C++, for use with Windows 95
  563. @ and Windows NT. I will NOT use this compiler for DOS
  564. @
  565. @
  566. @if(microsoft)
  567. @
  568. @if(machine_known)
  569. @ifnot(80x86)
  570. @error Microsoft C is for use with 80x86 only
  571. @endif
  572. @else
  573. @set(80x86)
  574. @set(machine_known)
  575. @endif
  576. @
  577. @if(os_known)
  578. @ifnot(win95)
  579. @ifnot(winnt)
  580. @error Microsoft C is for Windows 95 or Windows NT
  581. @endif
  582. @endif
  583. @else
  584. @set(win95)
  585. @set(os_known)
  586. @endif
  587. @
  588. @set(obj)
  589. ###########################################################################
  590. # #
  591. # This "makefile" is for Win32 and Win32s (using Visual C++ 5.0). #
  592. # #
  593. ###########################################################################
  594. CC = cl
  595. @if(debug)
  596. OPTFLAGS = -Od -Zi -DDEBUG=1
  597. @elif(slow)
  598. OPTFLAGS =
  599. @else
  600. OPTFLAGS = -Ox2 -G5r
  601. @endif
  602. @if(mpi)
  603. MPIFLAGS = -DUSE_MPI=1
  604. @else
  605. MPIFLAGS =
  606. @endif
  607. CFLAGS = $(OPTFLAGS) -c -W3 -DWINDOWS_NT=1 -I$(CSLBASE) -DCWIN=1 $(MPIFLAGS)
  608. CPP = cl
  609. CPPFLAGS = $(CFLAGS)
  610. LINK = cl
  611. @if(debug)
  612. LFLAGS =
  613. @else
  614. LFLAGS =
  615. @endif
  616. LIBS = nafxcw.lib libc.lib msvcrt.lib kernel32.lib shell32.lib wsock32.lib \
  617. user32.lib gdi32.lib winspool.lib libcmt.lib \
  618. comdlg32.lib comctl32.lib winmm.lib advapi32.lib
  619. @if(debug)
  620. TAIL = -link -debug -nodefaultlib -subsystem:windows
  621. @else
  622. TAIL = -link -nodefaultlib -subsystem:windows
  623. @endif
  624. CSLRES = csl.res
  625. R36RES = r36.res
  626. DEMORES = demored.res
  627. FRONTRES = r36front.res
  628. @set(ressym)
  629. OUT = -o
  630. OUTOBJ = -Fo
  631. ASM = $(CC)
  632. ASMFLAGS = $(CFLAGS)
  633. ASMSRC = imulvc.c
  634. ASMOBJ = imulvc.obj
  635. ASMOBJDEP = imulvc.obj
  636. @if(win95)
  637. SYS = syscwin
  638. WX = start /w
  639. @elif(winnt)
  640. SYS = syscwin
  641. WX =
  642. @else
  643. SYS = sysdos
  644. WX =
  645. @endif
  646. STORE = -k8000
  647. XSTORE = -k8000
  648. RM = del
  649. MKDIR = mkdir
  650. COPY = copy
  651. STRIP = -echo
  652. @endif
  653. @
  654. @
  655. @if(borland)
  656. @
  657. @if(machine_known)
  658. @ifnot(80x86)
  659. @error Borland C is for use with 80x86 only
  660. @endif
  661. @else
  662. @set(80x86)
  663. @set(machine_known)
  664. @endif
  665. @
  666. @if(os_known)
  667. @ifnot(dos)
  668. @ifnot(dos)
  669. @error Borland C is set up for Win32 console apps (ie DOS) only at present
  670. @endif
  671. @endif
  672. @else
  673. @set(dos)
  674. @set(os_known)
  675. @endif
  676. @
  677. @set(obj)
  678. ###########################################################################
  679. # #
  680. # This "makefile" is for console applications (95 & NT) with Borland 4.0 #
  681. # #
  682. ###########################################################################
  683. CC = bcc32
  684. @if(debug)
  685. OPTFLAGS =
  686. @elif(slow)
  687. OPTFLAGS =
  688. @else
  689. # Borland C 4.0 (I know that is an old release but it is the newest one I have
  690. # tried) refuses to compile my code if it is asked to optimise. So I
  691. # will not press the matter.
  692. OPTFLAGS =
  693. @endif
  694. @if(mpi)
  695. MPIFLAGS = -DUSE_MPI=1
  696. @else
  697. MPIFLAGS =
  698. @endif
  699. CFLAGS = $(OPTFLAGS) -c -4 -N -I$(CSLBASE) $(MPIFLAGS)
  700. CPP = bcc32
  701. CPPFLAGS = $(CFLAGS)
  702. LINK = bcc32
  703. @if(debug)
  704. LFLAGS =
  705. @else
  706. LFLAGS =
  707. @endif
  708. LIBS =
  709. TAIL =
  710. CSLRES = csl.res
  711. R36RES = r36.res
  712. DEMORES = demored.res
  713. FRONTRES = r36front.res
  714. OUT = -e
  715. OUTOBJ = -o
  716. ASM = $(CC)
  717. ASMFLAGS = $(CFLAGS)
  718. ASMSRC =
  719. ASMOBJ =
  720. ASMOBJDEP = notused.obj
  721. SYS = sysdos
  722. WX =
  723. STORE = -k8000
  724. XSTORE = -k8000
  725. RM = del
  726. MKDIR = mkdir
  727. COPY = copy
  728. STRIP = -echo
  729. @endif
  730. @
  731. @
  732. @ I will only use Zortech for DOS and 80x86 systems in 32 bit mode.
  733. @
  734. @
  735. @if(zortech)
  736. @
  737. @if(machine_known)
  738. @ifnot(80x86)
  739. @error Zortech C++ is only for use with 80x86
  740. @endif
  741. @else
  742. @set(80x86)
  743. @set(machine_known)
  744. @endif
  745. @
  746. @if(os_known)
  747. @ifnot(dos)
  748. @error Zortech C++ is only for use with DOS
  749. @endif
  750. @else
  751. @set(dos)
  752. @set(os_known)
  753. @endif
  754. @
  755. ###########################################################################
  756. # This is for 32-bit operation with Zortech C++ version 3.0 #
  757. # #
  758. # This is set up for use with Zortech C++ release 3.0r4 (well, that #
  759. # is the release of the compiler that I have at present, and earlier #
  760. # versions had a few bugs left). To provide for virtual memory on a #
  761. # 386, 486 or Pentium I use the FlashTek extension of the DOS extender #
  762. # used with Zortech C, and the linker commands scan a few object files #
  763. # relating to that. If you are rebuilding this system and do not have #
  764. # the Flashtek code then all you lose is virtual memory support and #
  765. # the changes to this makefile are pretty small. #
  766. # Now somewhat out of date... but start here if you have Symantec C++. #
  767. ###########################################################################
  768. CC = ztc
  769. @if(mpi)
  770. MPIFLAGS = -DUSE_MPI=1
  771. @else
  772. MPIFLAGS =
  773. @endif
  774. CFLAGS = -c -A -mx -o -I$(CSLBASE) $(MPIFLAGS)
  775. ASM = ztc
  776. ASMFLAGS = -mx -c
  777. LINK = $(CC)
  778. LFLAGS = -mx
  779. LIBS = x32v.lib
  780. ASMSRC = imuldos.asm
  781. ASMOBJ = imuldos.obj
  782. ASMOBJDEP = imuldos.obj
  783. STORE = -k8000
  784. XSTORE = -k8000
  785. @endif
  786. @
  787. @if(hp9000)
  788. ###########################################################################
  789. # HP workstations (eg HP/9000/735)
  790. @if(mpi)
  791. CC = mpicc
  792. @else
  793. CC = c89
  794. @endif
  795. @if(mpi)
  796. MPIFLAGS = -DUSE_MPI=1
  797. @else
  798. MPIFLAGS =
  799. @endif
  800. CFLAGS = -c +Obb3000 +O3 -Wl,-a,archive -I$(CSLBASE) $(MPIFLAGS)
  801. LIBS = -lm -lc -lcurses -lresolv
  802. @set(unixoptions)
  803. ###########################################################################
  804. @endif
  805. @
  806. @if(sr2201)
  807. ###########################################################################
  808. # Hitachi SR2201 supercomputer
  809. @if(mpi)
  810. CC = mpicc
  811. @else
  812. CC = cc +BTLN1
  813. @endif
  814. @if(mpi)
  815. MPIFLAGS = -DUSE_MPI=1
  816. @else
  817. MPIFLAGS =
  818. @endif
  819. CFLAGS = -c +O4 +ESlit +Ol +Oprefetch -I$(CSLBASE) $(MPIFLAGS)
  820. LIBS = -lm -lc -lcurses
  821. @set(unixoptions)
  822. ###########################################################################
  823. @endif
  824. @
  825. @if(sparc)
  826. @if(cc)
  827. ###########################################################################
  828. # Sun Super SPARC, using the Sun C compiler.
  829. @if(mpi)
  830. CC = mpicc
  831. @else
  832. # I get conflicting reports about where to find the C compiler...
  833. # please adjust this file by hand if you need to.
  834. CC = /opt/EA/SUNWspro/bin/cc
  835. @endif
  836. @if(ultrasparc)
  837. @if(debug)
  838. SPARCOPTS = -g -dalign -xtarget=ultra1/170 -DLONG_LONG_64=1 -DMULDIV64=1 -DDEBUG=1
  839. SPARCLIBS = -lfast -lm
  840. @else
  841. SPARCOPTS = -xO5 -xdepend -dalign -xtarget=ultra1/170 -DLONG_LONG_64=1 -DMULDIV64=1
  842. SPARCLIBS = -lfast -lm
  843. @endif
  844. @else
  845. @if(debug)
  846. SPARCOPTS = -g -DDEBUG=1
  847. SPARCLIBS = -lm -lc
  848. @else
  849. SPARCOPTS = -xO4
  850. SPARCLIBS = -lm -lc
  851. @endif
  852. @endif
  853. @if(mpi)
  854. MPIFLAGS = -DUSE_MPI=1
  855. @else
  856. MPIFLAGS =
  857. @endif
  858. CFLAGS = -c $(SPARCOPTS) -DBSD_LIB=1 -I$(CSLBASE) $(MPIFLAGS)
  859. LIBS = $(SPARCLIBS) -lcurses
  860. @set(unixoptions)
  861. ###########################################################################
  862. @endif
  863. @endif
  864. @
  865. @if(alpha)
  866. ###########################################################################
  867. # DEC Alpha, with OSF (tested on 1.3) and the DEC C compiler. Note that
  868. # this is a 64-bit machine, but I use it with the "-taso" linker option
  869. # so that I run in a 32-bit address space.
  870. @if(mpi)
  871. CC = mpicc
  872. @else
  873. CC = cc
  874. @endif
  875. @if(debug)
  876. OPTFLAGS = -g -DDEBUG=1
  877. @elif(noopt)
  878. OPTFLAGS =
  879. @else
  880. OPTFLAGS = -O2
  881. @endif
  882. @if(mpi)
  883. MPIFLAGS = -DUSE_MPI=1
  884. @else
  885. MPIFLAGS =
  886. @endif
  887. CFLAGS = -c $(OPTFLAGS) -std1 -Olimit 3000 -I$(CSLBASE) $(MPIFLAGS)
  888. LIBS = -lm -lcurses -taso
  889. @set(unixoptions)
  890. ###########################################################################
  891. @endif
  892. @
  893. @if(next)
  894. ###########################################################################
  895. # NeXT, tested on a Pentium Pro installation
  896. CC = cc
  897. OPTFLAGS = -O2
  898. @if(mpi)
  899. MPIFLAGS = -DUSE_MPI=1
  900. @else
  901. MPIFLAGS =
  902. @endif
  903. CFLAGS = -c $(OPTFLAGS) -I$(CSLBASE) $(MPIFLAGS)
  904. LIBS = -lm -lcurses -ltermcap
  905. @set(unixoptions)
  906. ###########################################################################
  907. @endif
  908. @
  909. @
  910. @if(apollo)
  911. ###########################################################################
  912. # Apollo
  913. CC = cc
  914. @if(mpi)
  915. MPIFLAGS = -DUSE_MPI=1
  916. @else
  917. MPIFLAGS =
  918. @endif
  919. CFLAGS = -c -A ansi -D__APOLLO__=1 -I$(CSLBASE) $(MPIFLAGS)
  920. LIBS = -lcurses
  921. # Also note that in 1Q 1993 the -O flag must not be used for char.c or
  922. # gc.c as the Apollo C compiler optimiser is buggy.
  923. # It seems OK for the other sections. Presumably a later release of the
  924. # compiler will fix the difficulty. Please hand-compile that section
  925. # using "make -n char.o" to guide you.
  926. @set(unixoptions)
  927. ###########################################################################
  928. @endif
  929. @
  930. @if(sgi)
  931. ###########################################################################
  932. # Silicon Graphics, using the SGI C compiler
  933. # I have not yet worked out how to exploit -O3 or -O4 optimisation
  934. # but see sketches later down this file where I have tried same for
  935. # the DEC Alpha.
  936. CC = cc
  937. @if(debug)
  938. OPTFLAGS = -g -DDEBUG=1
  939. @elif(noopt)
  940. OPTFLAGS =
  941. @else
  942. OPTFLAGS = -O2
  943. @endif
  944. @if(mpi)
  945. MPIFLAGS = -DUSE_MPI=1
  946. @else
  947. MPIFLAGS =
  948. @endif
  949. CFLAGS = -c -ansi -DSGICC=1 $(OPTFLAGS) -Olimit 3000 -I$(CSLBASE) $(MPIFLAGS)
  950. LIBS = -lm -lc -lcurses
  951. ###########################################################################
  952. @set(unixoptions)
  953. @endif
  954. @
  955. @if(clipper)
  956. ###########################################################################
  957. # Intergraph Clipper, using the Norcroft C compiler
  958. CC = ncc
  959. @if(mpi)
  960. MPIFLAGS = -DUSE_MPI=1
  961. @else
  962. MPIFLAGS =
  963. @endif
  964. CFLAGS = -c -I$(CSLBASE) $(MPIFLAGS)
  965. LIBS = -lcurses
  966. ###########################################################################
  967. @set(unixoptions)
  968. @endif
  969. @
  970. @if(unixoptions)
  971. ###########################################################################
  972. @set(blank)
  973. @set(escapequote)
  974. SHELL = /bin/sh
  975. LINK = $(CC)
  976. @if(profile)
  977. @if(debug)
  978. LFLAGS = -p -g
  979. @else
  980. LFLAGS = -p
  981. @endif
  982. @else
  983. @if(debug)
  984. LFLAGS = -g
  985. @else
  986. LFLAGS =
  987. @endif
  988. @endif
  989. OUT = -o
  990. OUTOBJ = -o
  991. ASM = $(CC)
  992. ASMFLAGS = $(CFLAGS)
  993. ASMSRC =
  994. ASMOBJ =
  995. ASMOBJDEP = notused.obj
  996. SYS = sysunix
  997. STORE = -k8000
  998. XSTORE = -k8000
  999. RM = rm
  1000. MKDIR = mkdir
  1001. COPY = cp
  1002. @if(debug)
  1003. STRIP = echo
  1004. @else
  1005. STRIP = strip
  1006. @endif
  1007. WX =
  1008. ###########################################################################
  1009. @endif
  1010. @if(cygwin)
  1011. ###########################################################################
  1012. # Cygwin32 running on Windows 95, 98 or NT. First tested with
  1013. # Cygnus beta 19.1.
  1014. # This is also going to be tested with EGCS installed rather than the
  1015. # earlier version of gcc, and soon it will require ncurses to have been
  1016. # installed too.
  1017. #
  1018. # This will produce a command-line-only version of REDUCE.
  1019. # ensure that the current directory is on our search path (by default
  1020. # it is not)
  1021. export PATH := .:$(PATH)
  1022. # permit the name "reduce" spelt in lower case to be used as well
  1023. # as REDUCE
  1024. export reduce := $(REDUCE)
  1025. CC = gcc
  1026. @if(mpi)
  1027. MPIFLAGS = -DUSE_MPI=1
  1028. @else
  1029. MPIFLAGS =
  1030. @endif
  1031. OPTFLAGS = -O3
  1032. # define NO_HELP_SYSTEM because curses is not yet part of standard
  1033. # cygnus release
  1034. CFLAGS = -c -ansi $(OPTFLAGS) -I$(CSLBASE) $(MPIFLAGS) -DNO_HELP_SYSTEM=1
  1035. #LIBS = -lcurses
  1036. LIBS =
  1037. ###########################################################################
  1038. @set(blank)
  1039. @set(escapequote)
  1040. # For the following line to behave properly you MUST put a copy of
  1041. # the shell in what a Windows user would call C:\bin
  1042. SHELL = /bin/sh
  1043. LINK = $(CC)
  1044. @if(profile)
  1045. @if(debug)
  1046. LFLAGS = -p -g
  1047. @else
  1048. LFLAGS = -p
  1049. @endif
  1050. @else
  1051. @if(debug)
  1052. LFLAGS = -g
  1053. @else
  1054. LFLAGS =
  1055. @endif
  1056. @endif
  1057. OUT = -o
  1058. OUTOBJ = -o
  1059. ASM = $(CC)
  1060. ASMFLAGS = $(CFLAGS)
  1061. ASMSRC =
  1062. ASMOBJ =
  1063. ASMOBJDEP = notused.obj
  1064. SYS = syscyg
  1065. STORE = -k8000
  1066. XSTORE = -k8000
  1067. RM = rm
  1068. MKDIR = mkdir
  1069. COPY = cp
  1070. @if(debug)
  1071. STRIP = echo
  1072. @else
  1073. STRIP = strip
  1074. @endif
  1075. WX =
  1076. ###########################################################################
  1077. @endif
  1078. @
  1079. @if(riscos)
  1080. @error Acorn parts of the makefile not reconstructed yet
  1081. ###########################################################################
  1082. # #
  1083. # This "makefile" is for Acorn RISC-OS #
  1084. # #
  1085. ###########################################################################
  1086. @set(acorn)
  1087. #
  1088. # makefile for REDUCE 3.6 using CSL
  1089. # This is for RISC-OS on an Acorn Archimedes
  1090. #
  1091. CC = cc
  1092. CFLAGS = -c -fah -I$.risc_oslib -I$(CSLBASE)
  1093. LFLAGS =
  1094. LINK = link
  1095. LIBS = $.risc_oslib.o.risc_oslib $.clib.o.stubs
  1096. SYS = sysarm
  1097. STORE = -k8000
  1098. XSTORE = -k8000
  1099. ASMOBJ =
  1100. OBJ = o
  1101. RM = delete
  1102. MKDIR = cdir
  1103. COPY = copy
  1104. STRIP = squeeze
  1105. WX =
  1106. ###########################################################################
  1107. ###########################################################################
  1108. @endif
  1109. @
  1110. @if(win95)
  1111. @set(cwin)
  1112. @set(resourcefile)
  1113. @endif
  1114. @
  1115. @if(winnt)
  1116. @set(cwin)
  1117. @set(resourcefile)
  1118. @endif
  1119. ###########################################################################
  1120. ###########################################################################
  1121. # #
  1122. # This is the main bulk of the "makefile" for building Reduce 3.6 and CSL #
  1123. # on MSDOS, Windows and Unix. This part of the file expects a number of #
  1124. # symbols to have been defined: #
  1125. # #
  1126. # CSLBASE = file-path for CSLBASE directory #
  1127. # CC = The C compiler to use #
  1128. # CFLAGS = Flags for C compiler when compiling CSL #
  1129. # LINK = Linker to use #
  1130. # LFLAGS = Flags for linker #
  1131. # LIBS = Libraries to quote to linker #
  1132. # OUT = "-o" or "-out:" See link commands #
  1133. # OUTOBJ = "-o" often : where to put object code from C compilation #
  1134. # ASM = The assembler to use #
  1135. # ASMFLAGS = Flags for the assembler #
  1136. # ASMSRC = Assembly code source file to use #
  1137. # ASMOBJ = Object file for above (or NULL if no assembly used) #
  1138. # ASMOBJDEP = Ditto, but may not be NULL #
  1139. # SYS = name of system-specific file (sysdos or sysnt etc) #
  1140. # STORE = Memory option to pass to CSL (-k2500 is minimum) #
  1141. # XSTORE = Memory for the rebuild job that generates C code #
  1142. # RM = del for DOS, = rm for Unix #
  1143. # MKDIR = mkdir #
  1144. # COPY = copy for DOS, = cp for Unix #
  1145. # STRIP = echo for DOS, = strip for Unix #
  1146. # SYMBOLIC = .SYMBOLIC is using Watcom's "make" utility #
  1147. # WX = wx for Windows 3.1, null in all other cases #
  1148. # #
  1149. # The master version of this file is called "makebase" and is used to #
  1150. # create both DOS and Unix makefiles. Use the Codemist "makemake" #
  1151. # program to perform the conversion - eg #
  1152. # makemake -f makebase -o makemake.386 watcom dos #
  1153. # makemake -f makebase -o Makefile.sgi sgi #
  1154. # Just "makemake -f makebase" gives list of systems supported #
  1155. ###########################################################################
  1156. ###########################################################################
  1157. ###########################################################################
  1158. ###########################################################################
  1159. #
  1160. # The main final target is @r36.img, the image file for full REDUCE.
  1161. # If you want to rebuild stage-by-stage (eg while testing), try the
  1162. # sequence
  1163. # make @csl.exe compiles and links C coded kernel
  1164. # make @csl.img builds compiler image on top of above
  1165. # make @slowr36.img makes bootstrap REDUCE
  1166. # (roughly twice as slow as final one)
  1167. # only used for system recompilation.
  1168. # make ccode runs test file to collect statistics
  1169. # and create files u*.c and u*.lsp
  1170. # out of hot-spot parts of REDUCE. Note that
  1171. # >>>>>>>>>>>>>>>>>>> this is not done automatically by the main
  1172. # >>>> N. B. >>>> set of "make" dependences, since the
  1173. # >>>>>>>>>>>>>>>>>>> files u*.* provided are probably OK - but
  1174. # you need to do it again if the main REDUCE
  1175. # sources are altered
  1176. # make @fasl36.img final compilation of most of REDUCE
  1177. # make @r36.exe build final executable binary
  1178. # make @r36.img build final image file
  1179. # make testall runs test files, output to log directory
  1180. #
  1181. ###########################################################################
  1182. ###########################################################################
  1183. #
  1184. # C is another name for CSLBASE, the directory that CSL source files live
  1185. # in. I introduce it here mainly because $(C) is so much more compact
  1186. # then $(CSLBASE).
  1187. #
  1188. C = $(CSLBASE)
  1189. #
  1190. # DOBJS is a list of all the object files that are common to all variants
  1191. # on the system built here
  1192. #
  1193. DOBJS = @arith01.o @arith02.o @arith03.o @arith04.o \
  1194. @arith05.o @arith06.o @arith07.o @arith08.o \
  1195. @arith09.o @arith10.o @arith11.o @arith12.o \
  1196. @char.o @csl.o @cslmpi.o @eval1.o @eval2.o \
  1197. @eval3.o @eval4.o @fns1.o @fns2.o @fns3.o \
  1198. @print.o @read.o @restart.o $(ASMOBJ) \
  1199. @if(cwin)
  1200. @$(SYS).o @c_applic.o @c_text.o \
  1201. @c_graph.o @c_render.o @c_viewpt.o
  1202. @else
  1203. @$(SYS).o
  1204. @endif
  1205. CDOBJS = @arith01.o,@arith02.o,@arith03.o,@arith04.o,\
  1206. @arith05.o,@arith06.o,@arith07.o,@arith08.o,\
  1207. @arith09.o,@arith10.o,@arith11.o,@arith12.o,\
  1208. @char.o,@csl.o,@cslmpi.o,@eval1.o,@eval2.o,\
  1209. @eval3.o,@eval4.o,@fns1.o,@fns2.o,@fns3.o,\
  1210. @print.o,@read.o,@restart.o,$(ASMOBJ),\
  1211. @if(cwin)
  1212. @$(SYS).o,@c_applic.o,@c_text.o,\
  1213. @c_graph.o,@c_render.o,@c_viewpt.o
  1214. @else
  1215. @$(SYS).o
  1216. @endif
  1217. #
  1218. # OBJS adds in the files used when I am not building a demonstration-mode CSL
  1219. #
  1220. OBJS = $(DOBJS) @fasl.o @gc.o @preserve.o
  1221. COBJS = $(CDOBJS),@fasl.o,@gc.o,@preserve.o
  1222. #
  1223. # UOBJS come from that code that is compiled from Lisp into C
  1224. #
  1225. UOBJS = @u01.o @u02.o @u03.o @u04.o @u05.o \
  1226. @u06.o @u07.o @u08.o @u09.o @u10.o \
  1227. @u11.o @u12.o
  1228. CUOBJS = @u01.o,@u02.o,@u03.o,@u04.o,@u05.o,\
  1229. @u06.o,@u07.o,@u08.o,@u09.o,@u10.o,\
  1230. @u11.o,@u12.o
  1231. ###########################################################################
  1232. ###########################################################################
  1233. #
  1234. # "r36.img" is an image file for the main parts of Reduce
  1235. @r36.img: @fasl36.img @r36.exe
  1236. $(WX) r36 $(STORE) -v -z -i @fasl36.img -o- @../cslsrc/r36.lsp -- @r36.log
  1237. -$(MKDIR) log
  1238. # "make patches" can be used after the "src/patches.red" file has changed
  1239. patches: @../src/patches.red $(SYMBOLIC)
  1240. $(WX) r36 $(STORE) -v @../cslsrc/mkpatch.red -- mkpatch.log
  1241. $(WX) r36 $(STORE) -v -i- -o @fasl36.img @../cslsrc/mkpatch1.red -- mkpatch1.log
  1242. $(WX) r36 $(STORE) -v -z -i @fasl36.img -o- @../cslsrc/r36.lsp -- @r36.log
  1243. #
  1244. # "make testall" tests the final production version of Reduce
  1245. #
  1246. testall: @log/algint.log @log/applysym.log @log/arnum.log @log/assist.log @log/avector.log \
  1247. @log/boolean.log @log/cali.log @log/camal.log @log/changevr.log \
  1248. @log/compact.log @log/complex.log @log/crack.log @log/cvit.log \
  1249. @log/decompos.log @log/defint.log @log/desir.log @log/dfpart.log \
  1250. @log/dummy.log @log/elem.log @log/excalc.log @log/factor.log \
  1251. @log/fide.log @log/fps.log @log/gcd.log @log/gentran.log \
  1252. @log/groebner.log @log/ideals.log @log/ineq.log @log/int.log \
  1253. @log/invbase.log @log/laplace.log @log/lie.log @log/limits.log \
  1254. @log/linalg.log @log/math.log @log/matrix.log @log/modsr.log \
  1255. @log/ncpoly.log @log/normform.log @log/numeric.log @log/odesolve.log \
  1256. @log/orthovec.log @log/pf.log @log/physop.log @log/pmrules.log \
  1257. @log/randpoly.log @log/reacteqn.log @log/reduce.log @log/residue.log @log/rlfi.log \
  1258. @log/rlisp88.log @log/roots.log @log/rounded.log @log/rsolve.log \
  1259. @log/scope.log @log/sets.log @log/solve.log @log/spde.log \
  1260. @log/specfn.log @log/sum.log @log/symmetry.log @log/taylor.log \
  1261. @log/tps.log @log/tri.log @log/trigsimp.log @log/wu.log @log/xcolor.log @log/xideal.log \
  1262. @log/zeilberg.log @log/ztrans.log $(SYMBOLIC)
  1263. -echo all tests done
  1264. ###########################################################################
  1265. ###########################################################################
  1266. #
  1267. # The targets from here on down are used in the process of doing a full
  1268. # system re-build
  1269. # @fasl36.img is a file needed during a re-build of Reduce. It contains
  1270. # compiled versions of all the Reduce modules.
  1271. @fasl36.img: @csl.exe @slowr36.img
  1272. -$(RM) @fasl36.img
  1273. $(WX) csl $(STORE) -v -i @slowr36.img -o @fasl36.img \
  1274. @../cslsrc/fasl36.red -- @fasl36.log
  1275. # "make personal" downgrades a full version of Reduce to make a"personal"
  1276. # version (without the compiler).
  1277. personal: @r36.exe @r36.img $(SYMBOLIC)
  1278. $(COPY) @r36.exe @../r36.exe
  1279. $(COPY) @r36.img @../r36.img
  1280. $(WX) @../r36 @../cslsrc/remcmp.lsp
  1281. # "make rl" manufactures an image file that contains just an Rlisp parser
  1282. rl: $(SYMBOLIC) @rlisp.exe @rlisp.img
  1283. @rlisp.exe: $(SYMBOLIC) @csl.exe
  1284. $(COPY) @csl.exe @rlisp.exe
  1285. @rlisp.img: @rlisp.exe
  1286. $(WX) rlisp $(STORE) -v -z -o rlisp.img \
  1287. @../cslsrc/mkrlisp.lsp -D@@cslbase="$(C)" -- rlisp.log
  1288. #
  1289. # @r36.exe can only be built when all the user-generated C code has been
  1290. # built.
  1291. #
  1292. @r36.exe: @bytes.o $(OBJS) \
  1293. @if(microsoft)
  1294. $(R36RES) \
  1295. @endif
  1296. $(UOBJS)
  1297. @if(borland)
  1298. $(LINK) -er36.exe @@@../cslsrc/borr36.lnk
  1299. @else
  1300. @if(linkcomma)
  1301. $(LINK) $(LFLAGS) @bytes.o,$(COBJS),$(CUOBJS) $(LIBS) $(OUT)@~@r36.exe $(TAIL)
  1302. @else
  1303. @if(ressym)
  1304. $(LINK) $(LFLAGS) @bytes.o $(OBJS) $(UOBJS) $(R36RES) $(LIBS) $(OUT)@~@r36.exe $(TAIL)
  1305. @else
  1306. $(LINK) $(LFLAGS) @bytes.o $(OBJS) $(UOBJS) $(LIBS) $(OUT)@~@r36.exe $(TAIL)
  1307. @endif
  1308. @endif
  1309. @endif
  1310. @if(resourcefile)
  1311. @if(watcom)
  1312. wrc -i@../cslsrc -i@$(C) -bt=nt @../cslsrc/r36.rc @r36.exe
  1313. @endif
  1314. @endif
  1315. $(STRIP) @r36.exe
  1316. @if(resourcefile)
  1317. @if(microsoft)
  1318. csl.res: @../cslsrc/csl.rc @$(C)/cwin.rc
  1319. rc -i@../cslsrc -i@$(C) -focsl.res @../cslsrc/csl.rc
  1320. r36.res: @../cslsrc/r36.rc @$(C)/cwin.rc
  1321. rc -i@../cslsrc -i@$(C) -for36.res @../cslsrc/r36.rc
  1322. demored.res: @../cslsrc/demored.rc @$(C)/cwin.rc
  1323. rc -i@../cslsrc -i@$(C) -fodemored.res @../cslsrc/demored.rc
  1324. @endif
  1325. @endif
  1326. #
  1327. # slowr36 is a version of Reduce used just to compile the final version.
  1328. # It is larger and slower than the final release version, and will not have
  1329. # all the optional modules built into it.
  1330. #
  1331. @slowr36.img: @csl.exe @../cslsrc/slowr36.lsp @../src/boot.sl \
  1332. @../src/cslprolo.red @../src/module.red \
  1333. @../src/rlisp.red @../src/cslrend.red @../src/poly.red \
  1334. @../src/alg.red @../src/arith.red @../src/mathpr.red \
  1335. @../src/entry.red
  1336. $(WX) csl $(STORE) -o @slowr36.img -v -z \
  1337. @../cslsrc/slowr36.lsp -D@@cslbase="$(C)" -- @slowr36.log
  1338. #
  1339. # A few targets here may help me tidy up my filespace from time to time
  1340. #
  1341. cleansmall: $(SYMBOLIC)
  1342. -$(RM) @slowr36.img
  1343. clean: $(SYMBOLIC)
  1344. -$(RM) @slowr36.img
  1345. -$(RM) @r36.exe
  1346. -$(RM) @fasl36.img
  1347. -$(RM) @r36.img
  1348. #
  1349. # demored is a demonstration version of Reduce with built-in resource
  1350. # limitations.
  1351. #
  1352. demored: @csl.exe @slowr36.img @bytes.o $(DOBJS) $(SYMBOLIC) \
  1353. @if(microsoft)
  1354. $(DEMORES) \
  1355. @endif
  1356. @stubs.o
  1357. $(CC) $(CFLAGS) @$(C)/demo.c
  1358. @if(borland)
  1359. $(LINK) -edemored.exe @@@../cslsrc/bordemo.lnk
  1360. @else
  1361. @if(linkcomma)
  1362. $(LINK) $(LFLAGS) @bytes.o,$(CDOBJS),@stubs.obj,@demo.o $(LIBS) $(OUT)@~@demored.exe $(TAIL)
  1363. @else
  1364. @if(ressym)
  1365. $(LINK) $(LFLAGS) @bytes.o $(DOBJS) @stubs.obj @demo.o $(DEMORES) $(LIBS) $(OUT)@~@demored.exe $(TAIL)
  1366. @else
  1367. $(LINK) $(LFLAGS) @bytes.o $(DOBJS) @stubs.obj @demo.o $(LIBS) $(OUT)@~@demored.exe $(TAIL)
  1368. @endif
  1369. @endif
  1370. @endif
  1371. @if(resourcefile)
  1372. @if(watcom)
  1373. wrc -i@../cslsrc -i@$(C) -bt=nt @../cslsrc/demored.rc @demored.exe
  1374. @endif
  1375. @endif
  1376. $(STRIP) @demored.exe
  1377. -$(RM) @demored.img
  1378. $(WX) csl $(STORE) -i @slowr36.img -v -z -i @fasl36.img \
  1379. -o @demored.img @../cslsrc/makedemo.lsp -- makedemo.log
  1380. ###########################################################################
  1381. @csl.img: @csl.exe @$(C)/compat.lsp @$(C)/compiler.lsp \
  1382. @$(C)/ccomp.lsp @$(C)/extras.lsp
  1383. -$(RM) @csl.img
  1384. $(WX) csl $(STORE) -v -z @$(C)/build0.lsp \
  1385. -D@@cslbase="$(C)" -- @cslimg.log
  1386. @csl.exe: @bytes.o $(OBJS) \
  1387. @if(microsoft)
  1388. $(CSLRES) \
  1389. @endif
  1390. @stubs.o
  1391. @if(borland)
  1392. $(LINK) -ecsl.exe @@@../cslsrc/borcsl.lnk
  1393. @else
  1394. @if(watcom)
  1395. $(LINK) $(LFLAGS) @bytes.o,$(COBJS),@stubs.o $(LIBS) $(OUT)@~@csl.exe $(TAIL)
  1396. @else
  1397. @if(ressym)
  1398. $(LINK) $(LFLAGS) @bytes.o $(OBJS) @stubs.o $(CSLRES) $(LIBS) $(OUT)@~@csl.exe $(TAIL)
  1399. @else
  1400. $(LINK) $(LFLAGS) @bytes.o $(OBJS) @stubs.o $(LIBS) $(OUT)@~@csl.exe $(TAIL)
  1401. @endif
  1402. @endif
  1403. @endif
  1404. @if(resourcefile)
  1405. @if(watcom)
  1406. wrc -i@$(C) -i@$(C) -bt=nt @$(C)/csl.rc @csl.exe
  1407. @endif
  1408. @endif
  1409. $(STRIP) @csl.exe
  1410. @slowcsl.exe: @bytes1.o $(OBJS) \
  1411. @if(microsoft)
  1412. $(CSLRES) \
  1413. @endif
  1414. @stubs.o
  1415. @if(borland)
  1416. $(LINK) -eslowcsl.exe @@@../cslsrc/borcsl.lnk
  1417. @else
  1418. @if(watcom)
  1419. $(LINK) $(LFLAGS) @bytes1.o,$(COBJS),@stubs.o $(LIBS) $(OUT)@~@slowcsl.exe $(TAIL)
  1420. @else
  1421. @if(ressym)
  1422. $(LINK) $(LFLAGS) @bytes1.o $(OBJS) @stubs.o $(CSLRES) $(LIBS) $(OUT)@~@slowcsl.exe $(TAIL)
  1423. @else
  1424. $(LINK) $(LFLAGS) @bytes1.o $(OBJS) @stubs.o $(LIBS) $(OUT)@~@slowcsl.exe $(TAIL)
  1425. @endif
  1426. @endif
  1427. @endif
  1428. @if(resourcefile)
  1429. @if(watcom)
  1430. wrc -i@$(C) -i@$(C) -bt=nt @$(C)/csl.rc @slowcsl.exe
  1431. @endif
  1432. @endif
  1433. $(STRIP) @slowcsl.exe
  1434. @if(win32)
  1435. @r36front.exe: @r36front.o \
  1436. @if(microsoft)
  1437. $(FRONTRES) \
  1438. @endif
  1439. @c_applic1.o @c_text.o @c_graph.o @c_render.o @c_viewpt.o
  1440. @if(borland)
  1441. $(LINK) -er36front.exe @@@../cslsrc/borfront.lnk
  1442. @else
  1443. @if(watcom)
  1444. $(LINK) $(LFLAGS) @r36front.o,@c_applic1.o,@c_text.o,@c_graph.o,@c_render.o,@c_viewpt.o $(LIBS) $(OUT)@~@r36front.exe $(TAIL)
  1445. @else
  1446. @if(ressym)
  1447. $(LINK) $(LFLAGS) @r36front.o,@c_applic1.o,@c_text.o,@c_graph.o,@c_render.o,@c_viewpt.o $(FRONTRES) $(LIBS) $(OUT)@~@r36front.exe $(TAIL)
  1448. @else
  1449. $(LINK) $(LFLAGS) @r36front.o,@c_applic1.o,@c_text.o,@c_graph.o,@c_render.o,@c_viewpt.o $(LIBS) $(OUT)@~@r36front.exe $(TAIL)
  1450. @endif
  1451. @endif
  1452. @endif
  1453. @if(resourcefile)
  1454. @if(watcom)
  1455. wrc -i@$(C) -i@$(C) -bt=nt @$(C)/r36front.rc @r36front.exe
  1456. @endif
  1457. @endif
  1458. $(STRIP) @r36front.exe
  1459. @endif
  1460. #
  1461. # "make lispfile"
  1462. # recreates compiler.lsp, extras.lsp and ccomp.lsp from
  1463. # the corresponding master sources which are held in RLISP
  1464. # form. Temporarily builds an RLISP parser on the way.
  1465. lispfile: @csl.exe @csl.img @$(C)/lispfile.lsp $(SYMBOLIC)
  1466. $(WX) csl $(STORE) -v -z @$(C)/lispfile.lsp \
  1467. -D@@cslbase="$(C)" -- @lispfile.log
  1468. signature: @$(C)/version.hhh register.key $(SYMBOLIC)
  1469. filesign -u @$(C)/version.hhh @$(C)/version.h Developer or tester
  1470. #
  1471. # Now rules for re-compiling the main collection of CSL source files. I
  1472. # write each case out individually since that makes the makefile less
  1473. # delicate than one that relies on setting up general rules - and I want this
  1474. # file to work on several different systems.
  1475. #
  1476. @if(watcom)
  1477. # There is a special nasty with the Watcom assembler (at least version
  1478. # 10.5) in that tab characters on the command line upset it, so I MUST
  1479. # have the command given here all on one line in that case.
  1480. @endif
  1481. $(ASMOBJDEP): @$(C)/$(ASMSRC)
  1482. @if(gcc)
  1483. $(ASM) $(ASMFLAGS) -o @$(ASMOBJ).o @$(C)/$(ASMSRC)
  1484. @else
  1485. $(ASM) $(ASMFLAGS) @$(C)/$(ASMSRC)
  1486. @endif
  1487. @arith01.o: @$(C)/arith01.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \
  1488. @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h
  1489. $(CC) $(CFLAGS) \
  1490. @if(gcc)
  1491. -o @arith01.o \
  1492. @endif
  1493. @$(C)/arith01.c
  1494. @arith02.o: @$(C)/arith02.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \
  1495. @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h
  1496. $(CC) $(CFLAGS) \
  1497. @if(gcc)
  1498. -o @arith02.o \
  1499. @endif
  1500. @$(C)/arith02.c
  1501. @arith03.o: @$(C)/arith03.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \
  1502. @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h
  1503. $(CC) $(CFLAGS) \
  1504. @if(gcc)
  1505. -o @arith03.o \
  1506. @endif
  1507. @$(C)/arith03.c
  1508. @arith04.o: @$(C)/arith04.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \
  1509. @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h
  1510. $(CC) $(CFLAGS) \
  1511. @if(gcc)
  1512. -o @arith04.o \
  1513. @endif
  1514. @$(C)/arith04.c
  1515. @arith05.o: @$(C)/arith05.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \
  1516. @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h @$(C)/stream.h
  1517. $(CC) $(CFLAGS) \
  1518. @if(gcc)
  1519. -o @arith05.o \
  1520. @endif
  1521. @$(C)/arith05.c
  1522. @arith06.o: @$(C)/arith06.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \
  1523. @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h @$(C)/entries.h
  1524. $(CC) $(CFLAGS) \
  1525. @if(gcc)
  1526. -o @arith06.o \
  1527. @endif
  1528. @$(C)/arith06.c
  1529. @arith07.o: @$(C)/arith07.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \
  1530. @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h
  1531. $(CC) $(CFLAGS) \
  1532. @if(gcc)
  1533. -o @arith07.o \
  1534. @endif
  1535. @$(C)/arith07.c
  1536. @arith08.o: @$(C)/arith08.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \
  1537. @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h @$(C)/entries.h
  1538. $(CC) $(CFLAGS) \
  1539. @if(gcc)
  1540. -o @arith08.o \
  1541. @endif
  1542. @$(C)/arith08.c
  1543. @arith09.o: @$(C)/arith09.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \
  1544. @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h
  1545. $(CC) $(CFLAGS) \
  1546. @if(gcc)
  1547. -o @arith09.o \
  1548. @endif
  1549. @$(C)/arith09.c
  1550. @arith10.o: @$(C)/arith10.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \
  1551. @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h @$(C)/entries.h
  1552. $(CC) $(CFLAGS) \
  1553. @if(gcc)
  1554. -o @arith10.o \
  1555. @endif
  1556. @$(C)/arith10.c
  1557. @arith11.o: @$(C)/arith11.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \
  1558. @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h
  1559. $(CC) $(CFLAGS) \
  1560. @if(gcc)
  1561. -o @arith11.o \
  1562. @endif
  1563. @$(C)/arith11.c
  1564. @arith12.o: @$(C)/arith12.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \
  1565. @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h @$(C)/entries.h
  1566. $(CC) $(CFLAGS) \
  1567. @if(gcc)
  1568. -o @arith12.o \
  1569. @endif
  1570. @$(C)/arith12.c
  1571. @bytes.o: @$(C)/bytes1.c @$(C)/bytes.c @$(C)/tags.h @$(C)/machine.h \
  1572. @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h \
  1573. @$(C)/bytes.h @$(C)/arith.h
  1574. $(CC) $(CFLAGS) \
  1575. @if(gcc)
  1576. -o @bytes.o \
  1577. @endif
  1578. @$(C)/bytes.c
  1579. @bytes1.o: @$(C)/bytes1.c @$(C)/bytes.c @$(C)/tags.h @$(C)/machine.h \
  1580. @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h \
  1581. @$(C)/bytes.h @$(C)/arith.h
  1582. $(CC) $(CFLAGS) \
  1583. @if(gcc)
  1584. -o @bytes1.o \
  1585. @endif
  1586. @$(C)/bytes1.c
  1587. #
  1588. # The target "@bytes1a.o" recompiles bytes1.c, but with the flag set that
  1589. # arranges that the number of GET operations performed and the associated
  1590. # indicators will be recorded, so that (bytecounts) will display statistics
  1591. # about it. This slows things down considerably, but can help when you are in
  1592. # the process of deciding which indicators are specified as "fast" ones.
  1593. #
  1594. @bytes1a.o: @$(C)/bytes1.c @$(C)/bytes.c @$(C)/tags.h @$(C)/machine.h \
  1595. @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h \
  1596. @$(C)/bytes.h @$(C)/arith.h
  1597. $(CC) $(CFLAGS) -DRECORD_GET=1 \
  1598. @if(gcc)
  1599. -o @bytes1.o \
  1600. @endif
  1601. @$(C)/bytes1.c
  1602. @char.o: @$(C)/char.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
  1603. @$(C)/sys.h @$(C)/cslerror.h @$(C)/entries.h
  1604. $(CC) $(CFLAGS) \
  1605. @if(gcc)
  1606. -o @char.o \
  1607. @endif
  1608. @$(C)/char.c
  1609. @csl.o: @$(C)/csl.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h @$(C)/version.h \
  1610. @$(C)/sys.h @$(C)/cslerror.h @$(C)/entries.h @$(C)/stream.h @$(C)/sockhdr.h
  1611. $(CC) $(CFLAGS) \
  1612. @if(gcc)
  1613. -o @csl.o \
  1614. @endif
  1615. @$(C)/csl.c
  1616. @if(win32)
  1617. @r36front.o: @$(C)/r36front.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h @$(C)/version.h \
  1618. @$(C)/sys.h @$(C)/cslerror.h @$(C)/entries.h @$(C)/stream.h @$(C)/sockhdr.h
  1619. $(CC) $(CFLAGS) \
  1620. @if(gcc)
  1621. -o @r36front.o \
  1622. @endif
  1623. @$(C)/r36front.c
  1624. @endif
  1625. @if(cwin)
  1626. # the cwin window manager package is for use with Watcom C only (at present)
  1627. @c_applic.o: @$(C)/c_applic.cpp @$(C)/cwin.h @$(C)/cwin.hpp @$(C)/cwinres.h
  1628. $(CPP) $(CPPFLAGS) \
  1629. @if(gcc)
  1630. -o @c_applic.o \
  1631. @endif
  1632. @$(C)/c_applic.cpp
  1633. @c_applic1.o: @$(C)/c_applic.cpp @$(C)/cwin.h @$(C)/cwin.hpp @$(C)/cwinres.h
  1634. $(CPP) $(CPPFLAGS) -DDEMOVERSION=1 \
  1635. @if(gcc)
  1636. -o @c_applic1.o \
  1637. @else
  1638. $(OUTOBJ)@~@c_applic1.o
  1639. @endif
  1640. @$(C)/c_applic.cpp
  1641. @c_text.o: @$(C)/c_text.cpp @$(C)/cwin.h @$(C)/cwin.hpp @$(C)/cwinres.h
  1642. $(CPP) $(CPPFLAGS) \
  1643. @if(gcc)
  1644. -o @c_text.o \
  1645. @endif
  1646. @$(C)/c_text.cpp
  1647. @c_graph.o: @$(C)/c_graph.cpp @$(C)/cwin.h @$(C)/cwin.hpp @$(C)/cwinres.h
  1648. $(CPP) $(CPPFLAGS) \
  1649. @if(gcc)
  1650. -o @c_graph.o \
  1651. @endif
  1652. @$(C)/c_graph.cpp
  1653. @c_render.o: @$(C)/c_render.cpp @$(C)/cwin.h @$(C)/cwin.hpp @$(C)/cwinres.h
  1654. $(CPP) $(CPPFLAGS) \
  1655. @if(gcc)
  1656. -o @c_render.o \
  1657. @endif
  1658. @$(C)/c_render.cpp
  1659. @c_viewpt.o: @$(C)/c_viewpt.cpp @$(C)/cwin.h @$(C)/cwin.hpp @$(C)/cwinres.h
  1660. $(CPP) $(CPPFLAGS) \
  1661. @if(gcc)
  1662. -o @c_viewpt.o \
  1663. @endif
  1664. @$(C)/c_viewpt.cpp
  1665. @endif
  1666. @eval1.o: @$(C)/eval1.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
  1667. @$(C)/sys.h @$(C)/cslerror.h @$(C)/arith.h @$(C)/entries.h
  1668. $(CC) $(CFLAGS) \
  1669. @if(gcc)
  1670. -o @eval1.o \
  1671. @endif
  1672. @$(C)/eval1.c
  1673. @eval2.o: @$(C)/eval2.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
  1674. @$(C)/sys.h @$(C)/cslerror.h @$(C)/arith.h @$(C)/entries.h
  1675. $(CC) $(CFLAGS) \
  1676. @if(gcc)
  1677. -o @eval2.o \
  1678. @endif
  1679. @$(C)/eval2.c
  1680. @eval3.o: @$(C)/eval3.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
  1681. @$(C)/sys.h @$(C)/cslerror.h @$(C)/entries.h
  1682. $(CC) $(CFLAGS) \
  1683. @if(gcc)
  1684. -o @eval3.o \
  1685. @endif
  1686. @$(C)/eval3.c
  1687. @eval4.o: @$(C)/eval4.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
  1688. @$(C)/sys.h @$(C)/cslerror.h @$(C)/arith.h
  1689. $(CC) $(CFLAGS) \
  1690. @if(gcc)
  1691. -o @eval4.o \
  1692. @endif
  1693. @$(C)/eval4.c
  1694. @fasl.o: @$(C)/fasl.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
  1695. @$(C)/sys.h @$(C)/cslerror.h @$(C)/arith.h
  1696. $(CC) $(CFLAGS) \
  1697. @if(gcc)
  1698. -o @fasl.o \
  1699. @endif
  1700. @$(C)/fasl.c
  1701. @fns1.o: @$(C)/fns1.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
  1702. @$(C)/sys.h @$(C)/cslerror.h @$(C)/entries.h
  1703. $(CC) $(CFLAGS) \
  1704. @if(gcc)
  1705. -o @fns1.o \
  1706. @endif
  1707. @$(C)/fns1.c
  1708. @fns2.o: @$(C)/fns2.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
  1709. @$(C)/sys.h @$(C)/cslerror.h @$(C)/read.h @$(C)/entries.h \
  1710. @$(C)/sockhdr.h
  1711. $(CC) $(CFLAGS) \
  1712. @if(gcc)
  1713. -o @fns2.o \
  1714. @endif
  1715. @$(C)/fns2.c
  1716. @fns3.o: @$(C)/fns3.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
  1717. @$(C)/sys.h @$(C)/cslerror.h @$(C)/read.h @$(C)/entries.h
  1718. $(CC) $(CFLAGS) \
  1719. @if(gcc)
  1720. -o @fns3.o \
  1721. @endif
  1722. @$(C)/fns3.c
  1723. @gc.o: @$(C)/gc.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
  1724. @$(C)/sys.h @$(C)/cslerror.h
  1725. $(CC) $(CFLAGS) \
  1726. @if(gcc)
  1727. -o @gc.o \
  1728. @endif
  1729. @$(C)/gc.c
  1730. #
  1731. # For each major target I have one file that is system specific - eg
  1732. # sysdos.c, sysunix.c, ...
  1733. #
  1734. @$(SYS).o: @$(C)/$(SYS).c @$(C)/machine.h @$(C)/externs.h \
  1735. @$(C)/sys.h @$(C)/fileops.c @$(C)/scandir.c @$(C)/version.h \
  1736. @$(C)/filename.c
  1737. $(CC) $(CFLAGS) \
  1738. @if(gcc)
  1739. -o @$(SYS).o \
  1740. @endif
  1741. @$(C)/$(SYS).c
  1742. @preserve.o: @$(C)/preserve.c @$(C)/tags.h @$(C)/machine.h @$(C)/stream.h \
  1743. @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h @$(C)/read.h @$(C)/version.h
  1744. $(CC) $(CFLAGS) \
  1745. @if(gcc)
  1746. -o @preserve.o \
  1747. @endif
  1748. @$(C)/preserve.c
  1749. @print.o: @$(C)/print.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
  1750. @$(C)/sys.h @$(C)/cslerror.h @$(C)/read.h \
  1751. @$(C)/arith.h @$(C)/entries.h @$(C)/stream.h @$(C)/sockhdr.h
  1752. $(CC) $(CFLAGS) \
  1753. @if(gcc)
  1754. -o @print.o \
  1755. @endif
  1756. @$(C)/print.c
  1757. @read.o: @$(C)/read.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
  1758. @$(C)/sys.h @$(C)/cslerror.h @$(C)/read.h \
  1759. @$(C)/arith.h @$(C)/entries.h @$(C)/stream.h @$(C)/sockhdr.h
  1760. $(CC) $(CFLAGS) \
  1761. @if(gcc)
  1762. -o @read.o \
  1763. @endif
  1764. @$(C)/read.c
  1765. @restart.o: @$(C)/restart.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
  1766. @$(C)/sys.h @$(C)/cslerror.h @$(C)/read.h @$(C)/version.h \
  1767. @$(C)/arith.h @$(C)/entries.h @$(C)/stream.h
  1768. $(CC) $(CFLAGS) \
  1769. @if(gcc)
  1770. -o @restart.o \
  1771. @endif
  1772. @$(C)/restart.c
  1773. @stubs.o: @$(C)/stubs.c @$(C)/machine.h @$(C)/externs.h @$(C)/sys.h \
  1774. @$(C)/tags.h @$(C)/cslerror.h
  1775. $(CC) $(CFLAGS) \
  1776. @if(gcc)
  1777. -o @stubs.o \
  1778. @endif
  1779. @$(C)/stubs.c
  1780. @cslmpi.o: @$(C)/cslmpi.c @$(C)/machine.h @$(C)/externs.h @$(C)/sys.h \
  1781. @$(C)/mpipack.c @$(C)/tags.h @$(C)/cslerror.h
  1782. $(CC) $(CFLAGS) \
  1783. @if(gcc)
  1784. -o @cslmpi.o \
  1785. @endif
  1786. @$(C)/cslmpi.c
  1787. ###########################################################################
  1788. @u01.o: u01.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
  1789. @$(C)/cslerror.h @$(C)/entries.h
  1790. $(CC) $(CFLAGS) \
  1791. @if(gcc)
  1792. -o @u01.o \
  1793. @endif
  1794. u01.c
  1795. @u02.o: u02.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
  1796. @$(C)/cslerror.h @$(C)/entries.h
  1797. $(CC) $(CFLAGS) \
  1798. @if(gcc)
  1799. -o @u02.o \
  1800. @endif
  1801. u02.c
  1802. @u03.o: u03.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
  1803. @$(C)/cslerror.h @$(C)/entries.h
  1804. $(CC) $(CFLAGS) \
  1805. @if(gcc)
  1806. -o @u03.o \
  1807. @endif
  1808. u03.c
  1809. @u04.o: u04.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
  1810. @$(C)/cslerror.h @$(C)/entries.h
  1811. $(CC) $(CFLAGS) \
  1812. @if(gcc)
  1813. -o @u04.o \
  1814. @endif
  1815. u04.c
  1816. @u05.o: u05.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
  1817. @$(C)/cslerror.h @$(C)/entries.h
  1818. $(CC) $(CFLAGS) \
  1819. @if(gcc)
  1820. -o @u05.o \
  1821. @endif
  1822. u05.c
  1823. @u06.o: u06.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
  1824. @$(C)/cslerror.h @$(C)/entries.h
  1825. $(CC) $(CFLAGS) \
  1826. @if(gcc)
  1827. -o @u06.o \
  1828. @endif
  1829. u06.c
  1830. @u07.o: u07.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
  1831. @$(C)/cslerror.h @$(C)/entries.h
  1832. $(CC) $(CFLAGS) \
  1833. @if(gcc)
  1834. -o @u07.o \
  1835. @endif
  1836. u07.c
  1837. @u08.o: u08.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
  1838. @$(C)/cslerror.h @$(C)/entries.h
  1839. $(CC) $(CFLAGS) \
  1840. @if(gcc)
  1841. -o @u08.o \
  1842. @endif
  1843. u08.c
  1844. @u09.o: u09.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
  1845. @$(C)/cslerror.h @$(C)/entries.h
  1846. $(CC) $(CFLAGS) \
  1847. @if(gcc)
  1848. -o @u09.o \
  1849. @endif
  1850. u09.c
  1851. @u10.o: u10.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
  1852. @$(C)/cslerror.h @$(C)/entries.h
  1853. $(CC) $(CFLAGS) \
  1854. @if(gcc)
  1855. -o @u10.o \
  1856. @endif
  1857. u10.c
  1858. @u11.o: u11.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
  1859. @$(C)/cslerror.h @$(C)/entries.h
  1860. $(CC) $(CFLAGS) \
  1861. @if(gcc)
  1862. -o @u11.o \
  1863. @endif
  1864. u11.c
  1865. @u12.o: u12.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
  1866. @$(C)/cslerror.h @$(C)/entries.h
  1867. $(CC) $(CFLAGS) \
  1868. @if(gcc)
  1869. -o @u12.o \
  1870. @endif
  1871. u12.c
  1872. #
  1873. # "make ccode" re-manufactures u01.c to u12.c and u01.lsp to u12.lsp
  1874. # I do not put in dependencies that cause this to happen automatically
  1875. # since experience shows that if I did it would happen (at significant
  1876. # expense) much too often. However when things alter in the Reduce
  1877. # source directory or when major changes are made to CSL this should be
  1878. # activated.
  1879. #
  1880. #
  1881. # N.B. the step here used $(XSTORE) rather than $(STORE) because this
  1882. # build step may take more memory than any other.
  1883. #
  1884. ccode: @slowcsl.exe @slowr36.img $(SYMBOLIC)
  1885. $(WX) slowcsl $(XSTORE) -i @slowr36.img -v @../cslsrc/select36.red -- @select36.log
  1886. #
  1887. # Code to recreate the log files from the production version of the system.
  1888. #
  1889. # Note that for Windows benefit I use my own private output redirection with
  1890. # "--" rather than ">", since ">" seems incompatible with fully window
  1891. # applications, even when launched from the command line. Then to make this
  1892. # file consistent across platforms I use the same scheme all the time.
  1893. #
  1894. @log/algint.log: @r36.exe @r36.img @../xmpl/algint.tst
  1895. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=algint -Dloadup=algint -- @log/algint.log
  1896. @log/applysym.log: @r36.exe @r36.img @../xmpl/applysym.tst
  1897. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=applysym -Dloadup=applysym -- @log/applysym.log
  1898. @log/arnum.log: @r36.exe @r36.img @../xmpl/arnum.tst
  1899. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=arnum -Dloadup=arnum -- @log/arnum.log
  1900. @log/assist.log: @r36.exe @r36.img @../xmpl/assist.tst
  1901. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=assist -Dloadup=assist -- @log/assist.log
  1902. @log/avector.log: @r36.exe @r36.img @../xmpl/avector.tst
  1903. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=avector -Dloadup=avector -- @log/avector.log
  1904. @log/boolean.log: @r36.exe @r36.img @../xmpl/boolean.tst
  1905. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=boolean -Dloadup=boolean -- @log/boolean.log
  1906. @log/cali.log: @r36.exe @r36.img @../xmpl/cali.tst
  1907. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=cali -Dloadup=cali -- @log/cali.log
  1908. @log/camal.log: @r36.exe @r36.img @../xmpl/camal.tst
  1909. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=camal -Dloadup=camal -- @log/camal.log
  1910. @log/changevr.log: @r36.exe @r36.img @../xmpl/changevr.tst
  1911. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=changevr -Dloadup=changevr -- @log/changevr.log
  1912. @log/compact.log: @r36.exe @r36.img @../xmpl/compact.tst
  1913. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=compact -Dloadup=compact -- @log/compact.log
  1914. @log/complex.log: @r36.exe @r36.img @../xmpl/complex.tst
  1915. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=complex -- @log/complex.log
  1916. @log/crack.log: @r36.exe @r36.img @../xmpl/crack.tst
  1917. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=crack -Dloadup=crack -- @log/crack.log
  1918. @log/cvit.log: @r36.exe @r36.img @../xmpl/cvit.tst
  1919. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=cvit -Dloadup=cvit -- @log/cvit.log
  1920. @log/decompos.log: @r36.exe @r36.img @../xmpl/decompos.tst
  1921. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=decompos -- @log/decompos.log
  1922. @log/defint.log: @r36.exe @r36.img @../xmpl/defint.tst
  1923. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=defint -Dloadup=defint -- @log/defint.log
  1924. @log/desir.log: @r36.exe @r36.img @../xmpl/desir.tst
  1925. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=desir -Dloadup=desir -- @log/desir.log
  1926. @log/dfpart.log: @r36.exe @r36.img @../xmpl/dfpart.tst
  1927. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=dfpart -Dloadup=dfpart -- @log/dfpart.log
  1928. @log/dummy.log: @r36.exe @r36.img @../xmpl/dummy.tst
  1929. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=dummy -Dloadup=dummy -- @log/dummy.log
  1930. @log/elem.log: @r36.exe @r36.img @../xmpl/elem.tst
  1931. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=elem -- @log/elem.log
  1932. @log/excalc.log: @r36.exe @r36.img @../xmpl/excalc.tst
  1933. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=excalc -Dloadup=excalc -- @log/excalc.log
  1934. @log/factor.log: @r36.exe @r36.img @../xmpl/factor.tst
  1935. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=factor -- @log/factor.log
  1936. @log/fide.log: @r36.exe @r36.img @../xmpl/fide.tst
  1937. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=fide -Dloadup=fide -- @log/fide.log
  1938. @log/fps.log: @r36.exe @r36.img @../xmpl/fps.tst
  1939. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=fps -Dloadup=fps -- @log/fps.log
  1940. @log/gcd.log: @r36.exe @r36.img @../xmpl/gcd.tst
  1941. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=gcd -- @log/gcd.log
  1942. @log/gentran.log: @r36.exe @r36.img @../xmpl/gentran.tst
  1943. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=gentran -Dloadup=gentran -- @log/gentran.log
  1944. @log/groebner.log: @r36.exe @r36.img @../xmpl/groebner.tst
  1945. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=groebner -Dloadup=groebner -- @log/groebner.log
  1946. @log/ideals.log: @r36.exe @r36.img @../xmpl/ideals.tst
  1947. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=ideals -Dloadup=ideals -- @log/ideals.log
  1948. @log/ineq.log: @r36.exe @r36.img @../xmpl/ineq.tst
  1949. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=ineq -Dloadup=ineq -- @log/ineq.log
  1950. @log/int.log: @r36.exe @r36.img @../xmpl/int.tst
  1951. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=int -- @log/int.log
  1952. @log/invbase.log: @r36.exe @r36.img @../xmpl/invbase.tst
  1953. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=invbase -Dloadup=invbase -- @log/invbase.log
  1954. @log/laplace.log: @r36.exe @r36.img @../xmpl/laplace.tst
  1955. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=laplace -Dloadup=laplace -- @log/laplace.log
  1956. @log/lie.log: @r36.exe @r36.img @../xmpl/lie.tst
  1957. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=lie -Dloadup=lie -- @log/lie.log
  1958. @log/limits.log: @r36.exe @r36.img @../xmpl/limits.tst
  1959. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=limits -- @log/limits.log
  1960. @log/linalg.log: @r36.exe @r36.img @../xmpl/linalg.tst
  1961. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=linalg -Dloadup=linalg -- @log/linalg.log
  1962. @log/math.log: @r36.exe @r36.img @../xmpl/math.tst
  1963. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=math -- @log/math.log
  1964. @log/matrix.log: @r36.exe @r36.img @../xmpl/matrix.tst
  1965. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=matrix -- @log/matrix.log
  1966. @log/modsr.log: @r36.exe @r36.img @../xmpl/modsr.tst
  1967. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=modsr -Dloadup=modsr -- @log/modsr.log
  1968. @log/ncpoly.log: @r36.exe @r36.img @../xmpl/ncpoly.tst
  1969. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=ncpoly -Dloadup=ncpoly -- @log/ncpoly.log
  1970. @log/normform.log: @r36.exe @r36.img @../xmpl/normform.tst
  1971. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=normform -Dloadup=normform -- @log/normform.log
  1972. @log/numeric.log: @r36.exe @r36.img @../xmpl/numeric.tst
  1973. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=numeric -Dloadup=numeric -- @log/numeric.log
  1974. @log/odesolve.log: @r36.exe @r36.img @../xmpl/odesolve.tst
  1975. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=odesolve -Dloadup=odesolve -- @log/odesolve.log
  1976. @log/orthovec.log: @r36.exe @r36.img @../xmpl/orthovec.tst
  1977. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=orthovec -Dloadup=orthovec -- @log/orthovec.log
  1978. @log/pf.log: @r36.exe @r36.img @../xmpl/pf.tst
  1979. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=pf -- @log/pf.log
  1980. @log/physop.log: @r36.exe @r36.img @../xmpl/physop.tst
  1981. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=physop -Dloadup=physop -- @log/physop.log
  1982. @log/pmrules.log: @r36.exe @r36.img @../xmpl/pmrules.tst
  1983. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=pmrules -Dloadup=pmrules -- @log/pmrules.log
  1984. @log/randpoly.log: @r36.exe @r36.img @../xmpl/randpoly.tst
  1985. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=randpoly -Dloadup=randpoly -- @log/randpoly.log
  1986. @log/reacteqn.log: @r36.exe @r36.img @../xmpl/reacteqn.tst
  1987. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=reacteqn -Dloadup=reacteqn -- @log/reacteqn.log
  1988. @log/reduce.log: @r36.exe @r36.img @../xmpl/reduce.tst
  1989. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=reduce -- @log/reduce.log
  1990. @log/residue.log: @r36.exe @r36.img @../xmpl/residue.tst
  1991. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=residue -Dloadup=residue -- @log/residue.log
  1992. @log/rlfi.log: @r36.exe @r36.img @../xmpl/rlfi.tst
  1993. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=rlfi -Dloadup=rlfi -- @log/rlfi.log
  1994. @log/rlisp88.log: @r36.exe @r36.img @../xmpl/rlisp88.tst
  1995. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=rlisp88 -- @log/rlisp88.log
  1996. @log/roots.log: @r36.exe @r36.img @../xmpl/roots.tst
  1997. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=roots -- @log/roots.log
  1998. @log/rounded.log: @r36.exe @r36.img @../xmpl/rounded.tst
  1999. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=rounded -- @log/rounded.log
  2000. @log/rsolve.log: @r36.exe @r36.img @../xmpl/rsolve.tst
  2001. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=rsolve -Dloadup=rsolve -- @log/rsolve.log
  2002. @log/scope.log: @r36.exe @r36.img @../xmpl/scope.tst
  2003. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=scope -Dloadup=scope -- @log/scope.log
  2004. @log/sets.log: @r36.exe @r36.img @../xmpl/sets.tst
  2005. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=sets -Dloadup=sets -- @log/sets.log
  2006. @log/solve.log: @r36.exe @r36.img @../xmpl/solve.tst
  2007. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=solve -- @log/solve.log
  2008. @log/spde.log: @r36.exe @r36.img @../xmpl/spde.tst
  2009. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=spde -Dloadup=spde -- @log/spde.log
  2010. @log/specfn.log: @r36.exe @r36.img @../xmpl/specfn.tst
  2011. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=specfn -Dloadup=specfn -- @log/specfn.log
  2012. @log/sum.log: @r36.exe @r36.img @../xmpl/sum.tst
  2013. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=sum -- @log/sum.log
  2014. @log/symmetry.log: @r36.exe @r36.img @../xmpl/symmetry.tst
  2015. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=symmetry -Dloadup=symmetry -- @log/symmetry.log
  2016. @log/taylor.log: @r36.exe @r36.img @../xmpl/taylor.tst
  2017. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=taylor -Dloadup=taylor -- @log/taylor.log
  2018. @log/tps.log: @r36.exe @r36.img @../xmpl/tps.tst
  2019. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=tps -Dloadup=tps -- @log/tps.log
  2020. @log/tri.log: @r36.exe @r36.img @../xmpl/tri.tst
  2021. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=tri -Dloadup=tri -- @log/tri.log
  2022. @log/trigsimp.log: @r36.exe @r36.img @../xmpl/trigsimp.tst
  2023. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=trigsimp -Dloadup=trigsimp -- @log/trigsimp.log
  2024. @log/wu.log: @r36.exe @r36.img @../xmpl/wu.tst
  2025. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=wu -Dloadup=wu -- @log/wu.log
  2026. @log/xcolor.log: @r36.exe @r36.img @../xmpl/xcolor.tst
  2027. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=xcolor -Dloadup=xcolor -- @log/xcolor.log
  2028. @log/xideal.log: @r36.exe @r36.img @../xmpl/xideal.tst
  2029. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=xideal -Dloadup=xideal -- @log/xideal.log
  2030. @log/zeilberg.log: @r36.exe @r36.img @../xmpl/zeilberg.tst
  2031. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=zeilberg -Dloadup=zeilberg -- @log/zeilberg.log
  2032. @log/ztrans.log: @r36.exe @r36.img @../xmpl/ztrans.tst
  2033. $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=ztrans -Dloadup=ztrans -- @log/ztrans.log
  2034. # end of makefile
  2035.