# # 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 --------------------------------------------------------- PROGS = cdll dissect LIBS = libs:aof.o.aof libs:o.swiv libs:o.astubs OBJS = \ o.dllbinder \ o.binding o.cstub o.extentry \ o.decode o.error o.readdef \ o.crc32 o.hashtable VERSION = 1.09 #----- Compiling things ----------------------------------------------------- all: $(PROGS) cdll: $(OBJS) $(LIBS) $(SETDATE) \ o.version \ _time="$(VERSION) [$(DATE)]" \ cright="$(CRIGHT)" $(LD_APP) $(OBJS) $(LIBS) o.version $(SQUEEZE) dissect: o.dissect $(LIBS) $(LD_APP) o.dissect $(LIBS) install: $(PROGS) $(INSTALL) $(PROGS) clean: -$(RM) o.* cdll #----- Dynamic dependencies ------------------------------------------------- # Dynamic dependencies: o.dllbinder: c.dllbinder o.dllbinder: libs:h._time o.dllbinder: h.error o.dllbinder: h.hashtable o.dllbinder: h.decode o.dllbinder: h.readdef o.dllbinder: h.binding o.dllbinder: h.cstub o.dllbinder: h.extentry o.binding: c.binding o.binding: h.binding o.binding: h.readdef o.binding: h.hashtable o.binding: h.readdef o.binding: libs:aof.h.aof o.binding: libs:aof.h.chunk o.binding: h.hashtable o.binding: h.error o.cstub: c.cstub o.cstub: h.cstub o.cstub: h.readdef o.cstub: h.hashtable o.cstub: h.readdef o.cstub: libs:aof.h.aof o.cstub: libs:aof.h.chunk o.cstub: h.hashtable o.cstub: h.error o.extentry: c.extentry o.extentry: h.extentry o.extentry: h.readdef o.extentry: h.hashtable o.extentry: h.readdef o.extentry: libs:aof.h.aof o.extentry: libs:aof.h.chunk o.extentry: h.hashtable o.extentry: h.error o.decode: c.decode o.decode: h.decode o.decode: h.hashtable o.decode: libs:aof.h.chunk o.decode: libs:aof.h.aof o.decode: libs:aof.h.alf o.decode: h.error o.error: c.error o.error: h.error o.readdef: c.readdef o.readdef: h.hashtable o.readdef: h.error o.readdef: h.readdef o.readdef: libs:h.swiv o.readdef: c:h.kernel o.readdef: libs:h.swis o.hashtable: c.hashtable o.hashtable: h.hashtable o.hashtable: h.crc32 o.dissect: c.dissect o.dissect: libs:aof.h.chunk o.crc32: s.crc32 o.crc32: libs:header o.crc32: libs:swis