home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 9 Archive
/
09-Archive.zip
/
zip22.zip
/
win32
/
makefile.emx
< prev
next >
Wrap
Makefile
|
1997-07-20
|
6KB
|
231 lines
# Makefile for Zip, ZipCloak, ZipNote and ZipSplit
# Supported Make utilities:
# - Microsoft/IBM nmake
# - dmake 3.8 or higher
# - GNU make, at least version 3.68
# - NOT watcom make
# For Microsoft and Watcom C, better use NMAKE,
# otherwise it doesn't matter.
# Supported 32-bit C Compilers (created programs run under WinNT/Win95 only):
# - GNU gcc (emx/rsxnt kit 0.9c or newer)
# Supported Cross-Compilers for MS-DOS:
# - GNU gcc (emx kit 0.9c or newer, 32-bit)
# Supported Assemblers:
# - GNU as with GNU gcc
# To use, enter "make/nmake/dmake -f win32/makefile.emx"
# (this makefile depends on its name being "win32/makefile.emx").
# Add -DNO_ASM to CFLAGS and define OBJA to `nothing' if you do not have
# masm or ml.
# Add -DDYN_ALLOC to ASFLAGS if you have defined it in tailor.h or CFLAGS
# Note: assembly language modules are really only supported for
# GNU gcc 32-bit compilation.
default:
@echo "Enter $(MAKE) -f win32/makefile.emx target"
@echo "where target is one of:"
@echo " gcc gccdyn gccdebug gccdos"
# emx 0.9c, gcc, PE format, statically linked C runtime and rsxnt.dll
gcc:
$(MAKE) -f win32/makefile.emx zips \
CC="gcc -Zwin32 -O2 -m486 -Wall" \
CFLAGS="-DWIN32 -DASM_CRC" \
AS="gcc -Zwin32" \
ASFLAGS="-Di386" \
LDFLAGS="-o ./" \
LDFLAGS2="-s -Zsmall-conv" \
OUT="-o" \
OBJ=".o" \
CRC32="crc_gcc" \
OBJA="matchgcc.o" \
DEF="win32/zip.def"
# emx 0.9c, gcc, PE format, dynamically linked C runtime and rsxnt.dll
gccdyn:
$(MAKE) -f win32/makefile.emx zips \
CC="gcc -Zwin32 -O2 -m486 -Wall" \
CFLAGS="-DWIN32 -DASM_CRC" \
AS="gcc -Zwin32" \
ASFLAGS="-Di386" \
LDFLAGS="-o ./" \
LDFLAGS2="-Zcrtdll -Zstack 320 -s" \
OUT="-o" \
OBJ=".o" \
CRC32="crc_gcc" \
OBJA="matchgcc.o" \
DEF="win32/zip.def"
# emx 0.9c, gcc, PE format, with debug info for gdb
gccdebug:
$(MAKE) -f win32/makefile.emx zips \
CC="gcc Zwin32 -O2 -g -Wall" \
CFLAGS="-DWIN32 -DASM_CRC" \
AS="gcc" \
ASFLAGS="-Di386" \
LDFLAGS="-o ./" \
LDFLAGS2="" \
OUT="-o" \
OBJ=".o" \
CRC32="crc_gcc" \
OBJA="matchgcc.o" \
DEF="win32/zip.def"
# emx 0.9c, gcc, a.out format, for MS-DOS
gccdos:
$(MAKE) -f win32/makefile.emx zips \
CC="gcc -O2 -m486 -Wall" \
CFLAGS="-DDOS -DMSDOS -DASM_CRC -DNO_MKTIME" \
AS="gcc" \
ASFLAGS="-Di386" \
LDFLAGS="-o ./" \
LDFLAGS2="-s -Zsmall-conv" \
OUT="-o" \
OBJ=".o" \
CRC32="crc_gcc" \
OBJA="matchgcc.o" \
OBJZS="msdos.o" \
OBJUS="msdos_.o" \
OSDEP_H="msdos/osdep.h" \
ZIPUP_H="msdos/zipup.h"
# VPATH = .;os2
# variables
#default settings for target dependent macros:
DIRSEP = /
AS_DIRSEP = /
LOCAL_OPTS = $(LOCAL_ZIP)
CCFLAGS = $(CFLAGS) $(LOCAL_OPTS)
OSDEP_H = win32/osdep.h
ZIPUP_H = win32/zipup.h
CRC32 = crc32
OBJZ1 = zip$(OBJ) zipfile$(OBJ) zipup$(OBJ) fileio$(OBJ) util$(OBJ) \
$(CRC32)$(OBJ) crctab$(OBJ) globals$(OBJ) \
deflate$(OBJ) trees$(OBJ) bits$(OBJ) crypt$(OBJ) ttyio$(OBJ)
OBJZS = win32zip$(OBJ) win32$(OBJ) nt$(OBJ)
OBJZ = $(OBJZ1) $(OBJZS) $(OBJA)
OBJU1 = zipfile_$(OBJ) fileio_$(OBJ) util_$(OBJ) globals$(OBJ)
OBJUS = win32_$(OBJ)
OBJU = $(OBJU1) $(OBJUS)
OBJN = zipnote$(OBJ) $(OBJU)
OBJS = zipsplit$(OBJ) $(OBJU)
OBJC = zipcloak$(OBJ) crctab$(OBJ) crypt_$(OBJ) ttyio$(OBJ) $(OBJU)
ZIP_H = zip.h ziperr.h tailor.h $(OSDEP_H)
# rules
.SUFFIXES: .c $(OBJ)
.c$(OBJ):
$(CC) -c -I. $(CCFLAGS) $(OUT)$@ $<
# targets
zips: zip.exe zipnote.exe zipsplit.exe zipcloak.exe
zip$(OBJ): zip.c $(ZIP_H) revision.h crypt.h ttyio.h
zipfile$(OBJ): zipfile.c $(ZIP_H)
zipup$(OBJ): zipup.c $(ZIP_H) revision.h crypt.h $(ZIPUP_H)
fileio$(OBJ): fileio.c $(ZIP_H)
util$(OBJ): util.c $(ZIP_H)
globals$(OBJ): globals.c $(ZIP_H)
deflate$(OBJ): deflate.c $(ZIP_H)
trees$(OBJ): trees.c $(ZIP_H)
bits$(OBJ): bits.c $(ZIP_H) crypt.h
crc32$(OBJ): crc32.c $(ZIP_H)
crctab$(OBJ): crctab.c $(ZIP_H)
crypt$(OBJ): crypt.c $(ZIP_H) crypt.h ttyio.h
ttyio$(OBJ): ttyio.c $(ZIP_H) crypt.h ttyio.h
os2zip$(OBJ): os2/os2zip.c $(ZIP_H) os2/os2zip.h os2/os2acl.h
$(CC) -c -I. $(CCFLAGS) os2$(DIRSEP)os2zip.c
os2$(OBJ): os2/os2.c $(ZIP_H) os2/os2zip.h
$(CC) -c -I. $(CCFLAGS) os2$(DIRSEP)os2.c
os2acl$(OBJ): os2/os2acl.c os2/os2acl.h
$(CC) -c -I. $(CCFLAGS) os2$(DIRSEP)os2acl.c
msdos$(OBJ): msdos/msdos.c $(ZIP_H)
$(CC) -c -I. $(CCFLAGS) msdos$(DIRSEP)msdos.c
win32zip$(OBJ): win32/win32zip.c $(ZIP_H) win32/win32zip.h win32/nt.h
$(CC) -c -I. $(CCFLAGS) win32$(DIRSEP)win32zip.c
win32$(OBJ): win32/win32.c $(ZIP_H) win32/win32zip.h
$(CC) -c -I. $(CCFLAGS) win32$(DIRSEP)win32.c
nt$(OBJ): win32/nt.c $(ZIP_H) win32/nt.h
$(CC) -c -I. $(CCFLAGS) win32$(DIRSEP)nt.c
crc_i86$(OBJ): msdos/crc_i86.asm # 16bit only
$(AS) $(ASFLAGS) msdos$(AS_DIRSEP)crc_i86.asm $(ASEOL)
crc_i386$(OBJ): win32/crc_i386.asm # 32bit, MASM
$(AS) $(ASFLAGS) win32$(AS_DIRSEP)crc_i386.asm $(ASEOL)
crc_gcc$(OBJ): crc_i386.S # 32bit, GNU AS
$(AS) $(ASFLAGS) -x assembler-with-cpp -c -o $@ crc_i386.S
match$(OBJ): msdos/match.asm
$(AS) $(ASFLAGS) msdos$(AS_DIRSEP)match.asm $(ASEOL)
match32$(OBJ): win32/match32.asm
$(AS) $(ASFLAGS) win32$(AS_DIRSEP)match32.asm
matchgcc$(OBJ): match.S
$(AS) $(ASFLAGS) -x assembler-with-cpp -c -o $@ match.S
zipcloak$(OBJ): zipcloak.c $(ZIP_H) revision.h crypt.h ttyio.h
zipnote$(OBJ): zipnote.c $(ZIP_H) revision.h
zipsplit$(OBJ): zipsplit.c $(ZIP_H) revision.h
zipfile_$(OBJ): zipfile.c $(ZIP_H)
$(CC) -c -I. $(CCFLAGS) -DUTIL $(OUT)$@ zipfile.c
fileio_$(OBJ): fileio.c $(ZIP_H)
$(CC) -c -I. $(CCFLAGS) -DUTIL $(OUT)$@ fileio.c
util_$(OBJ): util.c $(ZIP_H) os2/os2zip.h
$(CC) -c -I. $(CCFLAGS) -DUTIL $(OUT)$@ util.c
crypt_$(OBJ): crypt.c $(ZIP_H) crypt.h ttyio.h
$(CC) -c -I. $(CCFLAGS) -DUTIL $(OUT)$@ crypt.c
os2zip_$(OBJ): os2/os2zip.c $(ZIP_H) os2/os2zip.h
$(CC) -c -I. $(CCFLAGS) -DUTIL $(OUT)$@ os2$(DIRSEP)os2zip.c
msdos_$(OBJ): msdos/msdos.c $(ZIP_H)
$(CC) -c -I. $(CCFLAGS) -DUTIL $(OUT)$@ msdos$(DIRSEP)msdos.c
win32_$(OBJ): win32/win32.c $(ZIP_H) win32/win32zip.h
$(CC) -c -I. $(CCFLAGS) -DUTIL $(OUT)$@ win32$(DIRSEP)win32.c
zip.exe: $(OBJZ)
$(CC) $(LDFLAGS)$@ $(DEF) $(OBJZ) $(LDFLAGS2)
zipcloak.exe: $(OBJC)
$(CC) $(LDFLAGS)$@ $(DEF) $(OBJC) $(LDFLAGS2)
zipnote.exe: $(OBJN)
$(CC) $(LDFLAGS)$@ $(DEF) $(OBJN) $(LDFLAGS2)
zipsplit.exe: $(OBJS)
$(CC) $(LDFLAGS)$@ $(DEF) $(OBJS) $(LDFLAGS2)