# # TermScript makefile # # © 1994 Straylight # #----- Flag definitions ----------------------------------------------------- # # This section only contains common flags -- others (e.g. debugging flags # and predefined macros) are defined in the howto lines. linkFlags= -d -o $@ -aif $(linkx) flinkFlags= -bin -base 0 -o $@ $(linkx) objFlags= -g -stamp -throwback -depend !Depend -quit $(objx) #----- Member list ---------------------------------------------------------- # # Because this list is used in a few of the targets below, it is defined as # a macro here for changability. members= @.o.var \ @.o.tree \ @.o.tokenise \ @.o.termite \ @.o.termScript \ @.o.strBucket \ @.o.stracc \ @.o.interp \ @.o.getToken \ @.o.express \ @.o.error \ @.o.divide \ @.o.ctrl \ testMembers= $(members) \ @.o.mem \ @.o.driver realMembers= $(members) \ @.o.mem_real libs= libs:o.rdump #----- Making the library --------------------------------------------------- # # For brevity's sake, this is done using implicit dependencies. .SUFFIXES: .o .s .s.o:; objasm $(objFlags) -from $< -to $@ all: @.termScript sh.tokens: tableGen here:tableGen sh.errTable: errGen here:errGen @.termScript: $(testMembers) $(libs) setdate o.version \ version="1.00 (%zdy %mo %ce%yr)" \ cright="Straylight" /link $(linkFlags) $(testMembers) $(libs) @.o.version @.tScript: $(realMembers) $(libs) setdate o.version \ version="1.00 (%zdy %mo %ce%yr)" \ cright="Straylight" /link -base 0 -bin -o $@ $(realMembers) $(libs) @.o.version settype $@ ffd # codescr -util $@ #----- Other targets -------------------------------------------------------- # # The targets available are: # # Target Meaning # # relink Force a relink of the executable. # remake Force a complete remake of the entire project. recreate:; remove @.!RunImage @amu all ccx=$(ccx) linkx=$(linkx) objx=$(objx) remake:; create @.o.dummy wipe @.o.* ~c~v~r~f @amu all ccx=$(ccx) linkx=$(linkx) objx=$(objx) #----- Dynamic dependencies ------------------------------------------------- # # The following are set up by compilers/assemblers and added to the Makefile # autoamtically. For this to work, amu requires that the following active # comment is inserted in the makefile: # # Dynamic dependencies: o.mem: s.mem o.mem: libs:header o.mem: libs:swis o.mem: libs:stream o.mem: sh.errNum o.mem: sh.error o.mem_real: s.mem_real o.mem_real: libs:header o.mem_real: libs:swis o.mem_real: libs:stream o.mem_real: sh.errNum o.mem_real: sh.error o.divide: s.divide o.divide: libs:header o.divide: libs:swis o.var: s.var o.var: libs:header o.var: libs:swis o.var: libs:stream o.var: sh.anchor o.var: sh.errNum o.var: sh.error o.var: sh.tree o.tree: s.tree o.tree: libs:header o.tree: libs:swis o.tree: libs:stream o.tree: sh.anchor o.tree: sh.mem o.termScript: s.termScript o.termScript: libs:header o.termScript: libs:swis o.termScript: libs:stream o.termScript: sh.anchor o.termScript: sh.ctrl o.termScript: sh.interp o.termScript: sh.mem o.termScript: sh.strBucket o.termScript: sh.termite o.termScript: sh.tree o.termScript: sh.tokenise o.termScript: sh.var o.strBucket: s.strBucket o.strBucket: libs:header o.strBucket: libs:swis o.strBucket: libs:stream o.strBucket: sh.anchor o.strBucket: sh.mem o.error: s.error o.error: libs:header o.error: libs:swis o.error: libs:stream o.error: sh.anchor o.error: sh.termScript o.error: sh.errTable o.error: sh.errTable o.tokenise: s.tokenise o.tokenise: libs:header o.tokenise: libs:swis o.tokenise: libs:stream o.tokenise: sh.anchor o.tokenise: sh.tokens o.tokenise: sh.var o.tokenise: sh.tokTable o.interp: s.interp o.interp: libs:header o.interp: libs:swis o.interp: libs:stream o.interp: sh.anchor o.interp: sh.ctrl o.interp: sh.errNum o.interp: sh.error o.interp: sh.express o.interp: sh.getToken o.interp: sh.termite o.interp: sh.termScript o.interp: sh.tokens o.interp: sh.upcalls o.getToken: s.getToken o.getToken: libs:header o.getToken: libs:swis o.getToken: libs:stream o.getToken: sh.anchor o.getToken: sh.tokClasses o.express: s.express o.express: libs:header o.express: libs:swis o.express: libs:stream o.express: sh.anchor o.express: sh.ctrl o.express: sh.divide o.express: sh.errNum o.express: sh.error o.express: sh.getToken o.express: sh.stracc o.express: sh.termite o.express: sh.termScript o.express: sh.tokenise o.express: sh.tokens o.express: sh.upcalls o.express: sh.mem o.express: sh.var o.driver: s.driver o.driver: libs:header o.driver: libs:swis o.driver: libs:stream o.stracc: s.stracc o.stracc: libs:header o.stracc: libs:swis o.stracc: libs:stream o.stracc: sh.anchor o.stracc: sh.mem o.termite: s.termite o.termite: libs:header o.termite: libs:swis o.termite: libs:stream o.termite: sh.anchor o.termite: sh.ctrl o.termite: sh.errNum o.termite: sh.error o.termite: sh.express o.termite: sh.getToken o.termite: sh.interp o.termite: sh.stracc o.termite: sh.strBucket o.termite: sh.termscript o.termite: sh.tokens o.termite: sh.upcalls o.termite: sh.var o.ctrl: s.ctrl o.ctrl: libs:header o.ctrl: libs:swis o.ctrl: libs:stream o.ctrl: sh.anchor o.ctrl: sh.divide o.ctrl: sh.errNum o.ctrl: sh.error o.ctrl: sh.express o.ctrl: sh.getToken o.ctrl: sh.interp o.ctrl: sh.mem o.ctrl: sh.stracc o.ctrl: sh.strBucket o.ctrl: sh.termite o.ctrl: sh.termscript o.ctrl: sh.tokens o.ctrl: sh.tree o.ctrl: sh.var