147 lines
4.9 KiB
Plaintext
147 lines
4.9 KiB
Plaintext
|
#==============================================================================
|
||
|
# Makefile for UnZip, UnZipSFX and fUnZip: Unix and MS-DOS ("real" makes only)
|
||
|
# Version: 5.4 19 November 1998
|
||
|
#==============================================================================
|
||
|
|
||
|
|
||
|
# INSTRUCTIONS (such as they are):
|
||
|
#
|
||
|
# "make sunos" -- makes UnZip in current directory on a generic SunOS 4.x Sun
|
||
|
# "make list" -- lists all supported systems (targets)
|
||
|
# "make help" -- provides pointers on what targets to try if problems occur
|
||
|
# "make wombat" -- chokes and dies if you haven't added the specifics for your
|
||
|
# Wombat 68000 (or whatever) to the systems list
|
||
|
#
|
||
|
# CF are flags for the C compiler. LF are flags for the loader. LF2 are more
|
||
|
# flags for the loader, if they need to be at the end of the line instead of at
|
||
|
# the beginning (for example, some libraries). FL and FL2 are the corre-
|
||
|
# sponding flags for fUnZip. LOCAL_UNZIP is an environment variable that can
|
||
|
# be used to add default C flags to your compile without editing the Makefile
|
||
|
# (e.g., -DDEBUG_STRUC, or -FPi87 on PCs using Microsoft C).
|
||
|
#
|
||
|
# Some versions of make do not define the macro "$(MAKE)"; this is rare, but
|
||
|
# if things don't work, try using "make" instead of "$(MAKE)" in your system's
|
||
|
# makerule. Or try adding the following line to your .login file:
|
||
|
# setenv MAKE "make"
|
||
|
# (That never works--makes that are too stupid to define MAKE are also too
|
||
|
# stupid to look in the environment--but try it anyway for kicks. :-) )
|
||
|
#
|
||
|
# Memcpy and memset are provided for those systems that don't have them; they
|
||
|
# are in fileio.c and will be used if -DZMEM is included in CF. These days
|
||
|
# almost all systems have them.
|
||
|
#
|
||
|
# Be sure to test your new UnZip (and UnZipSFX and fUnZip); successful compila-
|
||
|
# tion 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
|
||
|
CC = cc# try using "gcc" target rather than changing this (CC and LD
|
||
|
LD = $(CC)# must match, else "unresolved symbol: ___main" is possible)
|
||
|
AS = as
|
||
|
LOC = $(LOCAL_UNZIP)
|
||
|
AF = $(LOC)
|
||
|
CF = -O -I. -I.. -I../inczip $(LOC)
|
||
|
LF = -o packinst
|
||
|
LF2 = -s
|
||
|
|
||
|
# general-purpose stuff
|
||
|
#CP = cp
|
||
|
CP = ln
|
||
|
LN = ln
|
||
|
RM = rm -f
|
||
|
CHMOD = chmod
|
||
|
BINPERMS = 755
|
||
|
MANPERMS = 644
|
||
|
STRIP = strip
|
||
|
E =
|
||
|
O = .o
|
||
|
M = unix
|
||
|
SHELL = /bin/sh
|
||
|
|
||
|
# defaults for crc32 stuff and system dependent headers
|
||
|
CRC32 = crc32
|
||
|
|
||
|
# object files
|
||
|
OBJS1 = unzip$O $(CRC32)$O crctab$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 unreduce$O unshrink$O zipinfo$O
|
||
|
OBJS = $(OBJS1) $(OBJS2) $(OBJS3) $M$O packinst$O
|
||
|
#OBJS = $(OBJS1) $(OBJS2) $(OBJS3) $M$O install$O wxmain$O instsup$O
|
||
|
UNZIP_H = ../inczip/unzip.h ../inczip/unzpriv.h ../inczip/globals.h
|
||
|
|
||
|
# installation
|
||
|
# (probably can change next two to `install' and `install -d' if you have it)
|
||
|
INSTALL = cp
|
||
|
INSTALL_D = mkdir -p
|
||
|
|
||
|
###############################################
|
||
|
# BASIC COMPILE INSTRUCTIONS AND DEPENDENCIES #
|
||
|
###############################################
|
||
|
|
||
|
# this is for GNU make; comment out and notify zip-bugs if it causes errors
|
||
|
.SUFFIXES: .c .o .obj .pic.o
|
||
|
|
||
|
# yes, we should be able to use the $O macro to combine these two, but it
|
||
|
# fails on some brain-damaged makes (e.g., AIX's)...no big deal
|
||
|
.c.o:
|
||
|
$(CC) -c $(CF) $*.c
|
||
|
|
||
|
.c.obj:
|
||
|
$(CC) -c $(CF) $*.c
|
||
|
|
||
|
.c.pic.o:
|
||
|
$(CC) -c $(CF) -o $@ $*.c
|
||
|
|
||
|
all: sfx
|
||
|
|
||
|
|
||
|
# EDIT HERE FOR PARALLEL MAKES on Sequent (and others?)--screws up MS-DOS
|
||
|
# make utilities if default: change "unzip$E:" to "unzip$E:&"
|
||
|
|
||
|
sfx$E: $(OBJS) # add `&' for parallel makes
|
||
|
$(LD) $(LF) $(OBJS)
|
||
|
|
||
|
crc32$O: crc32.c $(UNZIP_H) ../inczip/zip.h
|
||
|
crctab$O: crctab.c $(UNZIP_H) ../inczip/zip.h
|
||
|
crypt$O: crypt.c $(UNZIP_H) ../inczip/zip.h ../inczip/crypt.h ../inczip/ttyio.h
|
||
|
envargs$O: envargs.c $(UNZIP_H)
|
||
|
explode$O: explode.c $(UNZIP_H)
|
||
|
extract$O: extract.c $(UNZIP_H) ../inczip/crypt.h
|
||
|
fileio$O: fileio.c $(UNZIP_H) ../inczip/crypt.h ../inczip/ttyio.h ../inczip/ebcdic.h
|
||
|
funzip$O: funzip.c $(UNZIP_H) ../inczip/crypt.h ../inczip/ttyio.h ../inczip/tables.h
|
||
|
globals$O: globals.c $(UNZIP_H)
|
||
|
inflate$O: inflate.c ../inczip/inflate.h $(UNZIP_H)
|
||
|
list$O: list.c $(UNZIP_H)
|
||
|
match$O: match.c $(UNZIP_H)
|
||
|
process$O: process.c $(UNZIP_H)
|
||
|
ttyio$O: ttyio.c $(UNZIP_H) ../inczip/zip.h ../inczip/crypt.h ../inczip/ttyio.h
|
||
|
unreduce$O: unreduce.c $(UNZIP_H)
|
||
|
unshrink$O: unshrink.c $(UNZIP_H)
|
||
|
unzip$O: unzip.c $(UNZIP_H) ../inczip/crypt.h ../inczip/version.h ../inczip/consts.h
|
||
|
zipinfo$O: zipinfo.c $(UNZIP_H)
|
||
|
|
||
|
unix$O: unix.c $(UNZIP_H) ../inczip/version.h # Unix only
|
||
|
$(CC) -c $(CF) unix.c
|
||
|
|
||
|
packinst$O: ../packinst/packinst.c
|
||
|
$(CC) -c $(CF) ../packinst/packinst.c
|
||
|
|
||
|
#install$O: ../install.c
|
||
|
# $(CC) -c $(CF) ../install.c
|
||
|
#
|
||
|
#unix$O: ../wxmain.cpp
|
||
|
# $(CC) -c $(CF) ../wxmain.cpp
|
||
|
#
|
||
|
#unix$O: ../instsup.cpp
|
||
|
# $(CC) -c $(CF) ../instsup.cpp
|
||
|
|
||
|
|
||
|
|