# # Makefile # # © 1998 Straylight/Edgeware # #----- Licensing note ------------------------------------------------------- # # This makefile is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This makefile is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this makefile. If not, write to the Free Software Foundation, # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #----- Compilation flags ---------------------------------------------------- # --- Uncomment to use the C4 tools --- # OLD = o- # --- C compilation --- CC = $(OLD)cc -c -o $@ CFLAGS = -depend !Depend -throwback -ffah -Ilibs: -IC: COMPILE = $(CC) $(CFLAGS) # --- Assembling --- AS = $(OLD)objasm -quit -to $@ ASFLAGS = -stamp -depend !Depend -throwback ASSEMBLE = $(AS) $(ASFLAGS) -from BAS = basasm # --- Linking --- LD = $(OLD)link -o $@ LD_APP = $(LD) -aif LD_UTIL = $(LD) -bin -base 0 LD_MOD = $(LD) -bin -base 0 LD_BIN = $(LD) -bin -base 0 LD_DLL = $(LD) -rmf LD_AOF = $(LD) -aof # --- Making libraries --- AR = $(OLD)libfile -o CDLL = cdll # --- Setting file types --- SET_APP = SetType $@ FF8 SET_MOD = SetType $@ FFA SET_UTIL = SetType $@ FFC SET_DLL = SetType $@ FFD # --- Other maintenance things --- RM = ssrclean INSTALL = inst SETDATE = setdate SQUEEZE = squeeze $@ DATE = %zdy %mo %ce%yr MODDATE = %dy %m3 %ce%yr CRIGHT = © %ce%yr Straylight FIXLINK = fixlink $@ #----- Default rules -------------------------------------------------------- .SUFFIXES: .o .c .s .bs .c.o: $(COMPILE) $< .s.o: $(ASSEMBLE) $< .bs.o: $(BAS) $< $@ #----- Object files --------------------------------------------------------- # --- Object files for the code section --- OBJS = \ o.bas \ o.aofGen o.basTalk o.get o.insert o.lit o.vars \ o.fastMove o.flex o.string \ o.messages SCRIPTS = \ scripts.crunchit \ scripts.execit \ scripts.nonsqueeze \ scripts.preproc #----- Compiling things ----------------------------------------------------- all: bas bas: bc.bas bascode copy bc.bas bas ~c~v~nf~r print bascode { >> bas } bascode: $(OBJS) $(LD_BIN) $(OBJS) o.messages: rsc.messages msgaof rsc.messages o.messages sh.messages bc.bas: b.bas scripts.crunchit @echo *** Crunching Basic library *** obey scripts.crunchit @$(RM) work.* install: bas scripts.exports $(INSTALL) bas scripts.exports .BAS clean: -$(RM) o.* bc.* work.* bas bascode #----- Dynamic dependencies ------------------------------------------------- # Dynamic dependencies: o.insert: s.insert o.insert: libs:header o.insert: libs:swis o.insert: libs:stream o.insert: sh.bas o.insert: sh.workspace o.insert: libs:sh.flexws o.vars: s.vars o.vars: libs:header o.vars: libs:swis o.vars: libs:stream o.vars: sh.bas o.vars: sh.basTalk o.fastMove: s.fastMove o.fastMove: libs:s.fastMove o.fastMove: libs:header o.fastMove: libs:swis o.string: s.string o.string: libs:swis o.string: libs:header o.string: sh.workspace o.string: libs:sh.flexws o.basTalk: s.basTalk o.basTalk: libs:header o.basTalk: libs:swis o.basTalk: libs:stream o.basTalk: sh.basicEnv o.basTalk: sh.messages o.basTalk: sh.string o.basTalk: sh.workspace o.basTalk: libs:sh.flexws o.bas: s.bas o.bas: libs:header o.bas: libs:swis o.bas: libs:stream o.bas: sh.aofGen o.bas: sh.basicEnv o.bas: sh.basTalk o.bas: sh.fastMove o.bas: libs:sh.fastMove o.bas: sh.flex o.bas: libs:sh.flex o.bas: sh.get o.bas: sh.insert o.bas: sh.lit o.bas: sh.messages o.bas: sh.string o.bas: sh.vars o.bas: sh.workspace o.bas: libs:sh.flexws o.aofGen: s.aofGen o.aofGen: libs:header o.aofGen: libs:swis o.aofGen: libs:stream o.aofGen: sh.bas o.aofGen: sh.basTalk o.aofGen: sh.flex o.aofGen: libs:sh.flex o.aofGen: sh.insert o.aofGen: sh.lit o.aofGen: sh.messages o.aofGen: sh.string o.aofGen: sh.workspace o.aofGen: libs:sh.flexws o.get: s.get o.get: libs:header o.get: libs:swis o.get: libs:stream o.get: sh.aofGen o.get: sh.bas o.get: sh.basTalk o.get: sh.flex o.get: libs:sh.flex o.get: sh.string o.get: sh.workspace o.get: libs:sh.flexws o.lit: s.lit o.lit: libs:header o.lit: libs:swis o.lit: libs:stream o.lit: sh.aofGen o.lit: sh.bas o.lit: sh.fastMove o.lit: libs:sh.fastMove o.lit: sh.flex o.lit: libs:sh.flex o.lit: sh.insert o.lit: sh.workspace o.lit: libs:sh.flexws o.flex: s.flex o.flex: libs:header o.flex: sh.workspace o.flex: libs:sh.flexws o.flex: libs:s.flex o.flex: libs:header o.flex: libs:swis o.flex: s.flex o.flex: libs:header o.flex: sh.workspace o.flex: libs:sh.flexws o.flex: libs:s.flex o.flex: libs:header o.flex: libs:swis o.flex: s.flex o.flex: libs:header o.flex: sh.workspace o.flex: libs:sh.flexws o.flex: libs:s.flex o.flex: libs:header o.flex: libs:swis o.flex: s.flex o.flex: libs:header o.flex: sh.workspace o.flex: libs:sh.flexws o.flex: libs:s.flex o.flex: libs:header o.flex: libs:swis