0,0 → 1,229 |
#============================================================================== |
# 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 |