Makefile.gcc.solaris64 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889
  1. From hearn@rand.org Sat Oct 30 11:44:17 1999
  2. Date: Fri, 29 Oct 1999 11:10:08 -0700
  3. From: Tony Hearn <hearn@rand.org>
  4. To: Arthur Norman <acn1@cam.ac.uk>
  5. Subject: gcc solaris64 makefile
  6. ###########################################################################
  7. # #
  8. # makefile for REDUCE 3.6 using CSL #
  9. # #
  10. ###########################################################################
  11. # The following lines indicates the place on your disc where the "cslbase"
  12. # directory exists. This is the place where the C sources files for CSL
  13. # live. There are two versions here, the first should use Unix-like
  14. # file name conventions (in particular "/" as a directory separator) while
  15. # the second will (in some cases) be a host-specific translation.
  16. UCSLBASE = ../cslbase
  17. CSLBASE = ../cslbase
  18. ###########################################################################
  19. # Sun SPARC, using GCC
  20. CC = gcc
  21. OPTFLAGS = -O3
  22. PROFFLAGS =
  23. SPARCFLAGS =
  24. SUNOSFLAGS =
  25. MPIFLAGS =
  26. CFLAGS = -ansi -c $(PROFFLAGS) $(OPTFLAGS) $(SPARCFLAGS) $(SUNOSFLAGS) -I$(CSLBASE) $(MPIFLAGS)
  27. SUNOSLIBS = -lsocket -lnsl
  28. SUNOSLIBS1 = -lm -lc
  29. LIBS = $(SUNOSLIBS) $(SUNOSLIBS1) -lcurses
  30. ###########################################################################
  31. ###########################################################################
  32. ###########################################################################
  33. SHELL = /bin/sh
  34. LINK = $(CC)
  35. LFLAGS =
  36. OUT = -o
  37. OUTOBJ = -o
  38. ASM = $(CC)
  39. ASMFLAGS = $(CFLAGS)
  40. ASMSRC =
  41. ASMOBJ =
  42. ASMOBJDEP = notused.obj
  43. SYS = sysunix
  44. STORE = -k8000
  45. XSTORE = -k8000
  46. RM = rm
  47. MKDIR = mkdir
  48. COPY = cp
  49. STRIP = strip
  50. WX =
  51. ###########################################################################
  52. ###########################################################################
  53. ###########################################################################
  54. # #
  55. # This is the main bulk of the "makefile" for building Reduce 3.6 and CSL #
  56. # on MSDOS, Windows and Unix. This part of the file expects a number of #
  57. # symbols to have been defined: #
  58. # #
  59. # CSLBASE = file-path for CSLBASE directory #
  60. # CC = The C compiler to use #
  61. # CFLAGS = Flags for C compiler when compiling CSL #
  62. # LINK = Linker to use #
  63. # LFLAGS = Flags for linker #
  64. # LIBS = Libraries to quote to linker #
  65. # OUT = "-o" or "-out:" See link commands #
  66. # OUTOBJ = "-o" often : where to put object code from C compilation #
  67. # ASM = The assembler to use #
  68. # ASMFLAGS = Flags for the assembler #
  69. # ASMSRC = Assembly code source file to use #
  70. # ASMOBJ = Object file for above (or NULL if no assembly used) #
  71. # ASMOBJDEP = Ditto, but may not be NULL #
  72. # SYS = name of system-specific file (sysdos or sysnt etc) #
  73. # STORE = Memory option to pass to CSL (-k2500 is minimum) #
  74. # XSTORE = Memory for the rebuild job that generates C code #
  75. # RM = del for DOS, = rm for Unix #
  76. # MKDIR = mkdir #
  77. # COPY = copy for DOS, = cp for Unix #
  78. # STRIP = echo for DOS, = strip for Unix #
  79. # SYMBOLIC = .SYMBOLIC is using Watcom's "make" utility #
  80. # WX = wx for Windows 3.1, null in all other cases #
  81. # #
  82. # The master version of this file is called "makebase" and is used to #
  83. # create both DOS and Unix makefiles. Use the Codemist "makemake" #
  84. # program to perform the conversion - eg #
  85. # makemake -f makebase -o makemake.386 watcom dos #
  86. # makemake -f makebase -o Makefile.sgi sgi #
  87. # Just "makemake -f makebase" gives list of systems supported #
  88. ###########################################################################
  89. ###########################################################################
  90. ###########################################################################
  91. ###########################################################################
  92. #
  93. # The main final target is r36.img, the image file for full REDUCE.
  94. # If you want to rebuild stage-by-stage (eg while testing), try the
  95. # sequence
  96. # make csl compiles and links C coded kernel
  97. # make csl.img builds compiler image on top of above
  98. # make slowr36.img makes bootstrap REDUCE
  99. # (roughly twice as slow as final one)
  100. # only used for system recompilation.
  101. # make ccode runs test file to collect statistics
  102. # and create files u*.c and u*.lsp
  103. # out of hot-spot parts of REDUCE. Note that
  104. # >>>>>>>>>>>>>>>>>>> this is not done automatically by the main
  105. # >>>> N. B. >>>> set of "make" dependences, since the
  106. # >>>>>>>>>>>>>>>>>>> files u*.* provided are probably OK - but
  107. # you need to do it again if the main REDUCE
  108. # sources are altered
  109. # make fasl36.img final compilation of most of REDUCE
  110. # make r36 build final executable binary
  111. # make r36.img build final image file
  112. # make testall runs test files, output to log directory
  113. #
  114. ###########################################################################
  115. ###########################################################################
  116. #
  117. # C is another name for CSLBASE, the directory that CSL source files live
  118. # in. I introduce it here mainly because $(C) is so much more compact
  119. # then $(CSLBASE).
  120. #
  121. C = $(CSLBASE)
  122. #
  123. # DOBJS is a list of all the object files that are common to all variants
  124. # on the system built here
  125. #
  126. DOBJS = arith01.o arith02.o arith03.o arith04.o \
  127. arith05.o arith06.o arith07.o arith08.o \
  128. arith09.o arith10.o arith11.o arith12.o \
  129. char.o csl.o cslmpi.o eval1.o eval2.o \
  130. eval3.o eval4.o fns1.o fns2.o fns3.o \
  131. print.o read.o restart.o $(ASMOBJ) \
  132. $(SYS).o
  133. CDOBJS = arith01.o,arith02.o,arith03.o,arith04.o,\
  134. arith05.o,arith06.o,arith07.o,arith08.o,\
  135. arith09.o,arith10.o,arith11.o,arith12.o,\
  136. char.o,csl.o,cslmpi.o,eval1.o,eval2.o,\
  137. eval3.o,eval4.o,fns1.o,fns2.o,fns3.o,\
  138. print.o,read.o,restart.o,$(ASMOBJ),\
  139. $(SYS).o
  140. #
  141. # OBJS adds in the files used when I am not building a demonstration-mode CSL
  142. #
  143. OBJS = $(DOBJS) fasl.o gc.o preserve.o
  144. COBJS = $(CDOBJS),fasl.o,gc.o,preserve.o
  145. #
  146. # UOBJS come from that code that is compiled from Lisp into C
  147. #
  148. UOBJS = u01.o u02.o u03.o u04.o u05.o \
  149. u06.o u07.o u08.o u09.o u10.o \
  150. u11.o u12.o
  151. CUOBJS = u01.o,u02.o,u03.o,u04.o,u05.o,\
  152. u06.o,u07.o,u08.o,u09.o,u10.o,\
  153. u11.o,u12.o
  154. ###########################################################################
  155. ###########################################################################
  156. #
  157. # "r36.img" is an image file for the main parts of Reduce
  158. r36.img: fasl36.img r36
  159. $(WX) r36 $(STORE) -v -z -i fasl36.img -o- ../cslsrc/r36.lsp -- r36.log
  160. -$(MKDIR) log
  161. # "make patches" can be used after the "src/patches.red" file has changed
  162. patches: ../src/patches.red $(SYMBOLIC)
  163. $(WX) r36 $(STORE) -v ../cslsrc/mkpatch.red -- mkpatch.log
  164. $(WX) r36 $(STORE) -v -i- -o fasl36.img ../cslsrc/mkpatch1.red -- mkpatch1.log
  165. $(WX) r36 $(STORE) -v -z -i fasl36.img -o- ../cslsrc/r36.lsp -- r36.log
  166. #
  167. # "make testall" tests the final production version of Reduce
  168. #
  169. testall: log/algint.log log/applysym.log log/arnum.log log/assist.log log/avector.log \
  170. log/boolean.log log/cali.log log/camal.log log/changevr.log \
  171. log/compact.log log/complex.log log/crack.log log/cvit.log \
  172. log/decompos.log log/defint.log log/desir.log log/dfpart.log \
  173. log/dummy.log log/elem.log log/excalc.log log/factor.log \
  174. log/fide.log log/fps.log log/gcd.log log/gentran.log \
  175. log/groebner.log log/ideals.log log/ineq.log log/int.log \
  176. log/invbase.log log/laplace.log log/lie.log log/limits.log \
  177. log/linalg.log log/math.log log/matrix.log log/modsr.log \
  178. log/ncpoly.log log/normform.log log/numeric.log log/odesolve.log \
  179. log/orthovec.log log/pf.log log/physop.log log/pmrules.log \
  180. log/randpoly.log log/reacteqn.log log/reduce.log log/residue.log log/rlfi.log \
  181. log/rlisp88.log log/roots.log log/rounded.log log/rsolve.log \
  182. log/scope.log log/sets.log log/solve.log log/spde.log \
  183. log/specfn.log log/sum.log log/symmetry.log log/taylor.log \
  184. log/tps.log log/tri.log log/trigsimp.log log/wu.log log/xcolor.log log/xideal.log \
  185. log/zeilberg.log log/ztrans.log $(SYMBOLIC)
  186. -echo all tests done
  187. ###########################################################################
  188. ###########################################################################
  189. #
  190. # The targets from here on down are used in the process of doing a full
  191. # system re-build
  192. # fasl36.img is a file needed during a re-build of Reduce. It contains
  193. # compiled versions of all the Reduce modules.
  194. fasl36.img: csl slowr36.img
  195. -$(RM) fasl36.img
  196. $(WX) csl $(STORE) -v -i slowr36.img -o fasl36.img \
  197. ../cslsrc/fasl36.red -- fasl36.log
  198. # "make personal" downgrades a full version of Reduce to make a"personal"
  199. # version (without the compiler).
  200. personal: r36 r36.img $(SYMBOLIC)
  201. $(COPY) r36 ../r36
  202. $(COPY) r36.img ../r36.img
  203. $(WX) ../r36 ../cslsrc/remcmp.lsp
  204. # "make rl" manufactures an image file that contains just an Rlisp parser
  205. rl: $(SYMBOLIC) rlisp rlisp.img
  206. rlisp: $(SYMBOLIC) csl
  207. $(COPY) csl rlisp
  208. rlisp.img: rlisp
  209. $(WX) rlisp $(STORE) -v -z -o rlisp.img \
  210. ../cslsrc/mkrlisp.lsp -D@cslbase="$(C)" -- rlisp.log
  211. #
  212. # r36 can only be built when all the user-generated C code has been
  213. # built.
  214. #
  215. r36: bytes.o $(OBJS) \
  216. $(UOBJS)
  217. $(LINK) $(LFLAGS) bytes.o $(OBJS) $(UOBJS) $(LIBS) $(OUT) r36 $(TAIL)
  218. $(STRIP) r36
  219. #
  220. # slowr36 is a version of Reduce used just to compile the final version.
  221. # It is larger and slower than the final release version, and will not have
  222. # all the optional modules built into it.
  223. #
  224. slowr36.img: csl ../cslsrc/slowr36.lsp ../src/boot.sl \
  225. ../src/cslprolo.red ../src/module.red \
  226. ../src/rlisp.red ../src/cslrend.red ../src/poly.red \
  227. ../src/alg.red ../src/arith.red ../src/mathpr.red \
  228. ../src/entry.red
  229. $(WX) csl $(STORE) -o slowr36.img -v -z \
  230. ../cslsrc/slowr36.lsp -D@cslbase="$(C)" -- slowr36.log
  231. #
  232. # A few targets here may help me tidy up my filespace from time to time
  233. #
  234. cleansmall: $(SYMBOLIC)
  235. -$(RM) slowr36.img
  236. clean: $(SYMBOLIC)
  237. -$(RM) slowr36.img
  238. -$(RM) r36
  239. -$(RM) fasl36.img
  240. -$(RM) r36.img
  241. #
  242. # demored is a demonstration version of Reduce with built-in resource
  243. # limitations.
  244. #
  245. demored: csl slowr36.img bytes.o $(DOBJS) $(SYMBOLIC) \
  246. stubs.o
  247. $(CC) $(CFLAGS) $(C)/demo.c
  248. $(LINK) $(LFLAGS) bytes.o $(DOBJS) stubs.obj demo.o $(LIBS) $(OUT) demored $(TAIL)
  249. $(STRIP) demored
  250. -$(RM) demored.img
  251. $(WX) csl $(STORE) -i slowr36.img -v -z -i fasl36.img \
  252. -o demored.img ../cslsrc/makedemo.lsp -- makedemo.log
  253. ###########################################################################
  254. csl.img: csl $(C)/compat.lsp $(C)/compiler.lsp \
  255. $(C)/ccomp.lsp $(C)/extras.lsp
  256. -$(RM) csl.img
  257. $(WX) csl $(STORE) -v -z $(C)/build0.lsp \
  258. -D@cslbase="$(C)" -- cslimg.log
  259. csl: bytes.o $(OBJS) \
  260. stubs.o
  261. $(LINK) $(LFLAGS) bytes.o $(OBJS) stubs.o $(LIBS) $(OUT) csl $(TAIL)
  262. $(STRIP) csl
  263. slowcsl: bytes1.o $(OBJS) \
  264. stubs.o
  265. $(LINK) $(LFLAGS) bytes1.o $(OBJS) stubs.o $(LIBS) $(OUT) slowcsl $(TAIL)
  266. $(STRIP) slowcsl
  267. #
  268. # "make lispfile"
  269. # recreates compiler.lsp, extras.lsp and ccomp.lsp from
  270. # the corresponding master sources which are held in RLISP
  271. # form. Temporarily builds an RLISP parser on the way.
  272. lispfile: csl csl.img $(C)/lispfile.lsp $(SYMBOLIC)
  273. $(WX) csl $(STORE) -v -z $(C)/lispfile.lsp \
  274. -D@cslbase="$(C)" -- lispfile.log
  275. signature: $(C)/version.hhh register.key $(SYMBOLIC)
  276. filesign -u $(C)/version.hhh $(C)/version.h Developer or tester
  277. #
  278. # Now rules for re-compiling the main collection of CSL source files. I
  279. # write each case out individually since that makes the makefile less
  280. # delicate than one that relies on setting up general rules - and I want this
  281. # file to work on several different systems.
  282. #
  283. $(ASMOBJDEP): $(C)/$(ASMSRC)
  284. $(ASM) $(ASMFLAGS) -o $(ASMOBJ).o $(C)/$(ASMSRC)
  285. arith01.o: $(C)/arith01.c $(C)/arith.h $(C)/tags.h $(C)/machine.h \
  286. $(C)/externs.h $(C)/sys.h $(C)/cslerror.h
  287. $(CC) $(CFLAGS) \
  288. -o arith01.o \
  289. $(C)/arith01.c
  290. arith02.o: $(C)/arith02.c $(C)/arith.h $(C)/tags.h $(C)/machine.h \
  291. $(C)/externs.h $(C)/sys.h $(C)/cslerror.h
  292. $(CC) $(CFLAGS) \
  293. -o arith02.o \
  294. $(C)/arith02.c
  295. arith03.o: $(C)/arith03.c $(C)/arith.h $(C)/tags.h $(C)/machine.h \
  296. $(C)/externs.h $(C)/sys.h $(C)/cslerror.h
  297. $(CC) $(CFLAGS) \
  298. -o arith03.o \
  299. $(C)/arith03.c
  300. arith04.o: $(C)/arith04.c $(C)/arith.h $(C)/tags.h $(C)/machine.h \
  301. $(C)/externs.h $(C)/sys.h $(C)/cslerror.h
  302. $(CC) $(CFLAGS) \
  303. -o arith04.o \
  304. $(C)/arith04.c
  305. arith05.o: $(C)/arith05.c $(C)/arith.h $(C)/tags.h $(C)/machine.h \
  306. $(C)/externs.h $(C)/sys.h $(C)/cslerror.h $(C)/stream.h
  307. $(CC) $(CFLAGS) \
  308. -o arith05.o \
  309. $(C)/arith05.c
  310. arith06.o: $(C)/arith06.c $(C)/arith.h $(C)/tags.h $(C)/machine.h \
  311. $(C)/externs.h $(C)/sys.h $(C)/cslerror.h $(C)/entries.h
  312. $(CC) $(CFLAGS) \
  313. -o arith06.o \
  314. $(C)/arith06.c
  315. arith07.o: $(C)/arith07.c $(C)/arith.h $(C)/tags.h $(C)/machine.h \
  316. $(C)/externs.h $(C)/sys.h $(C)/cslerror.h
  317. $(CC) $(CFLAGS) \
  318. -o arith07.o \
  319. $(C)/arith07.c
  320. arith08.o: $(C)/arith08.c $(C)/arith.h $(C)/tags.h $(C)/machine.h \
  321. $(C)/externs.h $(C)/sys.h $(C)/cslerror.h $(C)/entries.h
  322. $(CC) $(CFLAGS) \
  323. -o arith08.o \
  324. $(C)/arith08.c
  325. arith09.o: $(C)/arith09.c $(C)/arith.h $(C)/tags.h $(C)/machine.h \
  326. $(C)/externs.h $(C)/sys.h $(C)/cslerror.h
  327. $(CC) $(CFLAGS) \
  328. -o arith09.o \
  329. $(C)/arith09.c
  330. arith10.o: $(C)/arith10.c $(C)/arith.h $(C)/tags.h $(C)/machine.h \
  331. $(C)/externs.h $(C)/sys.h $(C)/cslerror.h $(C)/entries.h
  332. $(CC) $(CFLAGS) \
  333. -o arith10.o \
  334. $(C)/arith10.c
  335. arith11.o: $(C)/arith11.c $(C)/arith.h $(C)/tags.h $(C)/machine.h \
  336. $(C)/externs.h $(C)/sys.h $(C)/cslerror.h
  337. $(CC) $(CFLAGS) \
  338. -o arith11.o \
  339. $(C)/arith11.c
  340. arith12.o: $(C)/arith12.c $(C)/arith.h $(C)/tags.h $(C)/machine.h \
  341. $(C)/externs.h $(C)/sys.h $(C)/cslerror.h $(C)/entries.h
  342. $(CC) $(CFLAGS) \
  343. -o arith12.o \
  344. $(C)/arith12.c
  345. bytes.o: $(C)/bytes1.c $(C)/bytes.c $(C)/tags.h $(C)/machine.h \
  346. $(C)/externs.h $(C)/sys.h $(C)/cslerror.h \
  347. $(C)/bytes.h $(C)/arith.h
  348. $(CC) $(CFLAGS) \
  349. -o bytes.o \
  350. $(C)/bytes.c
  351. bytes1.o: $(C)/bytes1.c $(C)/bytes.c $(C)/tags.h $(C)/machine.h \
  352. $(C)/externs.h $(C)/sys.h $(C)/cslerror.h \
  353. $(C)/bytes.h $(C)/arith.h
  354. $(CC) $(CFLAGS) \
  355. -o bytes1.o \
  356. $(C)/bytes1.c
  357. #
  358. # The target "bytes1a.o" recompiles bytes1.c, but with the flag set that
  359. # arranges that the number of GET operations performed and the associated
  360. # indicators will be recorded, so that (bytecounts) will display statistics
  361. # about it. This slows things down considerably, but can help when you are in
  362. # the process of deciding which indicators are specified as "fast" ones.
  363. #
  364. bytes1a.o: $(C)/bytes1.c $(C)/bytes.c $(C)/tags.h $(C)/machine.h \
  365. $(C)/externs.h $(C)/sys.h $(C)/cslerror.h \
  366. $(C)/bytes.h $(C)/arith.h
  367. $(CC) $(CFLAGS) -DRECORD_GET=1 \
  368. -o bytes1.o \
  369. $(C)/bytes1.c
  370. char.o: $(C)/char.c $(C)/tags.h $(C)/machine.h $(C)/externs.h \
  371. $(C)/sys.h $(C)/cslerror.h $(C)/entries.h
  372. $(CC) $(CFLAGS) \
  373. -o char.o \
  374. $(C)/char.c
  375. csl.o: $(C)/csl.c $(C)/tags.h $(C)/machine.h $(C)/externs.h $(C)/version.h \
  376. $(C)/sys.h $(C)/cslerror.h $(C)/entries.h $(C)/stream.h $(C)/sockhdr.h
  377. $(CC) $(CFLAGS) \
  378. -o csl.o \
  379. $(C)/csl.c
  380. eval1.o: $(C)/eval1.c $(C)/tags.h $(C)/machine.h $(C)/externs.h \
  381. $(C)/sys.h $(C)/cslerror.h $(C)/arith.h $(C)/entries.h
  382. $(CC) $(CFLAGS) \
  383. -o eval1.o \
  384. $(C)/eval1.c
  385. eval2.o: $(C)/eval2.c $(C)/tags.h $(C)/machine.h $(C)/externs.h \
  386. $(C)/sys.h $(C)/cslerror.h $(C)/arith.h $(C)/entries.h
  387. $(CC) $(CFLAGS) \
  388. -o eval2.o \
  389. $(C)/eval2.c
  390. eval3.o: $(C)/eval3.c $(C)/tags.h $(C)/machine.h $(C)/externs.h \
  391. $(C)/sys.h $(C)/cslerror.h $(C)/entries.h
  392. $(CC) $(CFLAGS) \
  393. -o eval3.o \
  394. $(C)/eval3.c
  395. eval4.o: $(C)/eval4.c $(C)/tags.h $(C)/machine.h $(C)/externs.h \
  396. $(C)/sys.h $(C)/cslerror.h $(C)/arith.h
  397. $(CC) $(CFLAGS) \
  398. -o eval4.o \
  399. $(C)/eval4.c
  400. fasl.o: $(C)/fasl.c $(C)/tags.h $(C)/machine.h $(C)/externs.h \
  401. $(C)/sys.h $(C)/cslerror.h $(C)/arith.h
  402. $(CC) $(CFLAGS) \
  403. -o fasl.o \
  404. $(C)/fasl.c
  405. fns1.o: $(C)/fns1.c $(C)/tags.h $(C)/machine.h $(C)/externs.h \
  406. $(C)/sys.h $(C)/cslerror.h $(C)/entries.h
  407. $(CC) $(CFLAGS) \
  408. -o fns1.o \
  409. $(C)/fns1.c
  410. fns2.o: $(C)/fns2.c $(C)/tags.h $(C)/machine.h $(C)/externs.h \
  411. $(C)/sys.h $(C)/cslerror.h $(C)/read.h $(C)/entries.h \
  412. $(C)/sockhdr.h
  413. $(CC) $(CFLAGS) \
  414. -o fns2.o \
  415. $(C)/fns2.c
  416. fns3.o: $(C)/fns3.c $(C)/tags.h $(C)/machine.h $(C)/externs.h \
  417. $(C)/sys.h $(C)/cslerror.h $(C)/read.h $(C)/entries.h
  418. $(CC) $(CFLAGS) \
  419. -o fns3.o \
  420. $(C)/fns3.c
  421. gc.o: $(C)/gc.c $(C)/tags.h $(C)/machine.h $(C)/externs.h \
  422. $(C)/sys.h $(C)/cslerror.h
  423. $(CC) $(CFLAGS) \
  424. -o gc.o \
  425. $(C)/gc.c
  426. #
  427. # For each major target I have one file that is system specific - eg
  428. # sysdos.c, sysunix.c, ...
  429. #
  430. $(SYS).o: $(C)/$(SYS).c $(C)/machine.h $(C)/externs.h \
  431. $(C)/sys.h $(C)/fileops.c $(C)/scandir.c $(C)/version.h \
  432. $(C)/filename.c
  433. $(CC) $(CFLAGS) \
  434. -o $(SYS).o \
  435. $(C)/$(SYS).c
  436. preserve.o: $(C)/preserve.c $(C)/tags.h $(C)/machine.h $(C)/stream.h \
  437. $(C)/externs.h $(C)/sys.h $(C)/cslerror.h $(C)/read.h $(C)/version.h
  438. $(CC) $(CFLAGS) \
  439. -o preserve.o \
  440. $(C)/preserve.c
  441. print.o: $(C)/print.c $(C)/tags.h $(C)/machine.h $(C)/externs.h \
  442. $(C)/sys.h $(C)/cslerror.h $(C)/read.h \
  443. $(C)/arith.h $(C)/entries.h $(C)/stream.h $(C)/sockhdr.h
  444. $(CC) $(CFLAGS) \
  445. -o print.o \
  446. $(C)/print.c
  447. read.o: $(C)/read.c $(C)/tags.h $(C)/machine.h $(C)/externs.h \
  448. $(C)/sys.h $(C)/cslerror.h $(C)/read.h \
  449. $(C)/arith.h $(C)/entries.h $(C)/stream.h $(C)/sockhdr.h
  450. $(CC) $(CFLAGS) \
  451. -o read.o \
  452. $(C)/read.c
  453. restart.o: $(C)/restart.c $(C)/tags.h $(C)/machine.h $(C)/externs.h \
  454. $(C)/sys.h $(C)/cslerror.h $(C)/read.h $(C)/version.h \
  455. $(C)/arith.h $(C)/entries.h $(C)/stream.h
  456. $(CC) $(CFLAGS) \
  457. -o restart.o \
  458. $(C)/restart.c
  459. stubs.o: $(C)/stubs.c $(C)/machine.h $(C)/externs.h $(C)/sys.h \
  460. $(C)/tags.h $(C)/cslerror.h
  461. $(CC) $(CFLAGS) \
  462. -o stubs.o \
  463. $(C)/stubs.c
  464. cslmpi.o: $(C)/cslmpi.c $(C)/machine.h $(C)/externs.h $(C)/sys.h \
  465. $(C)/mpipack.c $(C)/tags.h $(C)/cslerror.h
  466. $(CC) $(CFLAGS) \
  467. -o cslmpi.o \
  468. $(C)/cslmpi.c
  469. ###########################################################################
  470. u01.o: u01.c $(C)/tags.h $(C)/machine.h $(C)/externs.h \
  471. $(C)/cslerror.h $(C)/entries.h
  472. $(CC) $(CFLAGS) \
  473. -o u01.o \
  474. u01.c
  475. u02.o: u02.c $(C)/tags.h $(C)/machine.h $(C)/externs.h \
  476. $(C)/cslerror.h $(C)/entries.h
  477. $(CC) $(CFLAGS) \
  478. -o u02.o \
  479. u02.c
  480. u03.o: u03.c $(C)/tags.h $(C)/machine.h $(C)/externs.h \
  481. $(C)/cslerror.h $(C)/entries.h
  482. $(CC) $(CFLAGS) \
  483. -o u03.o \
  484. u03.c
  485. u04.o: u04.c $(C)/tags.h $(C)/machine.h $(C)/externs.h \
  486. $(C)/cslerror.h $(C)/entries.h
  487. $(CC) $(CFLAGS) \
  488. -o u04.o \
  489. u04.c
  490. u05.o: u05.c $(C)/tags.h $(C)/machine.h $(C)/externs.h \
  491. $(C)/cslerror.h $(C)/entries.h
  492. $(CC) $(CFLAGS) \
  493. -o u05.o \
  494. u05.c
  495. u06.o: u06.c $(C)/tags.h $(C)/machine.h $(C)/externs.h \
  496. $(C)/cslerror.h $(C)/entries.h
  497. $(CC) $(CFLAGS) \
  498. -o u06.o \
  499. u06.c
  500. u07.o: u07.c $(C)/tags.h $(C)/machine.h $(C)/externs.h \
  501. $(C)/cslerror.h $(C)/entries.h
  502. $(CC) $(CFLAGS) \
  503. -o u07.o \
  504. u07.c
  505. u08.o: u08.c $(C)/tags.h $(C)/machine.h $(C)/externs.h \
  506. $(C)/cslerror.h $(C)/entries.h
  507. $(CC) $(CFLAGS) \
  508. -o u08.o \
  509. u08.c
  510. u09.o: u09.c $(C)/tags.h $(C)/machine.h $(C)/externs.h \
  511. $(C)/cslerror.h $(C)/entries.h
  512. $(CC) $(CFLAGS) \
  513. -o u09.o \
  514. u09.c
  515. u10.o: u10.c $(C)/tags.h $(C)/machine.h $(C)/externs.h \
  516. $(C)/cslerror.h $(C)/entries.h
  517. $(CC) $(CFLAGS) \
  518. -o u10.o \
  519. u10.c
  520. u11.o: u11.c $(C)/tags.h $(C)/machine.h $(C)/externs.h \
  521. $(C)/cslerror.h $(C)/entries.h
  522. $(CC) $(CFLAGS) \
  523. -o u11.o \
  524. u11.c
  525. u12.o: u12.c $(C)/tags.h $(C)/machine.h $(C)/externs.h \
  526. $(C)/cslerror.h $(C)/entries.h
  527. $(CC) $(CFLAGS) \
  528. -o u12.o \
  529. u12.c
  530. #
  531. # "make ccode" re-manufactures u01.c to u12.c and u01.lsp to u12.lsp
  532. # I do not put in dependencies that cause this to happen automatically
  533. # since experience shows that if I did it would happen (at significant
  534. # expense) much too often. However when things alter in the Reduce
  535. # source directory or when major changes are made to CSL this should be
  536. # activated.
  537. #
  538. #
  539. # N.B. the step here used $(XSTORE) rather than $(STORE) because this
  540. # build step may take more memory than any other.
  541. #
  542. ccode: slowcsl slowr36.img $(SYMBOLIC)
  543. $(WX) slowcsl $(XSTORE) -i slowr36.img -v ../cslsrc/select36.red -- select36.log
  544. #
  545. # Code to recreate the log files from the production version of the system.
  546. #
  547. # Note that for Windows benefit I use my own private output redirection with
  548. # "--" rather than ">", since ">" seems incompatible with fully window
  549. # applications, even when launched from the command line. Then to make this
  550. # file consistent across platforms I use the same scheme all the time.
  551. #
  552. log/algint.log: r36 r36.img ../xmpl/algint.tst
  553. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=algint -Dloadup=algint -- log/algint.log
  554. log/applysym.log: r36 r36.img ../xmpl/applysym.tst
  555. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=applysym -Dloadup=applysym -- log/applysym.log
  556. log/arnum.log: r36 r36.img ../xmpl/arnum.tst
  557. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=arnum -Dloadup=arnum -- log/arnum.log
  558. log/assist.log: r36 r36.img ../xmpl/assist.tst
  559. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=assist -Dloadup=assist -- log/assist.log
  560. log/avector.log: r36 r36.img ../xmpl/avector.tst
  561. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=avector -Dloadup=avector -- log/avector.log
  562. log/boolean.log: r36 r36.img ../xmpl/boolean.tst
  563. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=boolean -Dloadup=boolean -- log/boolean.log
  564. log/cali.log: r36 r36.img ../xmpl/cali.tst
  565. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=cali -Dloadup=cali -- log/cali.log
  566. log/camal.log: r36 r36.img ../xmpl/camal.tst
  567. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=camal -Dloadup=camal -- log/camal.log
  568. log/changevr.log: r36 r36.img ../xmpl/changevr.tst
  569. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=changevr -Dloadup=changevr -- log/changevr.log
  570. log/compact.log: r36 r36.img ../xmpl/compact.tst
  571. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=compact -Dloadup=compact -- log/compact.log
  572. log/complex.log: r36 r36.img ../xmpl/complex.tst
  573. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=complex -- log/complex.log
  574. log/crack.log: r36 r36.img ../xmpl/crack.tst
  575. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=crack -Dloadup=crack -- log/crack.log
  576. log/cvit.log: r36 r36.img ../xmpl/cvit.tst
  577. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=cvit -Dloadup=cvit -- log/cvit.log
  578. log/decompos.log: r36 r36.img ../xmpl/decompos.tst
  579. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=decompos -- log/decompos.log
  580. log/defint.log: r36 r36.img ../xmpl/defint.tst
  581. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=defint -Dloadup=defint -- log/defint.log
  582. log/desir.log: r36 r36.img ../xmpl/desir.tst
  583. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=desir -Dloadup=desir -- log/desir.log
  584. log/dfpart.log: r36 r36.img ../xmpl/dfpart.tst
  585. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=dfpart -Dloadup=dfpart -- log/dfpart.log
  586. log/dummy.log: r36 r36.img ../xmpl/dummy.tst
  587. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=dummy -Dloadup=dummy -- log/dummy.log
  588. log/elem.log: r36 r36.img ../xmpl/elem.tst
  589. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=elem -- log/elem.log
  590. log/excalc.log: r36 r36.img ../xmpl/excalc.tst
  591. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=excalc -Dloadup=excalc -- log/excalc.log
  592. log/factor.log: r36 r36.img ../xmpl/factor.tst
  593. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=factor -- log/factor.log
  594. log/fide.log: r36 r36.img ../xmpl/fide.tst
  595. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=fide -Dloadup=fide -- log/fide.log
  596. log/fps.log: r36 r36.img ../xmpl/fps.tst
  597. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=fps -Dloadup=fps -- log/fps.log
  598. log/gcd.log: r36 r36.img ../xmpl/gcd.tst
  599. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=gcd -- log/gcd.log
  600. log/gentran.log: r36 r36.img ../xmpl/gentran.tst
  601. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=gentran -Dloadup=gentran -- log/gentran.log
  602. log/groebner.log: r36 r36.img ../xmpl/groebner.tst
  603. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=groebner -Dloadup=groebner -- log/groebner.log
  604. log/ideals.log: r36 r36.img ../xmpl/ideals.tst
  605. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=ideals -Dloadup=ideals -- log/ideals.log
  606. log/ineq.log: r36 r36.img ../xmpl/ineq.tst
  607. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=ineq -Dloadup=ineq -- log/ineq.log
  608. log/int.log: r36 r36.img ../xmpl/int.tst
  609. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=int -- log/int.log
  610. log/invbase.log: r36 r36.img ../xmpl/invbase.tst
  611. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=invbase -Dloadup=invbase -- log/invbase.log
  612. log/laplace.log: r36 r36.img ../xmpl/laplace.tst
  613. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=laplace -Dloadup=laplace -- log/laplace.log
  614. log/lie.log: r36 r36.img ../xmpl/lie.tst
  615. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=lie -Dloadup=lie -- log/lie.log
  616. log/limits.log: r36 r36.img ../xmpl/limits.tst
  617. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=limits -- log/limits.log
  618. log/linalg.log: r36 r36.img ../xmpl/linalg.tst
  619. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=linalg -Dloadup=linalg -- log/linalg.log
  620. log/math.log: r36 r36.img ../xmpl/math.tst
  621. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=math -- log/math.log
  622. log/matrix.log: r36 r36.img ../xmpl/matrix.tst
  623. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=matrix -- log/matrix.log
  624. log/modsr.log: r36 r36.img ../xmpl/modsr.tst
  625. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=modsr -Dloadup=modsr -- log/modsr.log
  626. log/ncpoly.log: r36 r36.img ../xmpl/ncpoly.tst
  627. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=ncpoly -Dloadup=ncpoly -- log/ncpoly.log
  628. log/normform.log: r36 r36.img ../xmpl/normform.tst
  629. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=normform -Dloadup=normform -- log/normform.log
  630. log/numeric.log: r36 r36.img ../xmpl/numeric.tst
  631. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=numeric -Dloadup=numeric -- log/numeric.log
  632. log/odesolve.log: r36 r36.img ../xmpl/odesolve.tst
  633. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=odesolve -Dloadup=odesolve -- log/odesolve.log
  634. log/orthovec.log: r36 r36.img ../xmpl/orthovec.tst
  635. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=orthovec -Dloadup=orthovec -- log/orthovec.log
  636. log/pf.log: r36 r36.img ../xmpl/pf.tst
  637. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=pf -- log/pf.log
  638. log/physop.log: r36 r36.img ../xmpl/physop.tst
  639. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=physop -Dloadup=physop -- log/physop.log
  640. log/pmrules.log: r36 r36.img ../xmpl/pmrules.tst
  641. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=pmrules -Dloadup=pmrules -- log/pmrules.log
  642. log/randpoly.log: r36 r36.img ../xmpl/randpoly.tst
  643. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=randpoly -Dloadup=randpoly -- log/randpoly.log
  644. log/reacteqn.log: r36 r36.img ../xmpl/reacteqn.tst
  645. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=reacteqn -Dloadup=reacteqn -- log/reacteqn.log
  646. log/reduce.log: r36 r36.img ../xmpl/reduce.tst
  647. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=reduce -- log/reduce.log
  648. log/residue.log: r36 r36.img ../xmpl/residue.tst
  649. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=residue -Dloadup=residue -- log/residue.log
  650. log/rlfi.log: r36 r36.img ../xmpl/rlfi.tst
  651. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=rlfi -Dloadup=rlfi -- log/rlfi.log
  652. log/rlisp88.log: r36 r36.img ../xmpl/rlisp88.tst
  653. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=rlisp88 -- log/rlisp88.log
  654. log/roots.log: r36 r36.img ../xmpl/roots.tst
  655. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=roots -- log/roots.log
  656. log/rounded.log: r36 r36.img ../xmpl/rounded.tst
  657. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=rounded -- log/rounded.log
  658. log/rsolve.log: r36 r36.img ../xmpl/rsolve.tst
  659. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=rsolve -Dloadup=rsolve -- log/rsolve.log
  660. log/scope.log: r36 r36.img ../xmpl/scope.tst
  661. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=scope -Dloadup=scope -- log/scope.log
  662. log/sets.log: r36 r36.img ../xmpl/sets.tst
  663. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=sets -Dloadup=sets -- log/sets.log
  664. log/solve.log: r36 r36.img ../xmpl/solve.tst
  665. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=solve -- log/solve.log
  666. log/spde.log: r36 r36.img ../xmpl/spde.tst
  667. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=spde -Dloadup=spde -- log/spde.log
  668. log/specfn.log: r36 r36.img ../xmpl/specfn.tst
  669. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=specfn -Dloadup=specfn -- log/specfn.log
  670. log/sum.log: r36 r36.img ../xmpl/sum.tst
  671. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=sum -- log/sum.log
  672. log/symmetry.log: r36 r36.img ../xmpl/symmetry.tst
  673. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=symmetry -Dloadup=symmetry -- log/symmetry.log
  674. log/taylor.log: r36 r36.img ../xmpl/taylor.tst
  675. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=taylor -Dloadup=taylor -- log/taylor.log
  676. log/tps.log: r36 r36.img ../xmpl/tps.tst
  677. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=tps -Dloadup=tps -- log/tps.log
  678. log/tri.log: r36 r36.img ../xmpl/tri.tst
  679. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=tri -Dloadup=tri -- log/tri.log
  680. log/trigsimp.log: r36 r36.img ../xmpl/trigsimp.tst
  681. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=trigsimp -Dloadup=trigsimp -- log/trigsimp.log
  682. log/wu.log: r36 r36.img ../xmpl/wu.tst
  683. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=wu -Dloadup=wu -- log/wu.log
  684. log/xcolor.log: r36 r36.img ../xmpl/xcolor.tst
  685. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=xcolor -Dloadup=xcolor -- log/xcolor.log
  686. log/xideal.log: r36 r36.img ../xmpl/xideal.tst
  687. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=xideal -Dloadup=xideal -- log/xideal.log
  688. log/zeilberg.log: r36 r36.img ../xmpl/zeilberg.tst
  689. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=zeilberg -Dloadup=zeilberg -- log/zeilberg.log
  690. log/ztrans.log: r36 r36.img ../xmpl/ztrans.tst
  691. $(WX) r36 $(STORE) -b ../cslsrc/ndotest.red -Dname=ztrans -Dloadup=ztrans -- log/ztrans.log
  692. # end of makefile