home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 9 Archive
/
09-Archive.zip
/
unzip512.zip
/
msdos
/
makefile.msc
< prev
next >
Wrap
Makefile
|
1994-08-12
|
4KB
|
128 lines
#------------------------------------------------------------------------------
# Makefile for UnZip 5.11 and later Greg Roelofs and others
# Version: Microsoft C (5.x and later) 11 August 1994
#------------------------------------------------------------------------------
# Users of MSC 6/7 and NMAKE can use the Unix Makefile (target msc_dos),
# if desired. This makefile works just fine, too, however. OS/2 users
# can cross-compile using os2/makefile.os2 (target mscdos). Note that
# there is possibly a bug in MSC 6 which screws up funzip (goes into
# infinite loop? --this has not been confirmed in over a year...). There
# is definitely a bug (internal compiler error) in MSC 6.00 while com-
# piling explode.c (fixed in 6.0a, 6.0ax, 6.0ax2, 7.*, 8.*).
# GNU make doesn't like the return value from "rem"
#STRIP=rem
STRIP=echo Ignore this line.
# If you don't have LZEXE or PKLITE, get one of them. Then define:
#STRIP=lzexe
# or
#STRIP=pklite
# and remove /e from LDFLAGS. This makes a big difference in
# .exe size (and possibly load time).
# Optional nonstandard preprocessor flags (as -DCHECK_EOF or -DDOS_WILD)
# should be added to the environment via "set LOCAL_UNZIP=-DFOO" or added
# to the declaration of LOC here:
LOC = $(LOCAL_UNZIP)
# small model (should work now, but if problems, use L)
MODEL=S
CC = cl # -Ox does not work for inflate.c
# add -G2(3,4) for 286 (386, 486) and/or -FPi87 for 80x87:
CFLAGS = -nologo -DMSC $(LOC) -Oait -Gs -I.
LD = link
LDFLAGS = /nologo/noi/e/st:0x0c00 # remove /e if you have LZEXE or PKLITE
LDFLAGS2 = ,$*;
OBJS1 = unzip.obj crypt.obj envargs.obj explode.obj extract.obj file_io.obj
OBJS2 = inflate.obj match.obj unreduce.obj unshrink.obj zipinfo.obj
OBJS3 = msdos.obj
OBJS = $(OBJS1) $(OBJS2) $(OBJS3)
OBJX = unzip_.obj crypt.obj extract_.obj file_io.obj inflate.obj match.obj\
msdos_.obj
OBJF = funzip.obj crypt_.obj inflate_.obj
default: unzip.exe funzip.exe unzipsfx.exe
.c.obj:
$(CC) -c -A$(MODEL) $(CFLAGS) $*.c
crypt.obj: crypt.c unzip.h crypt.h zip.h
crypt_.obj: crypt.c unzip.h crypt.h zip.h
$(CC) -c -AS $(CFLAGS) -DFUNZIP -Focrypt_.obj crypt.c
envargs.obj: envargs.c unzip.h
explode.obj: explode.c unzip.h
extract.obj: extract.c unzip.h crypt.h
extract_.obj: extract.c unzip.h crypt.h
$(CC) -c -A$(MODEL) $(CFLAGS) -DSFX -Foextract_.obj extract.c
file_io.obj: file_io.c unzip.h crypt.h tables.h
funzip.obj: funzip.c unzip.h crypt.h tables.h
$(CC) -c -AS $(CFLAGS) funzip.c
inflate.obj: inflate.c unzip.h
inflate_.obj: inflate.c inflate.h unzip.h crypt.h
$(CC) -c -AS $(CFLAGS) -DFUNZIP -Foinflate_.obj inflate.c
match.obj: match.c unzip.h
msdos.obj: msdos/msdos.c unzip.h
$(CC) -c -A$(MODEL) $(CFLAGS) msdos/msdos.c
msdos_.obj: msdos/msdos.c unzip.h
$(CC) -c -A$(MODEL) $(CFLAGS) -DSFX -Fomsdos_.obj msdos/msdos.c
unreduce.obj: unreduce.c unzip.h
unshrink.obj: unshrink.c unzip.h
unzip.obj: unzip.c unzip.h crypt.h version.h
unzip_.obj: unzip.c unzip.h crypt.h version.h
$(CC) -c -A$(MODEL) $(CFLAGS) -DSFX -Founzip_.obj unzip.c
zipinfo.obj: zipinfo.c unzip.h
# MS make:
# -------
unzip.exe: $(OBJS)
echo $(OBJS1)+ > unzip.rsp
echo $(OBJS2)+ >> unzip.rsp
echo $(OBJS3); >> unzip.rsp
$(LD) $(LDFLAGS) @unzip.rsp
del unzip.rsp
$(STRIP) unzip.exe
# better makes which know how to deal with 128 char limit on command line:
# -----------------------------------------------------------------------
#unzip.exe: $(OBJS)
# $(LD) $(LDFLAGS) $(OBJS) $(LDFLAGS2)
# $(STRIP) unzip.exe
# both makes:
# ----------
funzip.exe: $(OBJF)
$(LD) $(LDFLAGS) $(OBJF) $(LDFLAGS2)
$(STRIP) funzip.exe
unzipsfx.exe: $(OBJX)
echo $(OBJX), $@; > unzipsfx.rsp
$(LD) $(LDFLAGS) @unzipsfx.rsp
del unzipsfx.rsp
$(STRIP) unzipsfx.exe