makebase 62 KB

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