123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304 |
- @
- @ Reduce 3.6 "makebase". Copyright (C) 1995-7, Codemist Ltd
- @
- @
- @ This data file is used to create the makefile for REDUCE 3.6 based on
- @ CSL. It is processed by the Codemist "makemake" utility, which should
- @ be called as
- @ makemake cpu opsys compiler debug -f <this-file> -o <destination>
- @ where cpu, opsys, compiler and debug are options taken from the menu
- @ given below.
- @
- @
- @ The following apply at the start of lines...
- @ "@ " introduces a comment (note the blank after the "@")
- @ "@set(word) sets a new keyword as if it had been defined.
- @ "@if" etc conditional inclusion within generated file.
- @ "@error" marks trouble
- @
- @ Through the bulk of a file (even in the middle of lines) the following
- @ are converted:
- @
- @ "@@" expands to a single "@"
- @ "@~" expands to blank if "blank" has been set, or to nothing
- @ "@"" expands to " or \" depending on "quote" (needed for
- @ the Unix shell, in places).
- @ "@" marks the start of a file-name, which is written in the
- @ master file using "/" as a directory separator, but
- @ DOS-like extensions .exe and Unix like .o
- @ "@?" queries the user for a value
- @ "@!" re-uses input from previous "@!" but maps input as filename
- @ "\" at the end of a line is a "make" continuation marker,
- @ interpreted as & if "watcom" is set.
- @
- @menu
- @
- @ First I will have a list of the target architectures that are supported
- @
- @item(acorn>machine_known) Acorn Archimedes/RISC-PC
- @item(80x86>machine_known) 80386, 80486, Pentium
- @item(sparc>machine_known) Sparc
- @item(ultrasparc>sparc>machine_known) any Sparc with 64-bit support
- @item(hp9000>machine_known) Hewlett Packard PA systems
- @item(apollo>machine_known) Apollo Domain
- @item(sgi>machine_known) Silicon Graphics Indi and compatibles
- @item(clipper>machine_known) Intergraph Clipper
- @item(88000>machine_known) Motorola 88000
- @item(alpha>machine_known) DEC Alpha
- @item(sr2201>machine_known) Hitachi SR2201 supercomputer
- @
- @ Next the associated operating systems
- @
- @item(riscos>os_known) Acorn's RISC-OS operating system
- @item(unix>os_known) Unix (BSD, SYS-V, OSF etc)
- @item(solaris>unix>os_known) Sun Solaris
- @item(sunos>unix>os_known) Sun's older operating system
- @item(linux>unix>os_known) Linux
- @item(dos>os_known) DOS with suitable extender
- @item(win95>os_known) Windows 95, win32s, win32
- @item(win32>winnt>os_known) Windows 95, win32s, win32
- @item(winnt>os_known) Windows NT in case I want that specifically (not 95)
- @item(cygwin>gcc>os_known) Cygwin environment, using bash and gcc
- @item(next>os_known) NeXT
- @
- @ Select a C compiler from the following list
- @
- @item(gcc>compiler_known) The GNU C compiler
- @item(cc>compiler_known) default Unix C compiler
- @item(microsoft>compiler_known>backslash) Microsoft Visual C++, version 5.0
- @item(borland>compiler_known>backslash) Borland C/C++ version 4.0 etc
- @item(watcom>compiler_known>backslash) Watcom C 10.5, 10.6, 11.0
- @item(zortech>compiler_known>backslash) Zortech C++ (now Symantec)
- @item(ncc>compiler_known) Norcroft C compiler
- @
- @ Optionally specify DEBUG for a version for use during testing
- @
- @item(noopt) Disable C compiler optimisation in case compiler bugs
- @item(debug) Compile and link for debugging
- @item(profile) Set C compiler profile options
- @
- @ Possible enabling of mpi (parallel computation) interface
- @item(mpi)
- @
- @ Now a few convenient abbreviations for combinations I will use
- @ more often than others...
- @
- @item(win>80x86>win95>watcom>machine_known>os_known>compiler_known) Windows 95, Watcom C
- @item(gccunix>gcc>unix>os_known>compiler_known) GNU C with generic Unix
- @item(ccunix>cc>unix>os_known>compiler_known) Generic Unix using "cc"
- @
- @endmenu
- @
- @
- @if(acorn)
- @if(compiler_known)
- @ifnot(ncc)
- @ifnot(gcc)
- @error Unknown compiler for Acorn system
- @endif
- @endif
- @else
- @set(ncc)
- @set(compiler_known)
- @endif
- @endif
- @
- @if(sparc)
- @if(compiler_known)
- @ifnot(gcc)
- @ifnot(cc)
- @error Unknown compiler for Sparc system (need gcc or cc)
- @endif
- @endif
- @else
- @set(cc)
- @set(compiler_known)
- @endif
- @if(os_known)
- @ifnot(unix)
- @error Unix (sunos or solaris) needed for sparc
- @ Windows NT on a sparc is not supported at this stage...
- @endif
- @else
- @ I default to a solaris version here.
- @set(solaris)
- @set(unix)
- @set(os_known)
- @endif
- @endif
- @
- @if(sr2201)
- @if(compiler_known)
- @ifnot(cc)
- @error Unknown compiler for sr2201
- @endif
- @else
- @set(cc)
- @set(compiler_known)
- @endif
- @if(os_known)
- @ifnot(unix)
- @error Unix needed for sr2201
- @endif
- @else
- @set(unix)
- @set(os_known)
- @endif
- @
- @ifnot(compiler_known)
- @set(gcc)
- @set(compiler_known)
- @endif
- @endif
- @
- @if(hp9000)
- @if(os_known)
- @ifnot(unix)
- @error Unix needed for HP9000
- @endif
- @else
- @set(unix)
- @set(os_known)
- @endif
- @endif
- @
- @if(apollo)
- @if(os_known)
- @ifnot(unix)
- @error Unix needed for Apollo
- @endif
- @else
- @set(unix)
- @set(os_known)
- @endif
- @endif
- @
- @if(sgi)
- @if(os_known)
- @ifnot(unix)
- @error Unix needed for SGI
- @endif
- @else
- @set(unix)
- @set(os_known)
- @endif
- @endif
- @
- @if(clipper)
- @if(os_known)
- @ifnot(unix)
- @error Unix needed for Clipper
- @endif
- @else
- @set(unix)
- @set(os_known)
- @endif
- @endif
- @
- @if(88000)
- @if(os_known)
- @ifnot(unix)
- @error Unix needed for 88000
- @endif
- @else
- @set(unix)
- @set(os_known)
- @endif
- @endif
- @
- @if(alpha)
- @if(os_known)
- @ifnot(unix)
- @ifnot(winnt)
- @error Unix or Windows NT needed for Alpha
- @endif
- @endif
- @else
- @set(unix)
- @set(os_known)
- @endif
- @endif
- @
- @if(linux)
- @if(compiler_known)
- @ifnot(gcc)
- @error Linux uses GCC
- @endif
- @else
- @set(gcc)
- @set(compiler_known)
- @endif
- @endif
- @
- ###########################################################################
- # #
- # makefile for REDUCE 3.6 using CSL #
- # #
- ###########################################################################
- # The following lines indicates the place on your disc where the "cslbase"
- # directory exists. This is the place where the C sources files for CSL
- # live. There are two versions here, the first should use Unix-like
- # file name conventions (in particular "/" as a directory separator) while
- # the second will (in some cases) be a host-specific translation.
- @
- @ I *must* have asserted "@set(backslash)" above here in the makebase
- @ file if that is needed, otherwise file-name conversion will not apply
- @ properly here.
- @
- UCSLBASE = @?(The directory where the main CSL sources are, eg c:/xxx/cslbase)
- CSLBASE = @!
- @
- @
- @ GCC can be run on many different sorts of machines and with several
- @ different operating systems. I collect together all the options here.
- @
- @
- @if(gcc)
- @ifnot(cygwin)
- @
- @if(dos)
- @set(80x86)
- @endif
- @
- @if(80x86)
- @set(escapequote)
- @set(blank)
- @
- ###########################################################################
- # This is for GCC for DOS #
- # NB using GNU "make" all filenames must use "/" rather than "\" #
- ###########################################################################
- @
- CC = gcc
- @if(debug)
- OPTFLAGS = -g -DDEBUG=1
- @elif(noopt)
- OPTFLAGS =
- @else
- #
- # The GCC versions I have tried (recently) support -O3 (which does
- # some in-lining). If you have trouble please revert to -O2 or even -O0
- OPTFLAGS = -O3
- @endif
- @if(mpi)
- MPIFLAGS = -DUSE_MPI=1
- @else
- MPIFLAGS =
- @endif
- CFLAGS = -c $(OPTFLAGS) -ansi -I$(CSLBASE) -DGCC386=1 $(MPIFLAGS)
- ASM = gcc
- ASMFLAGS = -c
- LINK = $(CC)
- LFLAGS =
- LIBS = -lm -lcurses
- ASMSRC = igcc386.s
- ASMOBJ = igcc386.o
- ASMOBJDEP = igcc386.o
- STORE = -k8000
- XSTORE = -k8000
- OUT = -o
- OUTOBJ = -o
- SYS = sysdos
- WX = go32
- RM = del
- MKDIR = mkdir
- COPY = copy
- @if(debug)
- STRIP = echo
- @else
- STRIP = strip
- @endif
- ###########################################################################
- @
- @elif(sparc)
- @set(unix)
- ###########################################################################
- # Sun SPARC, using GCC
- @if(mpi)
- CC = mpicc
- @else
- CC = gcc
- @endif
- @if(debug)
- OPTFLAGS = -g -DDEBUG=1
- @elif(noopt)
- OPTFLAGS =
- @else
- OPTFLAGS = -O3
- @endif
- @if(profile)
- # It appears that to use the profile option properly I need to make all
- # my function names external (not static) for otherwise the "prof" program
- # can not find their names with Sun. Furthermore I possibly have to avoid use
- # if a shared library, hence the -static flag.
- PROFFLAGS = -p -static -Dstatic=
- @else
- PROFFLAGS =
- @endif
- SPARCFLAGS =
- @if(sunos)
- SUNOSFLAGS = -I/usr/5include
- @else
- SUNOSFLAGS =
- @endif
- @if(mpi)
- MPIFLAGS = -DUSE_MPI=1
- @else
- MPIFLAGS =
- @endif
- CFLAGS = -ansi -c $(PROFFLAGS) $(OPTFLAGS) $(SPARCFLAGS) $(SUNOSFLAGS) -I$(CSLBASE) $(MPIFLAGS)
- @if(sunos)
- SUNOSLIBS = -L/usr/5lib -lresolv
- @else
- SUNOSLIBS = -lsocket -lnsl
- @endif
- SUNOSLIBS1 = -lm -lc
- @if(profile)
- LIBS = $(SUNOSLIBS) $(SUNOSLIBS1) -lcurses -static -p
- @else
- LIBS = $(SUNOSLIBS) $(SUNOSLIBS1) -lcurses
- @endif
- @set(unixoptions)
- ###########################################################################
- ###########################################################################
- @else
- @set(unix)
- ###########################################################################
- # Generic Unix with GCC. Note that if you use this you should review
- # the file "machine.h" to ensure that CSL knows what name to report for
- # your system. Also if the system you are running on needs more libraries
- # scanned in the link-phase.
- @if(mpi)
- CC = mpicc
- @else
- CC = gcc
- @endif
- @if(debug)
- OPTFLAGS = -g -DDEBUG=1
- @elif(noopt)
- OPTFLAGS =
- @else
- OPTFLAGS = -O3
- @endif
- @if(mpi)
- MPIFLAGS = -DUSE_MPI=1
- @else
- MPIFLAGS =
- @endif
- CFLAGS = -c $(OPTFLAGS) -ansi -I$(CSLBASE) $(MPIFLAGS)
- LIBS = -lm -lc -lcurses
- @set(unixoptions)
- ###########################################################################
- @endif
- @endif
- @endif
- @if(cc)
- @ifnot(sparc)
- @set(unix)
- ###########################################################################
- # Generic Unix with "cc". Note that if you use this you should review
- # the file "machine.h" to ensure that CSL knows what name to report for
- # your system. Also if the system you are running on needs more libraries
- # scanned during the link phase. The Makefile create here will VERY
- # probably need to be adjusted by hand.
- @if(mpi)
- CC = mpicc
- @else
- CC = cc
- @endif
- @if(debug)
- OPTFLAGS = -g -DDEBUG=1
- @elif(noopt)
- OPTFLAGS =
- @else
- OPTFLAGS = -O
- @endif
- @if(mpi)
- MPIFLAGS = -DUSE_MPI=1
- @else
- MPIFLAGS =
- @endif
- CFLAGS = -c $(OPTFLAGS) -I$(CSLBASE) $(MPIFLAGS)
- LIBS = -lm -lcurses
- @set(unixoptions)
- ###########################################################################
- @endif
- @endif
- @
- @ I will use Watcom C for DOS and for Windows 95 and NT
- @
- @
- @if(watcom)
- @
- @if(machine_known)
- @ifnot(80x86)
- @error Watcom C is for use with 80x86 only
- @endif
- @else
- @set(80x86)
- @set(machine_known)
- @endif
- @
- @if(os_known)
- @ifnot(win95)
- @ifnot(winnt)
- @ifnot(dos)
- @error Watcom C is for DOS, Windows 95 or Windows NT
- @endif
- @endif
- @endif
- @else
- @set(win95)
- @set(os_known)
- @endif
- @
- @set(obj)
- @set(blank)
- @set(linkcomma)
- ###########################################################################
- # This is for 32-bit operation with Watcom C version 10.5, 10.6, 11.0 #
- # Note that other release of Watcom C need command line options changed #
- ###########################################################################
- @if(win95)
- @set(cwin)
- @elif(winnt)
- @set(cwin)
- @endif
- CC = *wcc386
- @if(debug)
- OPTFLAGS = -d2 -d_DEBUG -DDEBUG=1
- @elif(noopt)
- OPTFLAGS =
- @else
- !ifeq __VERSION__ 11
- OPTFLAGS = -oneatx -oh
- !else
- OPTFLAGS = -oatx
- !endif
- @endif
- @if(mpi)
- MPIFLAGS = -DUSE_MPI=1
- @else
- MPIFLAGS =
- @endif
- @if(win95)
- CCFLAGS = -d_MBCS=1 -d_WINDOWS=1 -dWINDOWS_NT=1 -bt=nt -DCWIN=1
- @elif(winnt)
- CCFLAGS = -d_MBCS=1 -d_WINDOWS=1 -dWINDOWS_NT=1 -bt=nt -DCWIN=1
- @else
- CCFLAGS = -d_MBCS=1 -bt=dos4g
- @endif
- CFLAGS = $(OPTFLAGS) $(CCFLAGS) -i=$(CSLBASE) $(MPIFLAGS) -5r-zp4-ei-w3-bm-fhq
- CPP = *wpp386
- !ifeq __VERSION__ 11
- CPPFLAGS = $(CFLAGS) -xs
- !else
- CPPFLAGS = $(CFLAGS) -xs-zo
- !endif
- ASM = *wasm
- ASMFLAGS = -mf -5r -w4 -zq
- LINK = *wlink
- @if(debug)
- LDEBUG = debug all
- @else
- LDEBUG =
- @endif
- @if(dos)
- LSYS = dos4g
- LIBS =
- LFLAGS = system $(LSYS) option map,eliminate,stack=256K $(LDEBUG) file
- @else
- LSYS = nt_win
- @if(debug)
- LIBS = REFERENCE _wstart2_
- LFLAGS = system $(LSYS) option map,eliminate,stack=256K $(LDEBUG) file
- @else
- LIBS = REFERENCE _wstart2_
- LFLAGS = system $(LSYS) option map,eliminate,stack=256K $(LDEBUG) file
- @endif
- @endif
- ASMSRC = imulwat.asm
- ASMOBJ = imulwat.obj
- ASMOBJDEP = imulwat.obj
- STORE = -k8000
- XSTORE = -k8000
- # The .SYMBOLIC directive tells Watcom "wmake" not to fuss when a
- # target in the makefile does not correspond to a file that will get
- # create by activating it.
- SYMBOLIC = .SYMBOLIC
- OUT = name
- OUTOBJ = -fo=
- @if(win95)
- SYS = syscwin
- # With SOME releases of Windows 95 and Watcom C it was important to
- # use "start /w" when launching windowed applications from a makefile
- # because otherwise make just started the task and continued with its
- # work without waiting for the job to complete. But with the versions
- # I have tried most recently the use of "start /w" forces exactly the
- # effect it was supposed to avoid. Oh Dear! Adjust your makefile if you
- # have trouble, please. I am not certain if this is a Watcom 10.6 vs 11.0
- # issue of a Windows 95 vs. NT one.
- !ifeq __VERSION__ 11
- WX =
- !else
- WX = start /w
- !endif
- @elif(winnt)
- SYS = syscwin
- WX =
- @else
- SYS = sysdos
- WX =
- @endif
- RM = del
- MKDIR = mkdir
- COPY = copy
- STRIP = -echo
- ###########################################################################
- @endif
- @
- @
- @
- @ By "microsoft" I mean Microsoft Visual C++, for use with Windows 95
- @ and Windows NT. I will NOT use this compiler for DOS
- @
- @
- @if(microsoft)
- @
- @if(machine_known)
- @ifnot(80x86)
- @error Microsoft C is for use with 80x86 only
- @endif
- @else
- @set(80x86)
- @set(machine_known)
- @endif
- @
- @if(os_known)
- @ifnot(win95)
- @ifnot(winnt)
- @error Microsoft C is for Windows 95 or Windows NT
- @endif
- @endif
- @else
- @set(win95)
- @set(os_known)
- @endif
- @
- @set(obj)
- ###########################################################################
- # #
- # This "makefile" is for Win32 and Win32s (using Visual C++ 5.0). #
- # #
- ###########################################################################
- CC = cl
- @if(debug)
- OPTFLAGS = -Od -Zi -DDEBUG=1
- @elif(slow)
- OPTFLAGS =
- @else
- OPTFLAGS = -Ox2 -G5r
- @endif
- @if(mpi)
- MPIFLAGS = -DUSE_MPI=1
- @else
- MPIFLAGS =
- @endif
- CFLAGS = $(OPTFLAGS) -c -W3 -DWINDOWS_NT=1 -I$(CSLBASE) -DCWIN=1 $(MPIFLAGS)
- CPP = cl
- CPPFLAGS = $(CFLAGS)
- LINK = cl
- @if(debug)
- LFLAGS =
- @else
- LFLAGS =
- @endif
- LIBS = nafxcw.lib libc.lib msvcrt.lib kernel32.lib shell32.lib wsock32.lib \
- user32.lib gdi32.lib winspool.lib libcmt.lib \
- comdlg32.lib comctl32.lib winmm.lib advapi32.lib
- @if(debug)
- TAIL = -link -debug -nodefaultlib -subsystem:windows
- @else
- TAIL = -link -nodefaultlib -subsystem:windows
- @endif
- CSLRES = csl.res
- R36RES = r36.res
- DEMORES = demored.res
- FRONTRES = r36front.res
- @set(ressym)
- OUT = -o
- OUTOBJ = -Fo
- ASM = $(CC)
- ASMFLAGS = $(CFLAGS)
- ASMSRC = imulvc.c
- ASMOBJ = imulvc.obj
- ASMOBJDEP = imulvc.obj
- @if(win95)
- SYS = syscwin
- WX = start /w
- @elif(winnt)
- SYS = syscwin
- WX =
- @else
- SYS = sysdos
- WX =
- @endif
- STORE = -k8000
- XSTORE = -k8000
- RM = del
- MKDIR = mkdir
- COPY = copy
- STRIP = -echo
- @endif
- @
- @
- @if(borland)
- @
- @if(machine_known)
- @ifnot(80x86)
- @error Borland C is for use with 80x86 only
- @endif
- @else
- @set(80x86)
- @set(machine_known)
- @endif
- @
- @if(os_known)
- @ifnot(dos)
- @ifnot(dos)
- @error Borland C is set up for Win32 console apps (ie DOS) only at present
- @endif
- @endif
- @else
- @set(dos)
- @set(os_known)
- @endif
- @
- @set(obj)
- ###########################################################################
- # #
- # This "makefile" is for console applications (95 & NT) with Borland 4.0 #
- # #
- ###########################################################################
- CC = bcc32
- @if(debug)
- OPTFLAGS =
- @elif(slow)
- OPTFLAGS =
- @else
- # Borland C 4.0 (I know that is an old release but it is the newest one I have
- # tried) refuses to compile my code if it is asked to optimise. So I
- # will not press the matter.
- OPTFLAGS =
- @endif
- @if(mpi)
- MPIFLAGS = -DUSE_MPI=1
- @else
- MPIFLAGS =
- @endif
- CFLAGS = $(OPTFLAGS) -c -4 -N -I$(CSLBASE) $(MPIFLAGS)
- CPP = bcc32
- CPPFLAGS = $(CFLAGS)
- LINK = bcc32
- @if(debug)
- LFLAGS =
- @else
- LFLAGS =
- @endif
- LIBS =
- TAIL =
- CSLRES = csl.res
- R36RES = r36.res
- DEMORES = demored.res
- FRONTRES = r36front.res
- OUT = -e
- OUTOBJ = -o
- ASM = $(CC)
- ASMFLAGS = $(CFLAGS)
- ASMSRC =
- ASMOBJ =
- ASMOBJDEP = notused.obj
- SYS = sysdos
- WX =
- STORE = -k8000
- XSTORE = -k8000
- RM = del
- MKDIR = mkdir
- COPY = copy
- STRIP = -echo
- @endif
- @
- @
- @ I will only use Zortech for DOS and 80x86 systems in 32 bit mode.
- @
- @
- @if(zortech)
- @
- @if(machine_known)
- @ifnot(80x86)
- @error Zortech C++ is only for use with 80x86
- @endif
- @else
- @set(80x86)
- @set(machine_known)
- @endif
- @
- @if(os_known)
- @ifnot(dos)
- @error Zortech C++ is only for use with DOS
- @endif
- @else
- @set(dos)
- @set(os_known)
- @endif
- @
- ###########################################################################
- # This is for 32-bit operation with Zortech C++ version 3.0 #
- # #
- # This is set up for use with Zortech C++ release 3.0r4 (well, that #
- # is the release of the compiler that I have at present, and earlier #
- # versions had a few bugs left). To provide for virtual memory on a #
- # 386, 486 or Pentium I use the FlashTek extension of the DOS extender #
- # used with Zortech C, and the linker commands scan a few object files #
- # relating to that. If you are rebuilding this system and do not have #
- # the Flashtek code then all you lose is virtual memory support and #
- # the changes to this makefile are pretty small. #
- # Now somewhat out of date... but start here if you have Symantec C++. #
- ###########################################################################
- CC = ztc
- @if(mpi)
- MPIFLAGS = -DUSE_MPI=1
- @else
- MPIFLAGS =
- @endif
- CFLAGS = -c -A -mx -o -I$(CSLBASE) $(MPIFLAGS)
- ASM = ztc
- ASMFLAGS = -mx -c
- LINK = $(CC)
- LFLAGS = -mx
- LIBS = x32v.lib
- ASMSRC = imuldos.asm
- ASMOBJ = imuldos.obj
- ASMOBJDEP = imuldos.obj
- STORE = -k8000
- XSTORE = -k8000
- @endif
- @
- @if(hp9000)
- ###########################################################################
- # HP workstations (eg HP/9000/735)
- @if(mpi)
- CC = mpicc
- @else
- CC = c89
- @endif
- @if(mpi)
- MPIFLAGS = -DUSE_MPI=1
- @else
- MPIFLAGS =
- @endif
- CFLAGS = -c +Obb3000 +O3 -Wl,-a,archive -I$(CSLBASE) $(MPIFLAGS)
- LIBS = -lm -lc -lcurses -lresolv
- @set(unixoptions)
- ###########################################################################
- @endif
- @
- @if(sr2201)
- ###########################################################################
- # Hitachi SR2201 supercomputer
- @if(mpi)
- CC = mpicc
- @else
- CC = cc +BTLN1
- @endif
- @if(mpi)
- MPIFLAGS = -DUSE_MPI=1
- @else
- MPIFLAGS =
- @endif
- CFLAGS = -c +O4 +ESlit +Ol +Oprefetch -I$(CSLBASE) $(MPIFLAGS)
- LIBS = -lm -lc -lcurses
- @set(unixoptions)
- ###########################################################################
- @endif
- @
- @if(sparc)
- @if(cc)
- ###########################################################################
- # Sun Super SPARC, using the Sun C compiler.
- @if(mpi)
- CC = mpicc
- @else
- # I get conflicting reports about where to find the C compiler...
- # please adjust this file by hand if you need to.
- CC = /opt/EA/SUNWspro/bin/cc
- @endif
- @if(ultrasparc)
- @if(debug)
- SPARCOPTS = -g -dalign -xtarget=ultra1/170 -DLONG_LONG_64=1 -DMULDIV64=1 -DDEBUG=1
- SPARCLIBS = -lfast -lm
- @else
- SPARCOPTS = -xO5 -xdepend -dalign -xtarget=ultra1/170 -DLONG_LONG_64=1 -DMULDIV64=1
- SPARCLIBS = -lfast -lm
- @endif
- @else
- @if(debug)
- SPARCOPTS = -g -DDEBUG=1
- SPARCLIBS = -lm -lc
- @else
- SPARCOPTS = -xO4
- SPARCLIBS = -lm -lc
- @endif
- @endif
- @if(mpi)
- MPIFLAGS = -DUSE_MPI=1
- @else
- MPIFLAGS =
- @endif
- CFLAGS = -c $(SPARCOPTS) -DBSD_LIB=1 -I$(CSLBASE) $(MPIFLAGS)
- LIBS = $(SPARCLIBS) -lcurses
- @set(unixoptions)
- ###########################################################################
- @endif
- @endif
- @
- @if(alpha)
- ###########################################################################
- # DEC Alpha, with OSF (tested on 1.3) and the DEC C compiler. Note that
- # this is a 64-bit machine, but I use it with the "-taso" linker option
- # so that I run in a 32-bit address space.
- @if(mpi)
- CC = mpicc
- @else
- CC = cc
- @endif
- @if(debug)
- OPTFLAGS = -g -DDEBUG=1
- @elif(noopt)
- OPTFLAGS =
- @else
- OPTFLAGS = -O2
- @endif
- @if(mpi)
- MPIFLAGS = -DUSE_MPI=1
- @else
- MPIFLAGS =
- @endif
- CFLAGS = -c $(OPTFLAGS) -std1 -Olimit 3000 -I$(CSLBASE) $(MPIFLAGS)
- LIBS = -lm -lcurses -taso
- @set(unixoptions)
- ###########################################################################
- @endif
- @
- @if(next)
- ###########################################################################
- # NeXT, tested on a Pentium Pro installation
- CC = cc
- OPTFLAGS = -O2
- @if(mpi)
- MPIFLAGS = -DUSE_MPI=1
- @else
- MPIFLAGS =
- @endif
- CFLAGS = -c $(OPTFLAGS) -I$(CSLBASE) $(MPIFLAGS)
- LIBS = -lm -lcurses -ltermcap
- @set(unixoptions)
- ###########################################################################
- @endif
- @
- @
- @if(apollo)
- ###########################################################################
- # Apollo
- CC = cc
- @if(mpi)
- MPIFLAGS = -DUSE_MPI=1
- @else
- MPIFLAGS =
- @endif
- CFLAGS = -c -A ansi -D__APOLLO__=1 -I$(CSLBASE) $(MPIFLAGS)
- LIBS = -lcurses
- # Also note that in 1Q 1993 the -O flag must not be used for char.c or
- # gc.c as the Apollo C compiler optimiser is buggy.
- # It seems OK for the other sections. Presumably a later release of the
- # compiler will fix the difficulty. Please hand-compile that section
- # using "make -n char.o" to guide you.
- @set(unixoptions)
- ###########################################################################
- @endif
- @
- @if(sgi)
- ###########################################################################
- # Silicon Graphics, using the SGI C compiler
- # I have not yet worked out how to exploit -O3 or -O4 optimisation
- # but see sketches later down this file where I have tried same for
- # the DEC Alpha.
- CC = cc
- @if(debug)
- OPTFLAGS = -g -DDEBUG=1
- @elif(noopt)
- OPTFLAGS =
- @else
- OPTFLAGS = -O2
- @endif
- @if(mpi)
- MPIFLAGS = -DUSE_MPI=1
- @else
- MPIFLAGS =
- @endif
- CFLAGS = -c -ansi -DSGICC=1 $(OPTFLAGS) -Olimit 3000 -I$(CSLBASE) $(MPIFLAGS)
- LIBS = -lm -lc -lcurses
- ###########################################################################
- @set(unixoptions)
- @endif
- @
- @if(clipper)
- ###########################################################################
- # Intergraph Clipper, using the Norcroft C compiler
- CC = ncc
- @if(mpi)
- MPIFLAGS = -DUSE_MPI=1
- @else
- MPIFLAGS =
- @endif
- CFLAGS = -c -I$(CSLBASE) $(MPIFLAGS)
- LIBS = -lcurses
- ###########################################################################
- @set(unixoptions)
- @endif
- @
- @if(unixoptions)
- ###########################################################################
- @set(blank)
- @set(escapequote)
- SHELL = /bin/sh
- LINK = $(CC)
- @if(profile)
- @if(debug)
- LFLAGS = -p -g
- @else
- LFLAGS = -p
- @endif
- @else
- @if(debug)
- LFLAGS = -g
- @else
- LFLAGS =
- @endif
- @endif
- OUT = -o
- OUTOBJ = -o
- ASM = $(CC)
- ASMFLAGS = $(CFLAGS)
- ASMSRC =
- ASMOBJ =
- ASMOBJDEP = notused.obj
- SYS = sysunix
- STORE = -k8000
- XSTORE = -k8000
- RM = rm
- MKDIR = mkdir
- COPY = cp
- @if(debug)
- STRIP = echo
- @else
- STRIP = strip
- @endif
- WX =
- ###########################################################################
- @endif
- @if(cygwin)
- ###########################################################################
- # Cygwin32 running on Windows 95, 98 or NT. First tested with
- # Cygnus beta 19.1.
- # This is also going to be tested with EGCS installed rather than the
- # earlier version of gcc, and soon it will require ncurses to have been
- # installed too.
- #
- # This will produce a command-line-only version of REDUCE.
- # ensure that the current directory is on our search path (by default
- # it is not)
- export PATH := .:$(PATH)
- # permit the name "reduce" spelt in lower case to be used as well
- # as REDUCE
- export reduce := $(REDUCE)
- CC = gcc
- @if(mpi)
- MPIFLAGS = -DUSE_MPI=1
- @else
- MPIFLAGS =
- @endif
- OPTFLAGS = -O3
- # define NO_HELP_SYSTEM because curses is not yet part of standard
- # cygnus release
- CFLAGS = -c -ansi $(OPTFLAGS) -I$(CSLBASE) $(MPIFLAGS) -DNO_HELP_SYSTEM=1
- #LIBS = -lcurses
- LIBS =
- ###########################################################################
- @set(blank)
- @set(escapequote)
- # For the following line to behave properly you MUST put a copy of
- # the shell in what a Windows user would call C:\bin
- SHELL = /bin/sh
- LINK = $(CC)
- @if(profile)
- @if(debug)
- LFLAGS = -p -g
- @else
- LFLAGS = -p
- @endif
- @else
- @if(debug)
- LFLAGS = -g
- @else
- LFLAGS =
- @endif
- @endif
- OUT = -o
- OUTOBJ = -o
- ASM = $(CC)
- ASMFLAGS = $(CFLAGS)
- ASMSRC =
- ASMOBJ =
- ASMOBJDEP = notused.obj
- SYS = syscyg
- STORE = -k8000
- XSTORE = -k8000
- RM = rm
- MKDIR = mkdir
- COPY = cp
- @if(debug)
- STRIP = echo
- @else
- STRIP = strip
- @endif
- WX =
- ###########################################################################
- @endif
- @
- @if(riscos)
- @error Acorn parts of the makefile not reconstructed yet
- ###########################################################################
- # #
- # This "makefile" is for Acorn RISC-OS #
- # #
- ###########################################################################
- @set(acorn)
- #
- # makefile for REDUCE 3.6 using CSL
- # This is for RISC-OS on an Acorn Archimedes
- #
- CC = cc
- CFLAGS = -c -fah -I$.risc_oslib -I$(CSLBASE)
- LFLAGS =
- LINK = link
- LIBS = $.risc_oslib.o.risc_oslib $.clib.o.stubs
- SYS = sysarm
- STORE = -k8000
- XSTORE = -k8000
- ASMOBJ =
- OBJ = o
- RM = delete
- MKDIR = cdir
- COPY = copy
- STRIP = squeeze
- WX =
- ###########################################################################
- ###########################################################################
- @endif
- @
- @if(win95)
- @set(cwin)
- @set(resourcefile)
- @endif
- @
- @if(winnt)
- @set(cwin)
- @set(resourcefile)
- @endif
- ###########################################################################
- ###########################################################################
- # #
- # This is the main bulk of the "makefile" for building Reduce 3.6 and CSL #
- # on MSDOS, Windows and Unix. This part of the file expects a number of #
- # symbols to have been defined: #
- # #
- # CSLBASE = file-path for CSLBASE directory #
- # CC = The C compiler to use #
- # CFLAGS = Flags for C compiler when compiling CSL #
- # LINK = Linker to use #
- # LFLAGS = Flags for linker #
- # LIBS = Libraries to quote to linker #
- # OUT = "-o" or "-out:" See link commands #
- # OUTOBJ = "-o" often : where to put object code from C compilation #
- # ASM = The assembler to use #
- # ASMFLAGS = Flags for the assembler #
- # ASMSRC = Assembly code source file to use #
- # ASMOBJ = Object file for above (or NULL if no assembly used) #
- # ASMOBJDEP = Ditto, but may not be NULL #
- # SYS = name of system-specific file (sysdos or sysnt etc) #
- # STORE = Memory option to pass to CSL (-k2500 is minimum) #
- # XSTORE = Memory for the rebuild job that generates C code #
- # RM = del for DOS, = rm for Unix #
- # MKDIR = mkdir #
- # COPY = copy for DOS, = cp for Unix #
- # STRIP = echo for DOS, = strip for Unix #
- # SYMBOLIC = .SYMBOLIC is using Watcom's "make" utility #
- # WX = wx for Windows 3.1, null in all other cases #
- # #
- # The master version of this file is called "makebase" and is used to #
- # create both DOS and Unix makefiles. Use the Codemist "makemake" #
- # program to perform the conversion - eg #
- # makemake -f makebase -o makemake.386 watcom dos #
- # makemake -f makebase -o Makefile.sgi sgi #
- # Just "makemake -f makebase" gives list of systems supported #
- ###########################################################################
- ###########################################################################
- ###########################################################################
- ###########################################################################
- #
- # The main final target is @r36.img, the image file for full REDUCE.
- # If you want to rebuild stage-by-stage (eg while testing), try the
- # sequence
- # make @csl.exe compiles and links C coded kernel
- # make @csl.img builds compiler image on top of above
- # make @slowr36.img makes bootstrap REDUCE
- # (roughly twice as slow as final one)
- # only used for system recompilation.
- # make ccode runs test file to collect statistics
- # and create files u*.c and u*.lsp
- # out of hot-spot parts of REDUCE. Note that
- # >>>>>>>>>>>>>>>>>>> this is not done automatically by the main
- # >>>> N. B. >>>> set of "make" dependences, since the
- # >>>>>>>>>>>>>>>>>>> files u*.* provided are probably OK - but
- # you need to do it again if the main REDUCE
- # sources are altered
- # make @fasl36.img final compilation of most of REDUCE
- # make @r36.exe build final executable binary
- # make @r36.img build final image file
- # make testall runs test files, output to log directory
- #
- ###########################################################################
- ###########################################################################
- #
- # C is another name for CSLBASE, the directory that CSL source files live
- # in. I introduce it here mainly because $(C) is so much more compact
- # then $(CSLBASE).
- #
- C = $(CSLBASE)
- #
- # DOBJS is a list of all the object files that are common to all variants
- # on the system built here
- #
- DOBJS = @arith01.o @arith02.o @arith03.o @arith04.o \
- @arith05.o @arith06.o @arith07.o @arith08.o \
- @arith09.o @arith10.o @arith11.o @arith12.o \
- @char.o @csl.o @cslmpi.o @eval1.o @eval2.o \
- @eval3.o @eval4.o @fns1.o @fns2.o @fns3.o \
- @print.o @read.o @restart.o $(ASMOBJ) \
- @if(cwin)
- @$(SYS).o @c_applic.o @c_text.o \
- @c_graph.o @c_render.o @c_viewpt.o
- @else
- @$(SYS).o
- @endif
- CDOBJS = @arith01.o,@arith02.o,@arith03.o,@arith04.o,\
- @arith05.o,@arith06.o,@arith07.o,@arith08.o,\
- @arith09.o,@arith10.o,@arith11.o,@arith12.o,\
- @char.o,@csl.o,@cslmpi.o,@eval1.o,@eval2.o,\
- @eval3.o,@eval4.o,@fns1.o,@fns2.o,@fns3.o,\
- @print.o,@read.o,@restart.o,$(ASMOBJ),\
- @if(cwin)
- @$(SYS).o,@c_applic.o,@c_text.o,\
- @c_graph.o,@c_render.o,@c_viewpt.o
- @else
- @$(SYS).o
- @endif
- #
- # OBJS adds in the files used when I am not building a demonstration-mode CSL
- #
- OBJS = $(DOBJS) @fasl.o @gc.o @preserve.o
- COBJS = $(CDOBJS),@fasl.o,@gc.o,@preserve.o
- #
- # UOBJS come from that code that is compiled from Lisp into C
- #
- UOBJS = @u01.o @u02.o @u03.o @u04.o @u05.o \
- @u06.o @u07.o @u08.o @u09.o @u10.o \
- @u11.o @u12.o
- CUOBJS = @u01.o,@u02.o,@u03.o,@u04.o,@u05.o,\
- @u06.o,@u07.o,@u08.o,@u09.o,@u10.o,\
- @u11.o,@u12.o
- ###########################################################################
- ###########################################################################
- #
- # "r36.img" is an image file for the main parts of Reduce
- @r36.img: @fasl36.img @r36.exe
- $(WX) r36 $(STORE) -v -z -i @fasl36.img -o- @../cslsrc/r36.lsp -- @r36.log
- -$(MKDIR) log
- # "make patches" can be used after the "src/patches.red" file has changed
- patches: @../src/patches.red $(SYMBOLIC)
- $(WX) r36 $(STORE) -v @../cslsrc/mkpatch.red -- mkpatch.log
- $(WX) r36 $(STORE) -v -i- -o @fasl36.img @../cslsrc/mkpatch1.red -- mkpatch1.log
- $(WX) r36 $(STORE) -v -z -i @fasl36.img -o- @../cslsrc/r36.lsp -- @r36.log
- #
- # "make testall" tests the final production version of Reduce
- #
- testall: @log/algint.log @log/applysym.log @log/arnum.log @log/assist.log @log/avector.log \
- @log/boolean.log @log/cali.log @log/camal.log @log/changevr.log \
- @log/compact.log @log/complex.log @log/crack.log @log/cvit.log \
- @log/decompos.log @log/defint.log @log/desir.log @log/dfpart.log \
- @log/dummy.log @log/elem.log @log/excalc.log @log/factor.log \
- @log/fide.log @log/fps.log @log/gcd.log @log/gentran.log \
- @log/groebner.log @log/ideals.log @log/ineq.log @log/int.log \
- @log/invbase.log @log/laplace.log @log/lie.log @log/limits.log \
- @log/linalg.log @log/math.log @log/matrix.log @log/modsr.log \
- @log/ncpoly.log @log/normform.log @log/numeric.log @log/odesolve.log \
- @log/orthovec.log @log/pf.log @log/physop.log @log/pmrules.log \
- @log/randpoly.log @log/reacteqn.log @log/reduce.log @log/residue.log @log/rlfi.log \
- @log/rlisp88.log @log/roots.log @log/rounded.log @log/rsolve.log \
- @log/scope.log @log/sets.log @log/solve.log @log/spde.log \
- @log/specfn.log @log/sum.log @log/symmetry.log @log/taylor.log \
- @log/tps.log @log/tri.log @log/trigsimp.log @log/wu.log @log/xcolor.log @log/xideal.log \
- @log/zeilberg.log @log/ztrans.log $(SYMBOLIC)
- -echo all tests done
- ###########################################################################
- ###########################################################################
- #
- # The targets from here on down are used in the process of doing a full
- # system re-build
- # @fasl36.img is a file needed during a re-build of Reduce. It contains
- # compiled versions of all the Reduce modules.
- @fasl36.img: @csl.exe @slowr36.img
- -$(RM) @fasl36.img
- $(WX) csl $(STORE) -v -i @slowr36.img -o @fasl36.img \
- @../cslsrc/fasl36.red -- @fasl36.log
- # "make personal" downgrades a full version of Reduce to make a"personal"
- # version (without the compiler).
- personal: @r36.exe @r36.img $(SYMBOLIC)
- $(COPY) @r36.exe @../r36.exe
- $(COPY) @r36.img @../r36.img
- $(WX) @../r36 @../cslsrc/remcmp.lsp
- # "make rl" manufactures an image file that contains just an Rlisp parser
- rl: $(SYMBOLIC) @rlisp.exe @rlisp.img
- @rlisp.exe: $(SYMBOLIC) @csl.exe
- $(COPY) @csl.exe @rlisp.exe
- @rlisp.img: @rlisp.exe
- $(WX) rlisp $(STORE) -v -z -o rlisp.img \
- @../cslsrc/mkrlisp.lsp -D@@cslbase="$(C)" -- rlisp.log
- #
- # @r36.exe can only be built when all the user-generated C code has been
- # built.
- #
- @r36.exe: @bytes.o $(OBJS) \
- @if(microsoft)
- $(R36RES) \
- @endif
- $(UOBJS)
- @if(borland)
- $(LINK) -er36.exe @@@../cslsrc/borr36.lnk
- @else
- @if(linkcomma)
- $(LINK) $(LFLAGS) @bytes.o,$(COBJS),$(CUOBJS) $(LIBS) $(OUT)@~@r36.exe $(TAIL)
- @else
- @if(ressym)
- $(LINK) $(LFLAGS) @bytes.o $(OBJS) $(UOBJS) $(R36RES) $(LIBS) $(OUT)@~@r36.exe $(TAIL)
- @else
- $(LINK) $(LFLAGS) @bytes.o $(OBJS) $(UOBJS) $(LIBS) $(OUT)@~@r36.exe $(TAIL)
- @endif
- @endif
- @endif
- @if(resourcefile)
- @if(watcom)
- wrc -i@../cslsrc -i@$(C) -bt=nt @../cslsrc/r36.rc @r36.exe
- @endif
- @endif
- $(STRIP) @r36.exe
- @if(resourcefile)
- @if(microsoft)
- csl.res: @../cslsrc/csl.rc @$(C)/cwin.rc
- rc -i@../cslsrc -i@$(C) -focsl.res @../cslsrc/csl.rc
- r36.res: @../cslsrc/r36.rc @$(C)/cwin.rc
- rc -i@../cslsrc -i@$(C) -for36.res @../cslsrc/r36.rc
- demored.res: @../cslsrc/demored.rc @$(C)/cwin.rc
- rc -i@../cslsrc -i@$(C) -fodemored.res @../cslsrc/demored.rc
- @endif
- @endif
- #
- # slowr36 is a version of Reduce used just to compile the final version.
- # It is larger and slower than the final release version, and will not have
- # all the optional modules built into it.
- #
- @slowr36.img: @csl.exe @../cslsrc/slowr36.lsp @../src/boot.sl \
- @../src/cslprolo.red @../src/module.red \
- @../src/rlisp.red @../src/cslrend.red @../src/poly.red \
- @../src/alg.red @../src/arith.red @../src/mathpr.red \
- @../src/entry.red
- $(WX) csl $(STORE) -o @slowr36.img -v -z \
- @../cslsrc/slowr36.lsp -D@@cslbase="$(C)" -- @slowr36.log
- #
- # A few targets here may help me tidy up my filespace from time to time
- #
- cleansmall: $(SYMBOLIC)
- -$(RM) @slowr36.img
- clean: $(SYMBOLIC)
- -$(RM) @slowr36.img
- -$(RM) @r36.exe
- -$(RM) @fasl36.img
- -$(RM) @r36.img
- #
- # demored is a demonstration version of Reduce with built-in resource
- # limitations.
- #
- demored: @csl.exe @slowr36.img @bytes.o $(DOBJS) $(SYMBOLIC) \
- @if(microsoft)
- $(DEMORES) \
- @endif
- @stubs.o
- $(CC) $(CFLAGS) @$(C)/demo.c
- @if(borland)
- $(LINK) -edemored.exe @@@../cslsrc/bordemo.lnk
- @else
- @if(linkcomma)
- $(LINK) $(LFLAGS) @bytes.o,$(CDOBJS),@stubs.obj,@demo.o $(LIBS) $(OUT)@~@demored.exe $(TAIL)
- @else
- @if(ressym)
- $(LINK) $(LFLAGS) @bytes.o $(DOBJS) @stubs.obj @demo.o $(DEMORES) $(LIBS) $(OUT)@~@demored.exe $(TAIL)
- @else
- $(LINK) $(LFLAGS) @bytes.o $(DOBJS) @stubs.obj @demo.o $(LIBS) $(OUT)@~@demored.exe $(TAIL)
- @endif
- @endif
- @endif
- @if(resourcefile)
- @if(watcom)
- wrc -i@../cslsrc -i@$(C) -bt=nt @../cslsrc/demored.rc @demored.exe
- @endif
- @endif
- $(STRIP) @demored.exe
- -$(RM) @demored.img
- $(WX) csl $(STORE) -i @slowr36.img -v -z -i @fasl36.img \
- -o @demored.img @../cslsrc/makedemo.lsp -- makedemo.log
- ###########################################################################
- @csl.img: @csl.exe @$(C)/compat.lsp @$(C)/compiler.lsp \
- @$(C)/ccomp.lsp @$(C)/extras.lsp
- -$(RM) @csl.img
- $(WX) csl $(STORE) -v -z @$(C)/build0.lsp \
- -D@@cslbase="$(C)" -- @cslimg.log
- @csl.exe: @bytes.o $(OBJS) \
- @if(microsoft)
- $(CSLRES) \
- @endif
- @stubs.o
- @if(borland)
- $(LINK) -ecsl.exe @@@../cslsrc/borcsl.lnk
- @else
- @if(watcom)
- $(LINK) $(LFLAGS) @bytes.o,$(COBJS),@stubs.o $(LIBS) $(OUT)@~@csl.exe $(TAIL)
- @else
- @if(ressym)
- $(LINK) $(LFLAGS) @bytes.o $(OBJS) @stubs.o $(CSLRES) $(LIBS) $(OUT)@~@csl.exe $(TAIL)
- @else
- $(LINK) $(LFLAGS) @bytes.o $(OBJS) @stubs.o $(LIBS) $(OUT)@~@csl.exe $(TAIL)
- @endif
- @endif
- @endif
- @if(resourcefile)
- @if(watcom)
- wrc -i@$(C) -i@$(C) -bt=nt @$(C)/csl.rc @csl.exe
- @endif
- @endif
- $(STRIP) @csl.exe
- @slowcsl.exe: @bytes1.o $(OBJS) \
- @if(microsoft)
- $(CSLRES) \
- @endif
- @stubs.o
- @if(borland)
- $(LINK) -eslowcsl.exe @@@../cslsrc/borcsl.lnk
- @else
- @if(watcom)
- $(LINK) $(LFLAGS) @bytes1.o,$(COBJS),@stubs.o $(LIBS) $(OUT)@~@slowcsl.exe $(TAIL)
- @else
- @if(ressym)
- $(LINK) $(LFLAGS) @bytes1.o $(OBJS) @stubs.o $(CSLRES) $(LIBS) $(OUT)@~@slowcsl.exe $(TAIL)
- @else
- $(LINK) $(LFLAGS) @bytes1.o $(OBJS) @stubs.o $(LIBS) $(OUT)@~@slowcsl.exe $(TAIL)
- @endif
- @endif
- @endif
- @if(resourcefile)
- @if(watcom)
- wrc -i@$(C) -i@$(C) -bt=nt @$(C)/csl.rc @slowcsl.exe
- @endif
- @endif
- $(STRIP) @slowcsl.exe
- @if(win32)
- @r36front.exe: @r36front.o \
- @if(microsoft)
- $(FRONTRES) \
- @endif
- @c_applic1.o @c_text.o @c_graph.o @c_render.o @c_viewpt.o
- @if(borland)
- $(LINK) -er36front.exe @@@../cslsrc/borfront.lnk
- @else
- @if(watcom)
- $(LINK) $(LFLAGS) @r36front.o,@c_applic1.o,@c_text.o,@c_graph.o,@c_render.o,@c_viewpt.o $(LIBS) $(OUT)@~@r36front.exe $(TAIL)
- @else
- @if(ressym)
- $(LINK) $(LFLAGS) @r36front.o,@c_applic1.o,@c_text.o,@c_graph.o,@c_render.o,@c_viewpt.o $(FRONTRES) $(LIBS) $(OUT)@~@r36front.exe $(TAIL)
- @else
- $(LINK) $(LFLAGS) @r36front.o,@c_applic1.o,@c_text.o,@c_graph.o,@c_render.o,@c_viewpt.o $(LIBS) $(OUT)@~@r36front.exe $(TAIL)
- @endif
- @endif
- @endif
- @if(resourcefile)
- @if(watcom)
- wrc -i@$(C) -i@$(C) -bt=nt @$(C)/r36front.rc @r36front.exe
- @endif
- @endif
- $(STRIP) @r36front.exe
- @endif
- #
- # "make lispfile"
- # recreates compiler.lsp, extras.lsp and ccomp.lsp from
- # the corresponding master sources which are held in RLISP
- # form. Temporarily builds an RLISP parser on the way.
- lispfile: @csl.exe @csl.img @$(C)/lispfile.lsp $(SYMBOLIC)
- $(WX) csl $(STORE) -v -z @$(C)/lispfile.lsp \
- -D@@cslbase="$(C)" -- @lispfile.log
- signature: @$(C)/version.hhh register.key $(SYMBOLIC)
- filesign -u @$(C)/version.hhh @$(C)/version.h Developer or tester
- #
- # Now rules for re-compiling the main collection of CSL source files. I
- # write each case out individually since that makes the makefile less
- # delicate than one that relies on setting up general rules - and I want this
- # file to work on several different systems.
- #
- @if(watcom)
- # There is a special nasty with the Watcom assembler (at least version
- # 10.5) in that tab characters on the command line upset it, so I MUST
- # have the command given here all on one line in that case.
- @endif
- $(ASMOBJDEP): @$(C)/$(ASMSRC)
- @if(gcc)
- $(ASM) $(ASMFLAGS) -o @$(ASMOBJ).o @$(C)/$(ASMSRC)
- @else
- $(ASM) $(ASMFLAGS) @$(C)/$(ASMSRC)
- @endif
- @arith01.o: @$(C)/arith01.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \
- @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @arith01.o \
- @endif
- @$(C)/arith01.c
- @arith02.o: @$(C)/arith02.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \
- @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @arith02.o \
- @endif
- @$(C)/arith02.c
- @arith03.o: @$(C)/arith03.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \
- @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @arith03.o \
- @endif
- @$(C)/arith03.c
- @arith04.o: @$(C)/arith04.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \
- @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @arith04.o \
- @endif
- @$(C)/arith04.c
- @arith05.o: @$(C)/arith05.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \
- @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h @$(C)/stream.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @arith05.o \
- @endif
- @$(C)/arith05.c
- @arith06.o: @$(C)/arith06.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \
- @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h @$(C)/entries.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @arith06.o \
- @endif
- @$(C)/arith06.c
- @arith07.o: @$(C)/arith07.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \
- @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @arith07.o \
- @endif
- @$(C)/arith07.c
- @arith08.o: @$(C)/arith08.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \
- @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h @$(C)/entries.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @arith08.o \
- @endif
- @$(C)/arith08.c
- @arith09.o: @$(C)/arith09.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \
- @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @arith09.o \
- @endif
- @$(C)/arith09.c
- @arith10.o: @$(C)/arith10.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \
- @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h @$(C)/entries.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @arith10.o \
- @endif
- @$(C)/arith10.c
- @arith11.o: @$(C)/arith11.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \
- @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @arith11.o \
- @endif
- @$(C)/arith11.c
- @arith12.o: @$(C)/arith12.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \
- @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h @$(C)/entries.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @arith12.o \
- @endif
- @$(C)/arith12.c
- @bytes.o: @$(C)/bytes1.c @$(C)/bytes.c @$(C)/tags.h @$(C)/machine.h \
- @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h \
- @$(C)/bytes.h @$(C)/arith.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @bytes.o \
- @endif
- @$(C)/bytes.c
- @bytes1.o: @$(C)/bytes1.c @$(C)/bytes.c @$(C)/tags.h @$(C)/machine.h \
- @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h \
- @$(C)/bytes.h @$(C)/arith.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @bytes1.o \
- @endif
- @$(C)/bytes1.c
- #
- # The target "@bytes1a.o" recompiles bytes1.c, but with the flag set that
- # arranges that the number of GET operations performed and the associated
- # indicators will be recorded, so that (bytecounts) will display statistics
- # about it. This slows things down considerably, but can help when you are in
- # the process of deciding which indicators are specified as "fast" ones.
- #
- @bytes1a.o: @$(C)/bytes1.c @$(C)/bytes.c @$(C)/tags.h @$(C)/machine.h \
- @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h \
- @$(C)/bytes.h @$(C)/arith.h
- $(CC) $(CFLAGS) -DRECORD_GET=1 \
- @if(gcc)
- -o @bytes1.o \
- @endif
- @$(C)/bytes1.c
- @char.o: @$(C)/char.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
- @$(C)/sys.h @$(C)/cslerror.h @$(C)/entries.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @char.o \
- @endif
- @$(C)/char.c
- @csl.o: @$(C)/csl.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h @$(C)/version.h \
- @$(C)/sys.h @$(C)/cslerror.h @$(C)/entries.h @$(C)/stream.h @$(C)/sockhdr.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @csl.o \
- @endif
- @$(C)/csl.c
- @if(win32)
- @r36front.o: @$(C)/r36front.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h @$(C)/version.h \
- @$(C)/sys.h @$(C)/cslerror.h @$(C)/entries.h @$(C)/stream.h @$(C)/sockhdr.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @r36front.o \
- @endif
- @$(C)/r36front.c
- @endif
- @if(cwin)
- # the cwin window manager package is for use with Watcom C only (at present)
- @c_applic.o: @$(C)/c_applic.cpp @$(C)/cwin.h @$(C)/cwin.hpp @$(C)/cwinres.h
- $(CPP) $(CPPFLAGS) \
- @if(gcc)
- -o @c_applic.o \
- @endif
- @$(C)/c_applic.cpp
- @c_applic1.o: @$(C)/c_applic.cpp @$(C)/cwin.h @$(C)/cwin.hpp @$(C)/cwinres.h
- $(CPP) $(CPPFLAGS) -DDEMOVERSION=1 \
- @if(gcc)
- -o @c_applic1.o \
- @else
- $(OUTOBJ)@~@c_applic1.o
- @endif
- @$(C)/c_applic.cpp
- @c_text.o: @$(C)/c_text.cpp @$(C)/cwin.h @$(C)/cwin.hpp @$(C)/cwinres.h
- $(CPP) $(CPPFLAGS) \
- @if(gcc)
- -o @c_text.o \
- @endif
- @$(C)/c_text.cpp
- @c_graph.o: @$(C)/c_graph.cpp @$(C)/cwin.h @$(C)/cwin.hpp @$(C)/cwinres.h
- $(CPP) $(CPPFLAGS) \
- @if(gcc)
- -o @c_graph.o \
- @endif
- @$(C)/c_graph.cpp
- @c_render.o: @$(C)/c_render.cpp @$(C)/cwin.h @$(C)/cwin.hpp @$(C)/cwinres.h
- $(CPP) $(CPPFLAGS) \
- @if(gcc)
- -o @c_render.o \
- @endif
- @$(C)/c_render.cpp
- @c_viewpt.o: @$(C)/c_viewpt.cpp @$(C)/cwin.h @$(C)/cwin.hpp @$(C)/cwinres.h
- $(CPP) $(CPPFLAGS) \
- @if(gcc)
- -o @c_viewpt.o \
- @endif
- @$(C)/c_viewpt.cpp
- @endif
- @eval1.o: @$(C)/eval1.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
- @$(C)/sys.h @$(C)/cslerror.h @$(C)/arith.h @$(C)/entries.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @eval1.o \
- @endif
- @$(C)/eval1.c
- @eval2.o: @$(C)/eval2.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
- @$(C)/sys.h @$(C)/cslerror.h @$(C)/arith.h @$(C)/entries.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @eval2.o \
- @endif
- @$(C)/eval2.c
- @eval3.o: @$(C)/eval3.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
- @$(C)/sys.h @$(C)/cslerror.h @$(C)/entries.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @eval3.o \
- @endif
- @$(C)/eval3.c
- @eval4.o: @$(C)/eval4.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
- @$(C)/sys.h @$(C)/cslerror.h @$(C)/arith.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @eval4.o \
- @endif
- @$(C)/eval4.c
- @fasl.o: @$(C)/fasl.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
- @$(C)/sys.h @$(C)/cslerror.h @$(C)/arith.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @fasl.o \
- @endif
- @$(C)/fasl.c
- @fns1.o: @$(C)/fns1.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
- @$(C)/sys.h @$(C)/cslerror.h @$(C)/entries.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @fns1.o \
- @endif
- @$(C)/fns1.c
- @fns2.o: @$(C)/fns2.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
- @$(C)/sys.h @$(C)/cslerror.h @$(C)/read.h @$(C)/entries.h \
- @$(C)/sockhdr.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @fns2.o \
- @endif
- @$(C)/fns2.c
- @fns3.o: @$(C)/fns3.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
- @$(C)/sys.h @$(C)/cslerror.h @$(C)/read.h @$(C)/entries.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @fns3.o \
- @endif
- @$(C)/fns3.c
- @gc.o: @$(C)/gc.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
- @$(C)/sys.h @$(C)/cslerror.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @gc.o \
- @endif
- @$(C)/gc.c
- #
- # For each major target I have one file that is system specific - eg
- # sysdos.c, sysunix.c, ...
- #
- @$(SYS).o: @$(C)/$(SYS).c @$(C)/machine.h @$(C)/externs.h \
- @$(C)/sys.h @$(C)/fileops.c @$(C)/scandir.c @$(C)/version.h \
- @$(C)/filename.c
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @$(SYS).o \
- @endif
- @$(C)/$(SYS).c
- @preserve.o: @$(C)/preserve.c @$(C)/tags.h @$(C)/machine.h @$(C)/stream.h \
- @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h @$(C)/read.h @$(C)/version.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @preserve.o \
- @endif
- @$(C)/preserve.c
- @print.o: @$(C)/print.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
- @$(C)/sys.h @$(C)/cslerror.h @$(C)/read.h \
- @$(C)/arith.h @$(C)/entries.h @$(C)/stream.h @$(C)/sockhdr.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @print.o \
- @endif
- @$(C)/print.c
- @read.o: @$(C)/read.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
- @$(C)/sys.h @$(C)/cslerror.h @$(C)/read.h \
- @$(C)/arith.h @$(C)/entries.h @$(C)/stream.h @$(C)/sockhdr.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @read.o \
- @endif
- @$(C)/read.c
- @restart.o: @$(C)/restart.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
- @$(C)/sys.h @$(C)/cslerror.h @$(C)/read.h @$(C)/version.h \
- @$(C)/arith.h @$(C)/entries.h @$(C)/stream.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @restart.o \
- @endif
- @$(C)/restart.c
- @stubs.o: @$(C)/stubs.c @$(C)/machine.h @$(C)/externs.h @$(C)/sys.h \
- @$(C)/tags.h @$(C)/cslerror.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @stubs.o \
- @endif
- @$(C)/stubs.c
- @cslmpi.o: @$(C)/cslmpi.c @$(C)/machine.h @$(C)/externs.h @$(C)/sys.h \
- @$(C)/mpipack.c @$(C)/tags.h @$(C)/cslerror.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @cslmpi.o \
- @endif
- @$(C)/cslmpi.c
- ###########################################################################
- @u01.o: u01.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
- @$(C)/cslerror.h @$(C)/entries.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @u01.o \
- @endif
- u01.c
- @u02.o: u02.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
- @$(C)/cslerror.h @$(C)/entries.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @u02.o \
- @endif
- u02.c
- @u03.o: u03.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
- @$(C)/cslerror.h @$(C)/entries.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @u03.o \
- @endif
- u03.c
- @u04.o: u04.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
- @$(C)/cslerror.h @$(C)/entries.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @u04.o \
- @endif
- u04.c
- @u05.o: u05.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
- @$(C)/cslerror.h @$(C)/entries.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @u05.o \
- @endif
- u05.c
- @u06.o: u06.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
- @$(C)/cslerror.h @$(C)/entries.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @u06.o \
- @endif
- u06.c
- @u07.o: u07.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
- @$(C)/cslerror.h @$(C)/entries.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @u07.o \
- @endif
- u07.c
- @u08.o: u08.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
- @$(C)/cslerror.h @$(C)/entries.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @u08.o \
- @endif
- u08.c
- @u09.o: u09.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
- @$(C)/cslerror.h @$(C)/entries.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @u09.o \
- @endif
- u09.c
- @u10.o: u10.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
- @$(C)/cslerror.h @$(C)/entries.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @u10.o \
- @endif
- u10.c
- @u11.o: u11.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
- @$(C)/cslerror.h @$(C)/entries.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @u11.o \
- @endif
- u11.c
- @u12.o: u12.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \
- @$(C)/cslerror.h @$(C)/entries.h
- $(CC) $(CFLAGS) \
- @if(gcc)
- -o @u12.o \
- @endif
- u12.c
- #
- # "make ccode" re-manufactures u01.c to u12.c and u01.lsp to u12.lsp
- # I do not put in dependencies that cause this to happen automatically
- # since experience shows that if I did it would happen (at significant
- # expense) much too often. However when things alter in the Reduce
- # source directory or when major changes are made to CSL this should be
- # activated.
- #
- #
- # N.B. the step here used $(XSTORE) rather than $(STORE) because this
- # build step may take more memory than any other.
- #
- ccode: @slowcsl.exe @slowr36.img $(SYMBOLIC)
- $(WX) slowcsl $(XSTORE) -i @slowr36.img -v @../cslsrc/select36.red -- @select36.log
- #
- # Code to recreate the log files from the production version of the system.
- #
- # Note that for Windows benefit I use my own private output redirection with
- # "--" rather than ">", since ">" seems incompatible with fully window
- # applications, even when launched from the command line. Then to make this
- # file consistent across platforms I use the same scheme all the time.
- #
- @log/algint.log: @r36.exe @r36.img @../xmpl/algint.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=algint -Dloadup=algint -- @log/algint.log
- @log/applysym.log: @r36.exe @r36.img @../xmpl/applysym.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=applysym -Dloadup=applysym -- @log/applysym.log
- @log/arnum.log: @r36.exe @r36.img @../xmpl/arnum.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=arnum -Dloadup=arnum -- @log/arnum.log
- @log/assist.log: @r36.exe @r36.img @../xmpl/assist.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=assist -Dloadup=assist -- @log/assist.log
- @log/avector.log: @r36.exe @r36.img @../xmpl/avector.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=avector -Dloadup=avector -- @log/avector.log
- @log/boolean.log: @r36.exe @r36.img @../xmpl/boolean.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=boolean -Dloadup=boolean -- @log/boolean.log
- @log/cali.log: @r36.exe @r36.img @../xmpl/cali.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=cali -Dloadup=cali -- @log/cali.log
- @log/camal.log: @r36.exe @r36.img @../xmpl/camal.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=camal -Dloadup=camal -- @log/camal.log
- @log/changevr.log: @r36.exe @r36.img @../xmpl/changevr.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=changevr -Dloadup=changevr -- @log/changevr.log
- @log/compact.log: @r36.exe @r36.img @../xmpl/compact.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=compact -Dloadup=compact -- @log/compact.log
- @log/complex.log: @r36.exe @r36.img @../xmpl/complex.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=complex -- @log/complex.log
- @log/crack.log: @r36.exe @r36.img @../xmpl/crack.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=crack -Dloadup=crack -- @log/crack.log
- @log/cvit.log: @r36.exe @r36.img @../xmpl/cvit.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=cvit -Dloadup=cvit -- @log/cvit.log
- @log/decompos.log: @r36.exe @r36.img @../xmpl/decompos.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=decompos -- @log/decompos.log
- @log/defint.log: @r36.exe @r36.img @../xmpl/defint.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=defint -Dloadup=defint -- @log/defint.log
- @log/desir.log: @r36.exe @r36.img @../xmpl/desir.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=desir -Dloadup=desir -- @log/desir.log
- @log/dfpart.log: @r36.exe @r36.img @../xmpl/dfpart.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=dfpart -Dloadup=dfpart -- @log/dfpart.log
- @log/dummy.log: @r36.exe @r36.img @../xmpl/dummy.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=dummy -Dloadup=dummy -- @log/dummy.log
- @log/elem.log: @r36.exe @r36.img @../xmpl/elem.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=elem -- @log/elem.log
- @log/excalc.log: @r36.exe @r36.img @../xmpl/excalc.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=excalc -Dloadup=excalc -- @log/excalc.log
- @log/factor.log: @r36.exe @r36.img @../xmpl/factor.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=factor -- @log/factor.log
- @log/fide.log: @r36.exe @r36.img @../xmpl/fide.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=fide -Dloadup=fide -- @log/fide.log
- @log/fps.log: @r36.exe @r36.img @../xmpl/fps.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=fps -Dloadup=fps -- @log/fps.log
- @log/gcd.log: @r36.exe @r36.img @../xmpl/gcd.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=gcd -- @log/gcd.log
- @log/gentran.log: @r36.exe @r36.img @../xmpl/gentran.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=gentran -Dloadup=gentran -- @log/gentran.log
- @log/groebner.log: @r36.exe @r36.img @../xmpl/groebner.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=groebner -Dloadup=groebner -- @log/groebner.log
- @log/ideals.log: @r36.exe @r36.img @../xmpl/ideals.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=ideals -Dloadup=ideals -- @log/ideals.log
- @log/ineq.log: @r36.exe @r36.img @../xmpl/ineq.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=ineq -Dloadup=ineq -- @log/ineq.log
- @log/int.log: @r36.exe @r36.img @../xmpl/int.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=int -- @log/int.log
- @log/invbase.log: @r36.exe @r36.img @../xmpl/invbase.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=invbase -Dloadup=invbase -- @log/invbase.log
- @log/laplace.log: @r36.exe @r36.img @../xmpl/laplace.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=laplace -Dloadup=laplace -- @log/laplace.log
- @log/lie.log: @r36.exe @r36.img @../xmpl/lie.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=lie -Dloadup=lie -- @log/lie.log
- @log/limits.log: @r36.exe @r36.img @../xmpl/limits.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=limits -- @log/limits.log
- @log/linalg.log: @r36.exe @r36.img @../xmpl/linalg.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=linalg -Dloadup=linalg -- @log/linalg.log
- @log/math.log: @r36.exe @r36.img @../xmpl/math.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=math -- @log/math.log
- @log/matrix.log: @r36.exe @r36.img @../xmpl/matrix.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=matrix -- @log/matrix.log
- @log/modsr.log: @r36.exe @r36.img @../xmpl/modsr.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=modsr -Dloadup=modsr -- @log/modsr.log
- @log/ncpoly.log: @r36.exe @r36.img @../xmpl/ncpoly.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=ncpoly -Dloadup=ncpoly -- @log/ncpoly.log
- @log/normform.log: @r36.exe @r36.img @../xmpl/normform.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=normform -Dloadup=normform -- @log/normform.log
- @log/numeric.log: @r36.exe @r36.img @../xmpl/numeric.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=numeric -Dloadup=numeric -- @log/numeric.log
- @log/odesolve.log: @r36.exe @r36.img @../xmpl/odesolve.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=odesolve -Dloadup=odesolve -- @log/odesolve.log
- @log/orthovec.log: @r36.exe @r36.img @../xmpl/orthovec.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=orthovec -Dloadup=orthovec -- @log/orthovec.log
- @log/pf.log: @r36.exe @r36.img @../xmpl/pf.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=pf -- @log/pf.log
- @log/physop.log: @r36.exe @r36.img @../xmpl/physop.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=physop -Dloadup=physop -- @log/physop.log
- @log/pmrules.log: @r36.exe @r36.img @../xmpl/pmrules.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=pmrules -Dloadup=pmrules -- @log/pmrules.log
- @log/randpoly.log: @r36.exe @r36.img @../xmpl/randpoly.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=randpoly -Dloadup=randpoly -- @log/randpoly.log
- @log/reacteqn.log: @r36.exe @r36.img @../xmpl/reacteqn.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=reacteqn -Dloadup=reacteqn -- @log/reacteqn.log
- @log/reduce.log: @r36.exe @r36.img @../xmpl/reduce.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=reduce -- @log/reduce.log
- @log/residue.log: @r36.exe @r36.img @../xmpl/residue.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=residue -Dloadup=residue -- @log/residue.log
- @log/rlfi.log: @r36.exe @r36.img @../xmpl/rlfi.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=rlfi -Dloadup=rlfi -- @log/rlfi.log
- @log/rlisp88.log: @r36.exe @r36.img @../xmpl/rlisp88.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=rlisp88 -- @log/rlisp88.log
- @log/roots.log: @r36.exe @r36.img @../xmpl/roots.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=roots -- @log/roots.log
- @log/rounded.log: @r36.exe @r36.img @../xmpl/rounded.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=rounded -- @log/rounded.log
- @log/rsolve.log: @r36.exe @r36.img @../xmpl/rsolve.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=rsolve -Dloadup=rsolve -- @log/rsolve.log
- @log/scope.log: @r36.exe @r36.img @../xmpl/scope.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=scope -Dloadup=scope -- @log/scope.log
- @log/sets.log: @r36.exe @r36.img @../xmpl/sets.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=sets -Dloadup=sets -- @log/sets.log
- @log/solve.log: @r36.exe @r36.img @../xmpl/solve.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=solve -- @log/solve.log
- @log/spde.log: @r36.exe @r36.img @../xmpl/spde.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=spde -Dloadup=spde -- @log/spde.log
- @log/specfn.log: @r36.exe @r36.img @../xmpl/specfn.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=specfn -Dloadup=specfn -- @log/specfn.log
- @log/sum.log: @r36.exe @r36.img @../xmpl/sum.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=sum -- @log/sum.log
- @log/symmetry.log: @r36.exe @r36.img @../xmpl/symmetry.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=symmetry -Dloadup=symmetry -- @log/symmetry.log
- @log/taylor.log: @r36.exe @r36.img @../xmpl/taylor.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=taylor -Dloadup=taylor -- @log/taylor.log
- @log/tps.log: @r36.exe @r36.img @../xmpl/tps.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=tps -Dloadup=tps -- @log/tps.log
- @log/tri.log: @r36.exe @r36.img @../xmpl/tri.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=tri -Dloadup=tri -- @log/tri.log
- @log/trigsimp.log: @r36.exe @r36.img @../xmpl/trigsimp.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=trigsimp -Dloadup=trigsimp -- @log/trigsimp.log
- @log/wu.log: @r36.exe @r36.img @../xmpl/wu.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=wu -Dloadup=wu -- @log/wu.log
- @log/xcolor.log: @r36.exe @r36.img @../xmpl/xcolor.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=xcolor -Dloadup=xcolor -- @log/xcolor.log
- @log/xideal.log: @r36.exe @r36.img @../xmpl/xideal.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=xideal -Dloadup=xideal -- @log/xideal.log
- @log/zeilberg.log: @r36.exe @r36.img @../xmpl/zeilberg.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=zeilberg -Dloadup=zeilberg -- @log/zeilberg.log
- @log/ztrans.log: @r36.exe @r36.img @../xmpl/ztrans.tst
- $(WX) r36 $(STORE) -b @../cslsrc/ndotest.red -Dname=ztrans -Dloadup=ztrans -- @log/ztrans.log
- # end of makefile
|