Artifact 71304e973a2afd3dabcfbc3b1a4d6dadad51e8695058af3668d7cbae27b57ecc:
- Executable file
r37/lisp/csl/util/makebase
— part of check-in
[f2fda60abd]
at
2011-09-02 18:13:33
on branch master
— Some historical releases purely for archival purposes
git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk/historical@1375 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 63233) [annotate] [blame] [check-ins using] [more...]
@ @ Reduce 3.7 "makebase". Copyright (C) 1995-99, Codemist Ltd @ @ @ This data file is used to create the makefile for REDUCE 3.7 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. @ @ MOST users will just be able to adopt one of the pre-built "Makefile"s @ that have already been created from this master version. @ @ 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 blank if "blank1" 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(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(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(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.7 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 @set(blank1) 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 CCFLAGS1 = -d_MBCS=1 -d_WINDOWS=1 -dWINDOWS_NT=1 -bt=nt -DCOMMAND_LINE_VERSION=1 @elif(winnt) CCFLAGS = -d_MBCS=1 -d_WINDOWS=1 -dWINDOWS_NT=1 -bt=nt -DCWIN=1 CCFLAGS1 = -d_MBCS=1 -d_WINDOWS=1 -dWINDOWS_NT=1 -bt=nt -DCOMMAND_LINE_VERSION=1 @else CCFLAGS = -d_MBCS=1 -bt=dos4g @endif CFLAGS = $(OPTFLAGS) $(CCFLAGS) -i=$(CSLBASE) $(MPIFLAGS) -5r-zp4-ei-w3-bm-fhq CFLAGS1 = $(OPTFLAGS) $(CCFLAGS1) -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 eliminate,stack=256K $(LDEBUG) file @else LSYS = nt_win LSYSX = nt @if(debug) LIBS = REFERENCE _wstart2_ LIBSX = LFLAGS = system $(LSYS) option eliminate,stack=256K $(LDEBUG) file LFLAGSX = system $(LSYSX) option eliminate,stack=256K $(LDEBUG) file @else LIBS = REFERENCE _wstart2_ LIBSX = LFLAGS = system $(LSYS) option eliminate,stack=256K $(LDEBUG) file LFLAGSX = system $(LSYSX) option 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 @set(dos_too) SYS1 = sysdos # 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 @set(dos_too) SYS1 = sysdos 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) CFLAGS1 = $(OPTFLAGS) -c -W3 -DWINDOWS_NT=1 -I$(CSLBASE) -DCOMMAND_LINE_VERSION=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 LIBSX = kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib \ advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib \ odbc32.lib odbccp32.lib wsock32.lib libc.lib @if(debug) TAIL = -link -debug -nodefaultlib -subsystem:windows TAILX = -link -debug -nodefaultlib -subsystem:console @else TAIL = -link -nodefaultlib -subsystem:windows TAILX = -link -nodefaultlib -subsystem:console @endif CSLRES = csl.res R37RES = r37.res DEMORES = demored.res FRONTRES = r37front.res @set(ressym) OUT = -o @set(blank1) OUTOBJ = -Fo ASM = $(CC) ASMFLAGS = $(CFLAGS) ASMSRC = imulvc.c ASMOBJ = imulvc.obj ASMOBJDEP = imulvc.obj @if(win95) SYS = syscwin @set(dos_too) SYS1 = sysdos WX = start /w @elif(winnt) SYS = syscwin @set(dos_too) SYS1 = sysdos 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 R37RES = r37.res DEMORES = demored.res FRONTRES = r37front.res OUT = -e @set(blank1) 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 @set(blank1) 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, but current # 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. 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 @set(blank1) 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(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.7 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 @r37.img, the image file for full REDUCE. # If you want to rebuild stage-by-stage (eg while testing), try the # sequence # make @slowr37.exe compiles and links C coded kernel # make @slowr37.img makes bootstrap REDUCE # (roughly twice as slow as final one) # only used for system recompilation. # make profile runs tests, collects profile information. # This takes a long time! # make prof-inst installs profile data # make c-code Create files u*.c and u*.lsp # out of hot-spot parts of REDUCE. ########################################################################### # Note that only the steps from here downwards are usually needed # # make @r37.exe final compilation of most of REDUCE # make @r37.img build final image file # make testall runs test files, output to log directory # make checkall creates @log/checkall.log # # (for Windows 95/98/NT only) # make r37c.exe command-line version # ########################################################################### ########################################################################### # # 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 ########################################################################### ########################################################################### # This default target may be a dangerous one to use # since it supposes that all the C code is up to date already. default: $(SYMBOLIC) \ @if(dos_too) @r37c.exe \ @endif @r37.exe @r37.img ########################################################################### ########################################################################### @r37.img: @r37.exe @../util/full37 @r37.exe: @bytes.o $(OBJS) \ @if(microsoft) $(R37RES) \ @endif $(UOBJS) @if(borland) $(LINK) -er37.exe @@@../cslsrc/borr37.lnk @else @if(linkcomma) $(LINK) $(LFLAGS) @bytes.o,$(COBJS),$(CUOBJS) $(LIBS) $(OUT)@~@r37.exe $(TAIL) @else @if(ressym) $(LINK) $(LFLAGS) @bytes.o $(OBJS) $(UOBJS) $(R37RES) $(LIBS) $(OUT)@~@r37.exe $(TAIL) @else $(LINK) $(LFLAGS) @bytes.o $(OBJS) $(UOBJS) $(LIBS) $(OUT)@~@r37.exe $(TAIL) @endif @endif @endif @if(resourcefile) @if(watcom) wrc -i@../util -i@$(C) -bt=nt @../util/r37.rc @r37.exe @endif @endif $(STRIP) @r37.exe -$(MKDIR) log @if(resourcefile) @if(microsoft) csl.res: @../util/csl.rc @$(C)/cwin.rc rc -i@../cslsrc -i@$(C) -focsl.res @../util/csl.rc r37.res: @../util/r37.rc @$(C)/cwin.rc rc -i@../cslsrc -i@$(C) -for37.res @../util/r37.rc #demored.res: @../util/demored.rc @$(C)/cwin.rc # rc -i@../cslsrc -i@$(C) -fodemored.res @../util/demored.rc @endif @endif # # A few targets here may help me tidy up my filespace from time to time # clean: $(SYMBOLIC) -$(RM) @slowr37.exe -$(RM) @slowr37.img -$(RM) @r37.exe -$(RM) @r37.img -$(RM) @csl.exe -$(RM) @csl.img @if(dos_too) -$(RM) @slowr37c.exe -$(RM) @r37c.exe -$(RM) @cslc.exe @endif -$(RM) @*.o -$(MKDIR) log -$(RM) @log/*.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 @slowr37.exe: @bytes1.o $(OBJS) \ @if(microsoft) $(CSLRES) \ @endif @stubs.o @if(borland) $(LINK) -eslowr37.exe @@@../cslsrc/borcsl.lnk @else @if(watcom) $(LINK) $(LFLAGS) @bytes1.o,$(COBJS),@stubs.o $(LIBS) $(OUT)@~@slowr37.exe $(TAIL) @else @if(ressym) $(LINK) $(LFLAGS) @bytes1.o $(OBJS) @stubs.o $(CSLRES) $(LIBS) $(OUT)@~@slowr37.exe $(TAIL) @else $(LINK) $(LFLAGS) @bytes1.o $(OBJS) @stubs.o $(LIBS) $(OUT)@~@slowr37.exe $(TAIL) @endif @endif @endif @if(resourcefile) @if(watcom) wrc -i@$(C) -i@$(C) -bt=nt @$(C)/csl.rc @slowr37.exe @endif @endif $(STRIP) @slowr37.exe -$(MKDIR) log @slowr37.img: @slowr37.exe @../util/boot37 profile: @slowr37.img $(SYMBOLIC) @../util/profile prof-inst: profile.dat $(SYMBOLIC) $(COPY) profile.dat @../csl-c -$(RM) profile.dat c-code: @slowr37.img $(SYMBOLIC) @../util/c-code37 testslow: @slowr37.img $(SYMBOLIC) @../util/testslow testall: @r37.img $(SYMBOLIC) @../util/testrest checkall: @r37.img $(SYMBOLIC) @../util/checkall patchup: @r37.img $(SYMBOLIC) @../util/patchup cleanlog: $(SYMBOLIC) -$(RM) ../../../log/*.rlg @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)" -- @log/cslimg.log # # "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. # NB: only for system maintainance use. lispfile: @csl.exe @csl.img @$(C)/lispfile.lsp $(SYMBOLIC) $(WX) @./csl $(STORE) -v -z @$(C)/lispfile.lsp \ -D@@cslbase="$(C)" -- @log/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) @r37front.o: @$(C)/r37front.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 @r37front.o \ @endif @$(C)/r37front.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: @../csl-c/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 @../csl-c/u01.c @u02.o: @../csl-c/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 @../csl-c/u02.c @u03.o: @../csl-c/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 @../csl-c/u03.c @u04.o: @../csl-c/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 @../csl-c/u04.c @u05.o: @../csl-c/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 @../csl-c/u05.c @u06.o: @../csl-c/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 @../csl-c/u06.c @u07.o: @../csl-c/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 @../csl-c/u07.c @u08.o: @../csl-c/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 @../csl-c/u08.c @u09.o: @../csl-c/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 @../csl-c/u09.c @u10.o: @../csl-c/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 @../csl-c/u10.c @u11.o: @../csl-c/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 @../csl-c/u11.c @u12.o: @../csl-c/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 @../csl-c/u12.c @if(dos_too) # # I also arrange to be able to make a command-line version of the system. # DOBJSX = @arith01x.o @arith02x.o @arith03x.o @arith04x.o \ @arith05x.o @arith06x.o @arith07x.o @arith08x.o \ @arith09x.o @arith10x.o @arith11x.o @arith12x.o \ @charx.o @cslx.o @cslmpix.o @eval1x.o @eval2x.o \ @eval3x.o @eval4x.o @fns1x.o @fns2x.o @fns3x.o \ @printx.o @readx.o @restartx.o $(ASMOBJ) \ @$(SYS1)x.o CDOBJSX = @arith01x.o,@arith02x.o,@arith03x.o,@arith04x.o,\ @arith05x.o,@arith06x.o,@arith07x.o,@arith08x.o,\ @arith09x.o,@arith10x.o,@arith11x.o,@arith12x.o,\ @charx.o,@cslx.o,@cslmpix.o,@eval1x.o,@eval2x.o,\ @eval3x.o,@eval4x.o,@fns1x.o,@fns2x.o,@fns3x.o,\ @printx.o,@readx.o,@restartx.o,$(ASMOBJ),\ @$(SYS1)x.o # # OBJSX adds in the files used when I am not building a demonstration-mode CSL # OBJSX = $(DOBJSX) @faslx.o @gcx.o @preservex.o COBJSX = $(CDOBJSX),@faslx.o,@gcx.o,@preservex.o # # UOBJSX come from that code that is compiled from Lisp into C # UOBJSX = @u01x.o @u02x.o @u03x.o @u04x.o @u05x.o \ @u06x.o @u07x.o @u08x.o @u09x.o @u10x.o \ @u11x.o @u12x.o CUOBJSX = @u01x.o,@u02x.o,@u03x.o,@u04x.o,@u05x.o,\ @u06x.o,@u07x.o,@u08x.o,@u09x.o,@u10x.o,\ @u11x.o,@u12x.o @cslc.exe: @bytesx.o $(OBJSX) \ @if(microsoft) $(CSLRES) \ @endif @stubsx.o @if(borland) $(LINK) -ecslc.exe @@@../cslsrc/borcsl.lnk @else @if(watcom) $(LINK) $(LFLAGSX) @bytesx.o,$(COBJSX),@stubsx.o $(LIBSX) $(OUT)@~@cslc.exe $(TAILX) @else @if(ressym) $(LINK) $(LFLAGSX) @bytesx.o $(OBJSX) @stubsx.o $(CSLRES) $(LIBSX) $(OUT)@~@cslc.exe $(TAILX) @else $(LINK) $(LFLAGSX) @bytesx.o $(OBJSX) @stubsx.o $(LIBSX) $(OUT)@~@cslc.exe $(TAILX) @endif @endif @endif @if(resourcefile) @if(watcom) wrc -i@$(C) -i@$(C) -bt=nt @$(C)/csl.rc @cslc.exe @endif @endif $(STRIP) @cslc.exe @slowr37c.exe: @bytes1x.o $(OBJSX) \ @if(microsoft) $(CSLRES) \ @endif @stubsx.o @if(borland) $(LINK) -eslowr37c.exe @@@../cslsrc/borcsl.lnk @else @if(watcom) $(LINK) $(LFLAGSX) @bytes1x.o,$(COBJSX),@stubsx.o $(LIBSX) $(OUT)@~@slowr37c.exe $(TAILX) @else @if(ressym) $(LINK) $(LFLAGSX) @bytes1x.o $(OBJSX) @stubsx.o $(CSLRES) $(LIBSX) $(OUT)@~@slowr37c.exe $(TAILX) @else $(LINK) $(LFLAGSX) @bytes1x.o $(OBJSX) @stubsx.o $(LIBSX) $(OUT)@~@slowr37c.exe $(TAILX) @endif @endif @endif @if(resourcefile) @if(watcom) wrc -i@$(C) -i@$(C) -bt=nt @$(C)/csl.rc @slowr37c.exe @endif @endif $(STRIP) @slowr37c.exe -$(MKDIR) log r37c.exe: @bytesx.o $(OBJSX) \ @if(microsoft) $(R37RES) \ @endif $(UOBJSX) @if(borland) $(LINK) -er37c.exe @@@../cslsrc/borr37.lnk @else @if(linkcomma) $(LINK) $(LFLAGSX) @bytesx.o,$(COBJSX),$(CUOBJSX) $(LIBSX) $(OUT)@~@r37c.exe $(TAILX) @else @if(ressym) $(LINK) $(LFLAGSX) @bytesx.o $(OBJSX) $(UOBJSX) $(R37RES) $(LIBSX) $(OUT)@~@r37c.exe $(TAILX) @else $(LINK) $(LFLAGSX) @bytesx.o $(OBJSX) $(UOBJSX) $(LIBSX) $(OUT)@~@r37c.exe $(TAILX) @endif @endif @endif @if(resourcefile) @if(watcom) wrc -i@../util -i@$(C) -bt=nt @../util/r37.rc @r37c.exe @endif @endif $(STRIP) @r37c.exe -$(MKDIR) log @arith01x.o: @$(C)/arith01.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \ @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@arith01x.o \ @$(C)/arith01.c @arith02x.o: @$(C)/arith02.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \ @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@arith02x.o \ @$(C)/arith02.c @arith03x.o: @$(C)/arith03.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \ @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@arith03x.o \ @$(C)/arith03.c @arith04x.o: @$(C)/arith04.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \ @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@arith04x.o \ @$(C)/arith04.c @arith05x.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) $(CFLAGS1) \ $(OUTOBJ)@=@arith05x.o \ @$(C)/arith05.c @arith06x.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) $(CFLAGS1) \ $(OUTOBJ)@=@arith06x.o \ @$(C)/arith06.c @arith07x.o: @$(C)/arith07.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \ @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@arith07x.o \ @$(C)/arith07.c @arith08x.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) $(CFLAGS1) \ $(OUTOBJ)@=@arith08x.o \ @$(C)/arith08.c @arith09x.o: @$(C)/arith09.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \ @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@arith09x.o \ @$(C)/arith09.c @arith10x.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) $(CFLAGS1) \ $(OUTOBJ)@=@arith10x.o \ @$(C)/arith10.c @arith11x.o: @$(C)/arith11.c @$(C)/arith.h @$(C)/tags.h @$(C)/machine.h \ @$(C)/externs.h @$(C)/sys.h @$(C)/cslerror.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@arith11x.o \ @$(C)/arith11.c @arith12x.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) $(CFLAGS1) \ $(OUTOBJ)@=@arith12x.o \ @$(C)/arith12.c @bytesx.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) $(CFLAGS1) \ $(OUTOBJ)@=@bytesx.o \ @$(C)/bytes.c @bytes1x.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) $(CFLAGS1) \ $(OUTOBJ)@=@bytes1x.o \ @$(C)/bytes1.c # # The target "@bytes1ax.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. # @bytes1ax.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) $(CFLAGS1) -DRECORD_GET=1 \ $(OUTOBJ)@=@bytes1x.o \ @$(C)/bytes1.c @charx.o: @$(C)/char.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \ @$(C)/sys.h @$(C)/cslerror.h @$(C)/entries.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@charx.o \ @$(C)/char.c @cslx.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) $(CFLAGS1) \ $(OUTOBJ)@=@cslx.o \ @$(C)/csl.c @eval1x.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) $(CFLAGS1) \ $(OUTOBJ)@=@eval1x.o \ @$(C)/eval1.c @eval2x.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) $(CFLAGS1) \ $(OUTOBJ)@=@eval2x.o \ @$(C)/eval2.c @eval3x.o: @$(C)/eval3.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \ @$(C)/sys.h @$(C)/cslerror.h @$(C)/entries.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@eval3x.o \ @$(C)/eval3.c @eval4x.o: @$(C)/eval4.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \ @$(C)/sys.h @$(C)/cslerror.h @$(C)/arith.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@eval4x.o \ @$(C)/eval4.c @faslx.o: @$(C)/fasl.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \ @$(C)/sys.h @$(C)/cslerror.h @$(C)/arith.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@faslx.o \ @$(C)/fasl.c @fns1x.o: @$(C)/fns1.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \ @$(C)/sys.h @$(C)/cslerror.h @$(C)/entries.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@fns1x.o \ @$(C)/fns1.c @fns2x.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) $(CFLAGS1) \ $(OUTOBJ)@=@fns2x.o \ @$(C)/fns2.c @fns3x.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) $(CFLAGS1) \ $(OUTOBJ)@=@fns3x.o \ @$(C)/fns3.c @gcx.o: @$(C)/gc.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \ @$(C)/sys.h @$(C)/cslerror.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@gcx.o \ @$(C)/gc.c # # For each major target I have one file that is system specific - eg # sysdos.c, sysunix.c, ... # @$(SYS1)x.o: @$(C)/$(SYS1).c @$(C)/machine.h @$(C)/externs.h \ @$(C)/sys.h @$(C)/fileops.c @$(C)/scandir.c @$(C)/version.h \ @$(C)/filename.c $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@$(SYS1)x.o \ @$(C)/$(SYS1).c @preservex.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) $(CFLAGS1) \ $(OUTOBJ)@=@preservex.o \ @$(C)/preserve.c @printx.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) $(CFLAGS1) \ $(OUTOBJ)@=@printx.o \ @$(C)/print.c @readx.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) $(CFLAGS1) \ $(OUTOBJ)@=@readx.o \ @$(C)/read.c @restartx.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) $(CFLAGS1) \ $(OUTOBJ)@=@restartx.o \ @$(C)/restart.c @stubsx.o: @$(C)/stubs.c @$(C)/machine.h @$(C)/externs.h @$(C)/sys.h \ @$(C)/tags.h @$(C)/cslerror.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@stubsx.o \ @$(C)/stubs.c @cslmpix.o: @$(C)/cslmpi.c @$(C)/machine.h @$(C)/externs.h @$(C)/sys.h \ @$(C)/mpipack.c @$(C)/tags.h @$(C)/cslerror.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@cslmpix.o \ @$(C)/cslmpi.c ########################################################################### @u01x.o: @../csl-c/u01.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \ @$(C)/cslerror.h @$(C)/entries.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@u01x.o \ @../csl-c/u01.c @u02x.o: @../csl-c/u02.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \ @$(C)/cslerror.h @$(C)/entries.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@u02x.o \ @../csl-c/u02.c @u03x.o: @../csl-c/u03.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \ @$(C)/cslerror.h @$(C)/entries.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@u03x.o \ @../csl-c/u03.c @u04x.o: @../csl-c/u04.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \ @$(C)/cslerror.h @$(C)/entries.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@u04x.o \ @../csl-c/u04.c @u05x.o: @../csl-c/u05.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \ @$(C)/cslerror.h @$(C)/entries.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@u05x.o \ @../csl-c/u05.c @u06x.o: @../csl-c/u06.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \ @$(C)/cslerror.h @$(C)/entries.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@u06x.o \ @../csl-c/u06.c @u07x.o: @../csl-c/u07.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \ @$(C)/cslerror.h @$(C)/entries.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@u07x.o \ @../csl-c/u07.c @u08x.o: @../csl-c/u08.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \ @$(C)/cslerror.h @$(C)/entries.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@u08x.o \ @../csl-c/u08.c @u09x.o: @../csl-c/u09.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \ @$(C)/cslerror.h @$(C)/entries.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@u09x.o \ @../csl-c/u09.c @u10x.o: @../csl-c/u10.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \ @$(C)/cslerror.h @$(C)/entries.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@u10x.o \ @../csl-c/u10.c @u11x.o: @../csl-c/u11.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \ @$(C)/cslerror.h @$(C)/entries.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@u11x.o \ @../csl-c/u11.c @u12x.o: @../csl-c/u12.c @$(C)/tags.h @$(C)/machine.h @$(C)/externs.h \ @$(C)/cslerror.h @$(C)/entries.h $(CC) $(CFLAGS1) \ $(OUTOBJ)@=@u12x.o \ @../csl-c/u12.c @endif # end of makefile