home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 9 Archive
/
09-Archive.zip
/
unzip511.zip
/
msdos
/
makefile.msc
< prev
next >
Wrap
Makefile
|
1994-07-11
|
4KB
|
122 lines
#------------------------------------------------------------------------------
# Makefile for UnZip 5.11 and later Greg Roelofs and others
# Version: Microsoft C (5.x and later) 10 July 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 and 6.0ax).
# 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).
# small model (should work now, but if problems, use L)
MODEL=S
CC = cl # -Ox does not work for inflate.c
CFLAGS = -nologo -DMSC -Oait -Gs -I. # add -G2(3,4) and/or -FPi87 for x86/x87
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