#=========================================================================== # Makefile for UnZip, ZipInfo & fUnZip: AMIGA SAS/C Version 6.x # Version: 5.11 9 July 1993 #=========================================================================== # John Bush last modified: 10 Jul 94 #--------------------------------------------------------------------------- ##################### # MACRO DEFINITIONS # ##################### # Compiler and loader debug flags. Uncomment as needed. Recomment when done. # # CDBG = DEBUG=L DEF=DEBUG # LDBG = ADDSYM # LMAP = MAP AMIGA/UNZIP.MAP # Compiler definitions # CC = sc # OPT = OPT OPTINL OPTINLOCAL OPTTIME OPTCOMP=5 OPTDEP=5 OPTRDEP=5 # # Choose one DATAOPTS & SASLIB. NOTE! only DATA=FAR is known to work! # DATAOPTS = DATA=FAR # link with SCNB.lib SASLIB = scnb # DATAOPTS = DATA=FAR SINT # link with SCSNB.lib [not working yet!] # SASLIB = scsnb # DATAOPTS = DATA=NEAR # link with SC.lib # SASLIB = sc # CDEFINES = DEF=AMIGA DEF=PROTO COPTIONS = $(DATAOPTS) NOSTKCHK STRMERGE CPU=ANY CODE=NEAR NMINC UNSCHAR COPTIONS = $(COPTIONS) ERRORREXX NOERRORCONSOLE NOICONS # CFLAGS = $(CDEFINES) $(COPTIONS) $(CDBG) $(OPT) # Linker definitions # See SASLIB definition above # LD = slink LDFLAGS = FROM LIB:c.o LDFLAGS2 = NOICONS $(LDBG) $(LMAP) LIBFLAGS = LIB LIB:$(SASLIB).lib+LIB:amiga.lib # UnZip Objects # OBJS1 = unzip.o crypt.o envargs.o explode.o extract.o file_io.o OBJS2 = inflate.o match.o unreduce.o unshrink.o zipinfo.o OBJSA = amiga.o OBJS = $(OBJS1) $(OBJS2) $(OBJSA) LOBJS = $(OBJS) # UnZipSFX Objects OBJX = unzip_x.o crypt.o extract_x.o file_io.o inflate.o match.o amiga_x.o # fUnZip Objects OBJF = funzip.o crypt_f.o inflate_f.o # Output targets UNZIPS = unzip unzipsfx funzip # Temp filename for object lists to load using linker "WITH" command. OBJLIST = ram:OBJLIST.TMP ####################################### # DEFAULT TARGET AND PROCESSING RULES # ####################################### all: $(UNZIPS) .c.o : $(CC) $(CFLAGS) OBJNAME=$@ $*.c ######################### # Final output targets. # ######################### # NOTE: When generating MAP files, don't make "all" because only the last # map generated will be the one that remains after this is finished. # Or, put specific MAP statements in below for each. unzip: $(OBJS) echo "$(OBJS)" >$(OBJLIST) $(LD) TO UnZip $(LDFLAGS) WITH $(OBJLIST) $(LIBFLAGS) $(LDFLAGS2) unzipsfx: $(OBJX) echo "$(OBJX)" >$(OBJLIST) $(LD) TO UnZipSFX $(LDFLAGS) WITH $(OBJLIST) $(LIBFLAGS) $(LDFLAGS2) funzip: $(OBJF) echo "$(OBJF)" >$(OBJLIST) $(LD) TO fUnZip $(LDFLAGS) WITH $(OBJLIST) $(LIBFLAGS) $(LDFLAGS2) clean: -delete >nil: $(OBJS1) -delete >nil: $(OBJS2) -delete >nil: $(OBJSA) -delete >nil: $(OBJF) spotless: clean -delete >nil: UnZip UnZipSFX fUnZip # special rules for objects used in UnZipSFX and fUnZip # unzip_x.o: unzip.c unzip.h version.h $(CC) DEF=SFX $(CFLAGS) OBJNAME=unzip_x.o unzip.c extract_x.o: extract.c unzip.h crypt.h $(CC) DEF=SFX $(CFLAGS) OBJNAME=extract_x.o extract.c amiga_x.o: amiga/amiga.c amiga/amiga.h $(CC) DEF=SFX $(CFLAGS) OBJNAME=amiga_x.o amiga/amiga.c crypt_f.o: crypt.c unzip.h zip.h crypt.h $(CC) DEF=FUNZIP $(CFLAGS) OBJNAME=crypt_f.o crypt.c inflate_f.o: inflate.c inflate.h unzip.h crypt.h $(CC) DEF=FUNZIP $(CFLAGS) OBJNAME=inflate_f.o inflate.c # objects common to all revisions/ports: # crypt.o: crypt.c unzip.h zip.h crypt.h envargs.o: envargs.c unzip.h explode.o: explode.c unzip.h extract.o: extract.c unzip.h crypt.h file_io.o: file_io.c unzip.h crypt.h tables.h funzip.o: funzip.c unzip.h crypt.h tables.h inflate.o: inflate.c inflate.h unzip.h match.o: match.c unzip.h shared.o: shared.c unzip.h unreduce.o: unreduce.c unzip.h unshrink.o: unshrink.c unzip.h unzip.o: unzip.c unzip.h version.h zipinfo.o: zipinfo.c unzip.h # objects specific to Amiga amiga.o: amiga/amiga.c amiga/amiga.h