which included commits to RCS files with non-trunk default branches. git-svn-id: svn://10.65.10.50/trunk@5403 c028cbd2-c16b-5b4b-a496-9718f37d4682
192 lines
5.1 KiB
Plaintext
Executable File
192 lines
5.1 KiB
Plaintext
Executable File
# Makefile for Zip, ZipCloak, ZipNote and ZipSplit for
|
|
# Microsoft C 5.1 and above.
|
|
|
|
# To use, do "make makefile.msc"
|
|
|
|
# Add -DSMALL_MEM or -DMEDIUM_MEM to the LOC macro if you wish to reduce
|
|
# the memory requirements.
|
|
# Add -DNO_ASM to CFLAGS and comment out the ASMOBJS definition if
|
|
# you do not have masm.
|
|
|
|
# Optional nonstandard preprocessor flags (as -DMEDIUM_MEM or -DNO_ASM)
|
|
# should be added to the environment via "set LOCAL_ZIP=-DFOO" or added
|
|
# to the declaration of LOC here:
|
|
LOC = -DDOS -DDYN_ALLOC -DNO_SECURE_TESTS $(LOCAL_ZIP)
|
|
|
|
# Zip requires compact or large memory model.
|
|
# with 2.1, compact model exceeds 64k code segment; use large model
|
|
ZIPMODEL=L # large model for Zip and ZipUtils
|
|
|
|
# name of Flag to select memory model for assembler compiles, supported
|
|
# values are __SMALL__ , __MEDIUM__ , __COMPACT__ , __LARGE__ :
|
|
ASMODEL=__LARGE__ # keep in sync with ZIPMODEL definition !!
|
|
|
|
# Type for CPU required: 0: 8086, 1: 80186, 2: 80286, 3: 80386, etc.
|
|
CPU_TYP = 0
|
|
|
|
# Uncomment the following macro to use the optimized assembler
|
|
# routines in Zip:
|
|
ASMOBJS = match.obj crc_i86.obj
|
|
|
|
ASCPUFLAG = __$(CPU_TYP)86
|
|
|
|
# ------------- Microsoft C 5.1, 6.0, 7.0 and VC++ Pro 1.0 -------------
|
|
CC=cl
|
|
MODEL=-A$(ZIPMODEL)
|
|
FP=
|
|
COMMON_CFLAGS=-nologo -I. $(MODEL) $(FP) -DMSC $(LOC) -W3 -G$(CPU_TYP)
|
|
CFLAGS=$(COMMON_CFLAGS) -Ox
|
|
SPECFLAGS=$(COMMON_CFLAGS) -Oaict -Gs
|
|
# For MSC/C++ 7.0 and VC++ no special flags are needed:
|
|
# SPECFLAGS=$(CFLAGS)
|
|
UTILFLAGS=-DUTIL $(CFLAGS) -Fo
|
|
|
|
AS=masm
|
|
ASFLAGS=-ml -t -D$(ASCPUFLAG) -D$(ASMODEL) $(LOC)
|
|
# For MSC 6.0, use:
|
|
#AS=ml
|
|
#ASFLAGS=-c -D$(ASCPUFLAG) -D$(ASMODEL) $(LOC)
|
|
# Supress -DDYN_ALLOC in ASFLAGS if you have suppressed it in CFLAGS
|
|
|
|
LD=link
|
|
LDFLAGS=/noi/farcall/packcode/e/st:0x1000/m
|
|
# If you use lzexe as recommended below, remove /e from LDFLAGS
|
|
|
|
# ------------- Common declarations:
|
|
STRIP=rem
|
|
# If you don't have lzexe, get it (by ftp on oak.oakland.edu in
|
|
# /pub/msdos/execomp/lzexe91e.zip). Then define:
|
|
#STRIP=lzexe
|
|
# Or if you've registered PKLITE, then define:
|
|
#STRIP=pklite
|
|
# This makes a big difference in .exe size (and possibly load time)
|
|
|
|
# ------------- Used by install rule
|
|
# set BIN to the directory you want to install the executables to
|
|
BIN = c:\util
|
|
|
|
# variables
|
|
OBJZ = zip.obj crypt.obj ttyio.obj zipfile.obj zipup.obj fileio.obj util.obj \
|
|
crc32.obj crctab.obj globals.obj
|
|
|
|
OBJI = deflate.obj trees.obj bits.obj $(ASMOBJS) msdos.obj
|
|
|
|
OBJU = zipfile_.obj fileio_.obj util_.obj globals.obj
|
|
OBJN = zipnote.obj $(OBJU)
|
|
OBJC = zipcloak.obj crctab.obj crypt_.obj ttyio.obj $(OBJU)
|
|
OBJS = zipsplit.obj $(OBJU)
|
|
|
|
ZIP_H = zip.h ziperr.h tailor.h msdos/osdep.h
|
|
|
|
ZIPS = zip.exe zipnote.exe zipsplit.exe zipcloak.exe
|
|
|
|
zips: $(ZIPS)
|
|
|
|
zip.obj: zip.c $(ZIP_H) revision.h crypt.h ttyio.h
|
|
$(CC) -c $(CFLAGS) $*.c
|
|
|
|
# MSC 5.1 generates bad code on zipfile with -Ox
|
|
zipfile.obj: zipfile.c $(ZIP_H)
|
|
$(CC) -c $(SPECFLAGS) $*.c
|
|
|
|
zipup.obj: zipup.c $(ZIP_H) revision.h crypt.h msdos/zipup.h
|
|
$(CC) -c $(CFLAGS) $*.c
|
|
|
|
fileio.obj: fileio.c $(ZIP_H)
|
|
$(CC) -c $(CFLAGS) $*.c
|
|
|
|
util.obj: util.c $(ZIP_H)
|
|
$(CC) -c $(CFLAGS) $*.c
|
|
|
|
globals.obj: globals.c $(ZIP_H)
|
|
$(CC) -c $(CFLAGS) $*.c
|
|
|
|
deflate.obj: deflate.c $(ZIP_H)
|
|
$(CC) -c $(CFLAGS) $*.c
|
|
|
|
trees.obj: trees.c $(ZIP_H)
|
|
$(CC) -c $(CFLAGS) $*.c
|
|
|
|
bits.obj: bits.c $(ZIP_H) crypt.h
|
|
$(CC) -c $(CFLAGS) $*.c
|
|
|
|
crc32.obj: crc32.c $(ZIP_H)
|
|
$(CC) -c $(CFLAGS) $*.c
|
|
|
|
crctab.obj: crctab.c $(ZIP_H)
|
|
$(CC) -c $(CFLAGS) $*.c
|
|
|
|
crypt.obj: crypt.c $(ZIP_H) crypt.h ttyio.h
|
|
$(CC) -c $(CFLAGS) $*.c
|
|
|
|
ttyio.obj: ttyio.c $(ZIP_H) crypt.h ttyio.h
|
|
$(CC) -c $(CFLAGS) $*.c
|
|
|
|
msdos.obj: msdos/msdos.c $(ZIP_H)
|
|
$(CC) -c $(CFLAGS) msdos/$*.c
|
|
|
|
zipcloak.obj: zipcloak.c $(ZIP_H) revision.h crypt.h ttyio.h
|
|
$(CC) -c $(CFLAGS) $*.c
|
|
|
|
zipnote.obj: zipnote.c $(ZIP_H) revision.h
|
|
$(CC) -c $(CFLAGS) $*.c
|
|
|
|
# MSC 5.1 dies on zipsplit with -Ox
|
|
zipsplit.obj: zipsplit.c $(ZIP_H) revision.h
|
|
$(CC) -c $(SPECFLAGS) $*.c
|
|
|
|
# MSC 5.1 generates bad code on zipfile with -Ox
|
|
zipfile_.obj: zipfile.c $(ZIP_H)
|
|
$(CC) -c $(SPECFLAGS) -DUTIL -Fo$@ zipfile.c
|
|
|
|
fileio_.obj: fileio.c $(ZIP_H)
|
|
$(CC) -c $(UTILFLAGS)$@ fileio.c
|
|
|
|
util_.obj: util.c $(ZIP_H)
|
|
$(CC) -c $(UTILFLAGS)$@ util.c
|
|
|
|
crypt_.obj: crypt.c $(ZIP_H) crypt.h ttyio.h
|
|
$(CC) -c $(UTILFLAGS)$@ crypt.c
|
|
|
|
crc_i86.obj: msdos/crc_i86.asm
|
|
$(AS) $(ASFLAGS) msdos\crc_i86.asm ;
|
|
|
|
match.obj: msdos/match.asm
|
|
$(AS) $(ASFLAGS) msdos\match.asm ;
|
|
|
|
# we must cut the command line to fit in the MS/DOS 128 byte limit:
|
|
zip.exe: $(OBJZ) $(OBJI)
|
|
echo $(OBJZ)+ > zip.rsp
|
|
echo $(OBJI); >> zip.rsp
|
|
$(LD) $(LDFLAGS) @zip.rsp
|
|
del zip.rsp
|
|
$(STRIP) zip.exe
|
|
|
|
zipcloak.exe: $(OBJC)
|
|
echo $(OBJC); > zipc.rsp
|
|
$(LD) $(LDFLAGS) @zipc.rsp
|
|
del zipc.rsp
|
|
$(STRIP) zipcloak.exe
|
|
|
|
zipnote.exe: $(OBJN)
|
|
echo $(OBJN); > zipn.rsp
|
|
$(LD) $(LDFLAGS) @zipn.rsp
|
|
del zipn.rsp
|
|
$(STRIP) zipnote.exe
|
|
|
|
zipsplit.exe: $(OBJS)
|
|
echo $(OBJS); > zips.rsp
|
|
$(LD) $(LDFLAGS) @zips.rsp
|
|
del zips.rsp
|
|
$(STRIP) zipsplit.exe
|
|
|
|
# No `install' and `clean' target possible as long as MSC's old MAKE utility
|
|
# is supported (MSC 5.1 Make always tries to update ALL targets. The result
|
|
# is that install and clean are always executed, unless an error occured.)
|
|
#install: $(ZIPS)
|
|
# copy /b *.exe $(BIN)
|
|
#
|
|
#clean:
|
|
# del *.obj
|
|
# del *.exe
|