230 lines
6.4 KiB
Makefile
230 lines
6.4 KiB
Makefile
|
#==============================================================================
|
||
|
# 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
|