# Makefile for Zip, ZipNote, ZipCloak, ZipSplit for Aztec C 5.2 # Also ZipLM, a version of Zip that needs much less free memory # -- Paul Kienitz, last updated 21 April 1996 # Make sure platform is defined correctly, and select memory usage options: DEFINES = -d AMIGA -d DYN_ALLOC -d ASM_CRC # ASM_CRC now serves only as a notation for "Zip -L". CC = cc AS = as CFLAGS = -sabfmnpu -wcr0u -ps $(DEFINES) # -ps means short ints, -sabfmnpu is various small optimizations, -wcr0u # adjusts type checking strictness; large memory model is no longer used WSIZ = WSIZE=4096 LOWFLAGS = $(CFLAGS) -d $(WSIZ) -d SMALL_MEM # used for compiling a low-memory-use version of Zip ASOPTS = -n -eAMIGA -eDYN_ALLOC -eCPUTEST -eINT16 LOWASOPTS = $(ASOPTS) -e$(WSIZ) -eSMALL_MEM # Options used for assembling amiga/deflate.a; must generally match the # settings in DEFINES. LOWASOPTS are for the low-memory version. LD = ln LDLIBS = -lc16 LDFLAGS = -m +q # default C rules .c.o : $(CC) $(CFLAGS) -o $@ $*.c # rules for routines containing entries needed by utilities .c.oo : $(CC) $(CFLAGS) -d UTIL -o $@ $*.c # rules for the low-memory version: .c.ol : $(CC) $(LOWFLAGS) -o $@ $*.c # object file lists ZIP_H = zip.h ziperr.h tailor.h amiga/osdep.h amiga/z-stat.h OBJI = deflate.o trees.o bits.o OBJA = zipfile.o zipup.o util.o \ fileio.o globals.o amiga/amiga.o amiga/amigazip.o amiga/crc_68.o \ crctab.o OBJU = zipfile.oo fileio.oo util.oo globals.o amiga/amiga.o OBJZ = zip.o $(OBJI) $(OBJA) crypt.o ttyio.o OBJL = zip.ol deflate.ol trees.ol bits.ol zipfile.ol \ zipup.ol util.ol fileio.ol globals.ol crypt.ol ttyio.ol crctab.ol \ amiga/amiga.ol amiga/amigazip.ol amiga/crc_68.o OBJN = zipnote.o $(OBJU) OBJC = zipcloak.o $(OBJU) crctab.o crypt.oo ttyio.o OBJS = zipsplit.o $(OBJU) # HERE WE GO: all : Zip ZipNote ZipSplit ZipCloak z : Zip n : ZipNote s : ZipSplit c : ZipCloak l : ZipLM Zip : $(OBJZ) $(ZIP_H) $(LD) $(LDFLAGS) -o $@ $(OBJZ) $(LDLIBS) ZipNote : $(OBJN) $(ZIP_H) $(LD) $(LDFLAGS) -o $@ $(OBJN) $(LDLIBS) ZipSplit : $(OBJS) $(ZIP_H) $(LD) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS) ZipCloak : $(OBJC) $(ZIP_H) $(LD) $(LDFLAGS) -o $@ $(OBJC) $(LDLIBS) ZipLM : $(OBJL) $(ZIP_H) $(LD) $(LDFLAGS) -o $@ $(OBJL) $(LDLIBS) clean : -delete quiet $(OBJZ) -delete quiet $(OBJU) -delete quiet $(OBJL) -delete quiet zipnote.o zipcloak.o zipsplit.o crypt.oo cleaner : clean -delete quiet Zip ZipNote ZipSplit ZipCloak ZipLM # header dependencies: zip.o zipnote.o zipcloak.o zipsplit.o crypt.o ttyio.o deflate.o \ trees.o bits.o zipfile.o zipup.o fileio.o util.o crctab.o \ globals.o amiga/amiga.o : $(ZIP_H) zip.ol zipnote.ol zipcloak.ol zipsplit.ol crypt.ol ttyio.ol deflate.ol \ trees.ol bits.ol zipfile.ol zipup.ol fileio.ol util.ol crctab.ol \ globals.ol amiga/amiga.ol : $(ZIP_H) crypt.oo zipfile.oo fileio.oo util.oo : $(ZIP_H) amiga/amigazip.o amiga/amigazip.ol : amiga/amiga.h $(ZIP_H) zip.o zipnote.o zipcloak.o zipsplit.o zipup.o \ zip.ol zipnote.ol zipcloak.ol zipsplit.ol zipup.ol : revision.h bits.o bits.ol amiga/amiga.o amiga/amiga.ol : crypt.h crypt.o crypt.oo crypt.ol ttyio.o ttyio.ol zipcloak.o zipcloak.ol \ zip.o zip.ol zipup.o zipup.ol : crypt.h ttyio.h zipup.o zipup.ol : amiga/zipup.h # SPECIAL CASES: # -mr changes expression parsing; avoids a bogus "expression too complex" error: trees.o : trees.c $(CC) $(CFLAGS) -mr -o trees.o trees.c trees.ol : trees.c $(CC) $(LOWFLAGS) -mr -o trees.ol trees.c # Substitute the assembly version of deflate.c: deflate.o : amiga/deflate.a $(AS) $(ASOPTS) -o deflate.o amiga/deflate.a deflate.ol : amiga/deflate.a $(AS) $(LOWASOPTS) -o deflate.ol amiga/deflate.a # The assembly CRC function: amiga/crc_68.o : amiga/crc_68.a $(AS) -n -o amiga/crc_68.o amiga/crc_68.a # Put the Amiga internal version data with today's date into amiga.c: amiga/amiga.o : amiga/amiga.c amiga/filedate.c amiga/stat.c rx > env:VersionDate "say '""'translate(date('E'), '.', '/')'""'" $(CC) $(CFLAGS) -o amiga/amiga.o amiga/amiga.c amiga/amiga.ol : amiga/amiga.c amiga/filedate.c amiga/stat.c rx > env:VersionDate "say '""'translate(date('E'), '.', '/')'""'" $(CC) $(LOWFLAGS) -o amiga/amiga.ol amiga/amiga.c # Put the compiler version number into amigazip.c: amiga/amigazip.o : amiga/amigazip.c $(CC) $(CFLAGS) -o amiga/amigazip.o \ -d __VERSION__=5 -d __REVISION__=2 amiga/amigazip.c amiga/amigazip.ol : amiga/amigazip.c $(CC) $(LOWFLAGS) -o amiga/amigazip.ol \ -d __VERSION__=5 -d __REVISION__=2 amiga/amigazip.c