#============================================================================== # Makefile for UnZip, UnZipSFX and fUnZip: Atari ST Chris Herborth # Version: UnZip 5.20+, MiNT, GNU C 25 December 2006 #============================================================================== # Based on the original unix Makefile and modified by Chris Herborth # (cherborth@semprini.waterloo-rdp.on.ca), Nov.13/93. # Be sure to test your new UnZip (and UnZipSFX and fUnZip); successful com- # pilation does not always imply a working program. ##################### # MACRO DEFINITIONS # ##################### # Defaults most systems use (use LOCAL_UNZIP in environment to add flags, # such as -DDOSWILD). # UnZip flags # NOTE: 'cgcc' is my cross-compiler; you'll probably use 'gcc' instead. CC = cgcc LD = cgcc LOC = $(LOCAL_UNZIP) -ansi -D__MINT__ -U__STRICT_ANSI__ CF = -mbaserel -mpcrel -O2 -fomit-frame-pointer -I. $(LOC) # CF = -O -I. $(LOC) # CF = -mbaserel -O -I. $(LOC) LF = -mbaserel -mpcrel -o unzip.ttp LF2 = -s -lbiio # UnZipSFX flags XC = -DSFX XL = -mbaserel -mpcrel -o unzipsfx.ttp XL2 = $(LF2) # fUnZip flags FC = -DFUNZIP FL = -mbaserel -mpcrel -o funzip.ttp FL2 = $(LF2) # general-purpose stuff CP = cp LN = ln -s RM = rm -f E = .ttp O = .o M = atari SHELL = /bin/sh # object files OBJS1 = unzip$O crc32$O crypt$O envargs$O explode$O OBJS2 = extract$O fileio$O globals$O inflate$O list$O match$O OBJS3 = process$O ttyio$O ubz2err$O unreduce$O unshrink$O zipinfo$O OBJS = $(OBJS1) $(OBJS2) $(OBJS3) $M$O LOBJS = $(OBJS) OBJX = unzipsfx$O crc32$O crypt_$O extract_$O fileio_$O \ globals_$O inflate_$O match_$O process_$O ttyio_$O ubz2err_$O $M_$O OBJF = funzip$O crc32$O cryptf$O globalsf$O inflatef$O ttyiof$O UNZIP_H = unzip.h unzpriv.h globals.h # installation INSTALL = cp# probably can change this to 'install' if you have it # on some systems, manext=l and MANDIR=/usr/man/man$(manext) may be appropriate manext = 1 MANDIR = /usr/local/man/man$(manext)# where to install man pages BINDIR = /usr/local/bin# where to install executables # UNZIPS = unzip$E funzip$E unzipsfx$E zipinfo$E MANS = unzip.$(manext) unzipsfx.$(manext) zipinfo.$(manext) funzip.$(manext) DOCS = unzip.txt unzipsfx.txt zipinfo.txt funzip.txt # this is a little ugly... INSTALLED = $(BINDIR)/unzip$E $(BINDIR)/zipinfo$E $(BINDIR)/funzip$E \ $(BINDIR)/unzipsfx$E $(MANDIR)/unzipsfx.$(manext) \ $(MANDIR)/unzip.$(manext) $(MANDIR)/zipinfo.$(manext) \ $(MANDIR)/funzip.$(manext) ############################################### # BASIC COMPILE INSTRUCTIONS AND DEPENDENCIES # ############################################### .c$O: $(CC) -c $(CF) $*.c all: unzips unzips: $(UNZIPS) docs: $(DOCS) unzipsman: unzips docs unzipsdocs: unzips docs clean: rm -f $(OBJS) $(OBJF) $(OBJX) $(UNZIPS) install: $(UNZIPS) $(MANS) $(INSTALL) $(UNZIPS) $(BINDIR) $(LN) $(BINDIR)/unzip$E $(BINDIR)/zipinfo$E $(INSTALL) man/unzip.1 $(MANDIR)/unzip.$(manext) $(INSTALL) man/unzipsfx.1 $(MANDIR)/unzipsfx.$(manext) $(INSTALL) man/zipinfo.1 $(MANDIR)/zipinfo.$(manext) $(INSTALL) man/funzip.1 $(MANDIR)/funzip.$(manext) # alternatively, could use zip method: -cd $(BINDIR); rm -f $(UNZIPS) [etc.] uninstall: rm -f $(INSTALLED) unzip$E: $(OBJS) # add `&' if parallel makes supported $(LD) $(LF) $(LOBJS) $(LF2) unzipsfx$E: $(OBJX) # add `&' if parallel makes supported $(LD) $(XL) $(OBJX) $(XL2) funzip$E: $(OBJF) # add `&' if parallel makes supported $(LD) $(FL) $(OBJF) $(FL2) zipinfo$E: unzip$E @echo\ ' This is a Unix-inspired target. If your filesystem does not support' @echo\ ' symbolic links, copy unzip.ttp to zipinfo.ttp rather than linking it,' @echo\ ' or else invoke as "unzip -Z".' $(LN) unzip$E zipinfo$E crc32$O: crc32.c $(UNZIP_H) zip.h crc32.h crypt$O: crypt.c $(UNZIP_H) zip.h crypt.h crc32.h ttyio.h envargs$O: envargs.c $(UNZIP_H) explode$O: explode.c $(UNZIP_H) extract$O: extract.c $(UNZIP_H) crc32.h crypt.h fileio$O: fileio.c $(UNZIP_H) crc32.h crypt.h ttyio.h ebcdic.h funzip$O: funzip.c $(UNZIP_H) crc32.h crypt.h ttyio.h globals$O: globals.c $(UNZIP_H) inflate$O: inflate.c inflate.h $(UNZIP_H) list$O: list.c $(UNZIP_H) match$O: match.c $(UNZIP_H) process$O: process.c $(UNZIP_H) crc32.h ttyio$O: ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h ubz2err$O: ubz2err.c $(UNZIP_H) unreduce$O: unreduce.c $(UNZIP_H) unshrink$O: unshrink.c $(UNZIP_H) unzip$O: unzip.c $(UNZIP_H) crypt.h unzvers.h consts.h zipinfo$O: zipinfo.c $(UNZIP_H) # unzipsfx only crypt_$O: crypt.c $(UNZIP_H) zip.h crypt.h crc32.h ttyio.h $(CP) crypt.c crypt_.c $(CC) -c $(CF) $(XC) crypt_.c $(RM) crypt_.c extract_$O: extract.c $(UNZIP_H) crc32.h crypt.h $(CP) extract.c extract_.c $(CC) -c $(CF) $(XC) extract_.c $(RM) extract_.c fileio_$O: fileio.c $(UNZIP_H) crc32.h crypt.h ttyio.h ebcdic.h $(CP) fileio.c fileio_.c $(CC) -c $(CF) $(XC) fileio_.c $(RM) fileio_.c globals_$O: globals.c $(UNZIP_H) $(CP) globals.c globals_.c $(CC) -c $(CF) $(XC) globals_.c $(RM) globals_.c inflate_$O: inflate.c inflate.h $(UNZIP_H) crypt.h $(CP) inflate.c inflate_.c $(CC) -c $(CF) $(XC) inflate_.c $(RM) inflate_.c match_$O: match.c $(UNZIP_H) $(CP) match.c match_.c $(CC) -c $(CF) $(XC) match_.c $(RM) match_.c process_$O: process.c $(UNZIP_H) crc32.h $(CP) process.c process_.c $(CC) -c $(CF) $(XC) process_.c $(RM) process_.c ttyio_$O: ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h $(CP) ttyio.c ttyio_.c $(CC) -c $(CF) $(XC) ttyio_.c $(RM) ttyio_.c ubz2err_$O: ubz2err.c $(UNZIP_H) $(CP) ubz2err.c ubz2err_.c $(CC) -c $(CF) $(XC) ubz2err_.c $(RM) ubz2err_.c unzipsfx$O: unzip.c $(UNZIP_H) crypt.h unzvers.h consts.h $(CP) unzip.c unzip_.c $(CC) -c $(CF) $(XC) unzip_.c $(RM) unzip_.c # funzip only cryptf$O: crypt.c $(UNZIP_H) zip.h crypt.h crc32.h ttyio.h $(CP) crypt.c cryptf.c $(CC) -c $(CF) $(FC) cryptf.c $(RM) cryptf.c globalsf$O: globals.c $(UNZIP_H) $(CP) globals.c globalsf.c $(CC) -c $(CF) $(FC) globalsf.c $(RM) globalsf.c inflatef$O: inflate.c inflate.h $(UNZIP_H) crypt.h $(CP) inflate.c inflatef.c $(CC) -c $(CF) $(FC) inflatef.c $(RM) inflatef.c ttyiof$O: ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h $(CP) ttyio.c ttyiof.c $(CC) -c $(CF) $(FC) ttyiof.c $(RM) ttyiof.c # system-specific code atari$O: atari/atari.c $(UNZIP_H) # Atari only $(CC) -c $(CF) atari/atari.c atari_$O: atari/atari.c $(UNZIP_H) # unzipsfx only $(CP) atari/atari.c atari_.c $(CC) -c $(CF) $(XC) atari_.c $(RM) atari_.c