224 lines
5 KiB
Text
224 lines
5 KiB
Text
# Makefile for Zip, ZipCloak, ZipNote and ZipSplit for
|
|
# 32-bit Microsoft Visual C++
|
|
|
|
# To use, do "nmake -f makefile.w32"
|
|
|
|
# Add "NOASM=1" to the nmake command to disable usage of assembler sources
|
|
# if you do not have masm 6.1X.
|
|
|
|
# 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 = $(LOCAL_ZIP)
|
|
|
|
!IFNDEF debug
|
|
NODEBUG=1
|
|
!ENDIF
|
|
|
|
# Uncomment the following macro to use the optimized assembler
|
|
# routines in Zip:
|
|
!IFDEF NOASM
|
|
ASMOBJS =
|
|
CRCA_O =
|
|
CFLG_ASM = -DNO_ASM
|
|
!ELSE
|
|
ASMOBJS = match32.obj
|
|
CRCA_O = crci386c.obj
|
|
CFLG_ASM = -DASM_CRC
|
|
!ENDIF
|
|
|
|
!IFDEF USEBZ2
|
|
LOC=$(LOC) -DBZIP2_SUPPORT
|
|
!IFNDEF debug
|
|
EXTLIB=$(EXTLIB) libbz2.lib
|
|
!ELSE
|
|
EXTLIB=$(EXTLIB) libbz2.lib
|
|
!ENDIF
|
|
!ENDIF
|
|
|
|
!IFDEF USEZLIB
|
|
LOC=$(LOC) -DUSE_ZLIB
|
|
ASMOBJS=
|
|
!IFNDEF debug
|
|
EXTLIB=$(EXTLIB) zlib.lib
|
|
!ELSE
|
|
EXTLIB=$(EXTLIB) zlib.lib
|
|
!ENDIF
|
|
!ENDIF
|
|
|
|
!IFDEF USEZLIB
|
|
USE_MSVCRT=1
|
|
!ELSE
|
|
!IFDEF USEBZIP2
|
|
USE_MSVCRT=1
|
|
!ELSE
|
|
USE_MSVCRT=0
|
|
!ENDIF
|
|
!ENDIF # USEZLIB
|
|
|
|
!IF $(USE_MSVCRT) == 1
|
|
CRTLIB=-MD
|
|
!ELSE
|
|
!IF "$(VS80COMNTOOLS)" == ""
|
|
CRTLIB=-ML
|
|
!ELSE
|
|
# no single-threaded CRT static lib, only multi-threaded in VC8
|
|
CRTLIB=-MT
|
|
!ENDIF
|
|
!ENDIF
|
|
|
|
!IFDEF NODEBUG
|
|
cdebug = -O2
|
|
cdbgsz = -O1
|
|
!ELSE
|
|
cdebug = -Od
|
|
cdbgsz = $(cdebug)
|
|
!ENDIF
|
|
|
|
# ------------- 32-bit Microsoft Visual C++ -------------
|
|
CC=cl -nologo
|
|
CFLAGS=-W3 $(cdebug) -DWIN32 $(CFLG_ASM) $(CRTLIB) $(LOC)
|
|
UTILFLAGS=$(CFLAGS) -DUTIL -Fo$@
|
|
|
|
# Remove "-coff" from ASFLAGS if you do not have MASM 6.11.
|
|
|
|
AS=ml -nologo
|
|
ASFLAGS=-c -coff -Cx
|
|
|
|
RC=rc
|
|
|
|
# If you build 16-bit executables with MS Visual C++ v1.0/1.5 and link them
|
|
# with the /KNOWEAS switch, you can build dual-mode MS-DOS/Win32 executables
|
|
# by passing the -stub switch to the 32-bit linker to specify the 16-bit part.
|
|
|
|
LD=link -nologo
|
|
LDFLAGS=user32.lib advapi32.lib /OPT:NOWIN98 /INCREMENTAL:NO /PDB:$*.pdb $(EXTLIB)
|
|
SYMS=/DEBUG:full /DEBUGTYPE:CV
|
|
!IFDEF debug
|
|
LDFLAGS=$(LDFLAGS) $(SYMS)
|
|
CFLAGS=$(CFLAGS) /Zi
|
|
!ELSE
|
|
LDFLAGS=$(LDFLAGS) /RELEASE
|
|
!IFDEF sym
|
|
LDFLAGS=$(LDFLAGS) $(SYMS)
|
|
CFLAGS=$(CFLAGS) /Zi
|
|
!ENDIF
|
|
!ENDIF
|
|
|
|
# variables
|
|
OBJZ = zip.obj crypt.obj ttyio.obj zipfile.obj zipup.obj fileio.obj util.obj \
|
|
crc32.obj $(CRCA_O) globals.obj
|
|
|
|
OBJI = deflate.obj trees.obj $(ASMOBJS) win32.obj win32zip.obj nt.obj win32i64.obj
|
|
|
|
OBJU = zipfile_.obj fileio_.obj util_.obj crc32_.obj $(CRCA_O) globals.obj \
|
|
win32_.obj win32i64.obj
|
|
OBJN = zipnote.obj $(OBJU)
|
|
OBJC = zipcloak.obj crypt_.obj ttyio.obj $(OBJU)
|
|
OBJS = zipsplit.obj $(OBJU)
|
|
|
|
ZIP_H = zip.h ziperr.h tailor.h win32/osdep.h
|
|
|
|
ZIPS = zip.exe zipnote.exe zipsplit.exe zipcloak.exe
|
|
|
|
zips: $(ZIPS)
|
|
|
|
zip.obj: zip.c $(ZIP_H) revision.h crc32.h crypt.h ttyio.h
|
|
$(CC) -c $(CFLAGS) $*.c
|
|
|
|
zipfile.obj: zipfile.c $(ZIP_H) crc32.h
|
|
$(CC) -c $(CFLAGS) $*.c
|
|
|
|
zipup.obj: zipup.c $(ZIP_H) revision.h crc32.h crypt.h win32/zipup.h
|
|
$(CC) -c $(CFLAGS) $*.c
|
|
|
|
fileio.obj: fileio.c $(ZIP_H) crc32.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
|
|
|
|
crc32.obj: crc32.c $(ZIP_H) crc32.h
|
|
$(CC) -c $(CFLAGS) $*.c
|
|
|
|
crypt.obj: crypt.c $(ZIP_H) crypt.h crc32.h ttyio.h
|
|
$(CC) -c $(CFLAGS) $*.c
|
|
|
|
ttyio.obj: ttyio.c $(ZIP_H) crypt.h ttyio.h
|
|
$(CC) -c $(CFLAGS) $*.c
|
|
|
|
win32i64.obj: win32/win32i64.c $(ZIP_H)
|
|
$(CC) -c $(CFLAGS) -I. win32/win32i64.c
|
|
|
|
win32zip.obj: win32/win32zip.c $(ZIP_H) win32/win32zip.h win32/nt.h
|
|
$(CC) -c $(CFLAGS) -I. win32/win32zip.c
|
|
|
|
win32.obj: win32/win32.c $(ZIP_H) win32/win32zip.h
|
|
$(CC) -c $(CFLAGS) -I. win32/win32.c
|
|
|
|
nt.obj: win32/nt.c $(ZIP_H) win32/nt.h
|
|
$(CC) -c $(CFLAGS) -I. win32/nt.c
|
|
|
|
zipcloak.obj: zipcloak.c $(ZIP_H) revision.h crc32.h crypt.h ttyio.h
|
|
$(CC) -c $(CFLAGS) $*.c
|
|
|
|
zipnote.obj: zipnote.c $(ZIP_H) revision.h
|
|
$(CC) -c $(CFLAGS) $*.c
|
|
|
|
zipsplit.obj: zipsplit.c $(ZIP_H) revision.h
|
|
$(CC) -c $(CFLAGS) $*.c
|
|
|
|
zipfile_.obj: zipfile.c $(ZIP_H) crc32.h
|
|
$(CC) -c $(UTILFLAGS) zipfile.c
|
|
|
|
fileio_.obj: fileio.c $(ZIP_H) crc32.h
|
|
$(CC) -c $(UTILFLAGS) fileio.c
|
|
|
|
util_.obj: util.c $(ZIP_H)
|
|
$(CC) -c $(UTILFLAGS) util.c
|
|
|
|
crc32_.obj: crc32.c $(ZIP_H) crc32.h
|
|
$(CC) -c $(UTILFLAGS) crc32.c
|
|
|
|
crypt_.obj: crypt.c $(ZIP_H) crypt.h crc32.h ttyio.h
|
|
$(CC) -c $(UTILFLAGS) crypt.c
|
|
|
|
win32_.obj: win32/win32.c $(ZIP_H) win32/win32zip.h
|
|
$(CC) -c $(UTILFLAGS) -I. win32/win32.c
|
|
|
|
crci386c.obj: win32/crc_i386.c $(ZIP_H) crc32.h
|
|
$(CC) -c $(CFLAGS) -I. -Fo$@ win32/crc_i386.c
|
|
|
|
crc_i386.obj: win32/crc_i386.asm
|
|
$(AS) $(ASFLAGS) win32\crc_i386.asm
|
|
|
|
match32.obj: win32/match32.asm
|
|
$(AS) $(ASFLAGS) win32\match32.asm
|
|
|
|
zip.res: win32/zip.rc revision.h
|
|
$(RC) /l 0x409 /fo$@ /i win32 /d WIN32 win32/zip.rc
|
|
|
|
zip.exe: $(OBJZ) $(OBJI) zip.res
|
|
$(LD) $(LDFLAGS) $(OBJZ) $(OBJI) zip.res
|
|
|
|
zipcloak.exe: $(OBJC)
|
|
$(LD) $(LDFLAGS) $(OBJC)
|
|
|
|
zipnote.exe: $(OBJN)
|
|
$(LD) $(LDFLAGS) $(OBJN)
|
|
|
|
zipsplit.exe: $(OBJS)
|
|
$(LD) $(LDFLAGS) $(OBJS)
|
|
|
|
clean:
|
|
-del *.obj
|
|
-del *.exe
|