2016-11-18 14:40:05 +01:00
|
|
|
# Makefile for UnZip, fUnZip and UnZipSFX for native Win32-Intel ports of gcc.
|
|
|
|
# Currently supported implementations: Cygnus/Win32 and MinGW32.
|
|
|
|
#
|
|
|
|
# First version: Cosmin Truta, Dec 1997.
|
|
|
|
# Last revision: Christian Spieler, 09-Aug-2008.
|
|
|
|
#
|
|
|
|
# To use, do "make -f win32/makefile.gcc".
|
|
|
|
|
|
|
|
# configuration switches supported:
|
|
|
|
# NOASM=1 disable assembler crc32 code, the generic C source code
|
|
|
|
# is used instead.
|
|
|
|
# NOCRC_OPT=1 disable "unfolding CRC tables" optimization.
|
|
|
|
# OPT_P6=1 add "modern gcc" tuning option for PentiumPro family CPU.
|
|
|
|
# USEBZ2=1 activate integrated compilation of bzip2 compression support,
|
|
|
|
# this requires the bzip2 sources present in the bzip2 subfolder.
|
|
|
|
# USEZLIB=1 replace internal deflate code by externally provided zlib.
|
|
|
|
# USE_POSIX=1 build posix-style binaries targeted for the CygWin unix
|
|
|
|
# emulation environment.
|
|
|
|
SDK_DIR:= $(abspath ../../../contrib/sdk)
|
|
|
|
NOASM=1
|
|
|
|
CC_CPU_OPT=-march=pentium
|
|
|
|
|
|
|
|
### Optional section
|
|
|
|
|
|
|
|
# The following options allow to override the default assembler code usage
|
|
|
|
ifdef NOASM
|
|
|
|
APPLY_ASMCRC=0
|
|
|
|
endif
|
|
|
|
ifdef USEASM
|
|
|
|
APPLY_ASMCRC=1
|
|
|
|
endif
|
|
|
|
|
|
|
|
# The external zlib library supplies its own crc32 implementation...
|
|
|
|
ifdef USEZLIB
|
|
|
|
APPLY_ASMCRC=0
|
|
|
|
endif
|
|
|
|
|
|
|
|
# default is ASM CRC code (from .S source) for now...
|
|
|
|
ifndef APPLY_ASMCRC
|
|
|
|
APPLY_ASMCRC=1
|
|
|
|
endif
|
|
|
|
|
|
|
|
# optional inclusion of bzip2 decompression
|
|
|
|
IZ_BZIP2 = bzip2
|
|
|
|
ifdef USEBZ2
|
|
|
|
INC_BZ2LIB = -I$(IZ_BZIP2)
|
|
|
|
LOCFLAGS = $(INC_BZ2LIB) -DUSE_BZIP2
|
|
|
|
LD_BZ2LIB = -L$(IZ_BZIP2) -lbz2
|
|
|
|
LIBBZIP2 = $(IZ_BZIP2)/libbz2.a
|
|
|
|
else
|
|
|
|
INC_BZ2LIB =
|
|
|
|
LOCFLAGS =
|
|
|
|
LD_BZ2LIB =
|
|
|
|
LIBBZIP2 =
|
|
|
|
endif
|
|
|
|
LIBBZIP2X = $(LIBBZIP2)
|
|
|
|
|
|
|
|
ifndef USEZLIB
|
|
|
|
|
|
|
|
# Apply the "CRC unfolding tables" optimization unless explicitly disabled.
|
|
|
|
# (This optimization might have negative effects on old CPU designs with a
|
|
|
|
# small first-level data cache.)
|
|
|
|
ifndef NOCRC_OPT
|
|
|
|
LOCFLAGS += -DIZ_CRCOPTIM_UNFOLDTBL
|
|
|
|
endif
|
|
|
|
|
|
|
|
# Optional nonstandard preprocessor flags (as -DUSE_ZLIB or -DUSE_SMITH_CODE)
|
|
|
|
# should be added to the environment via "set LOCAL_UNZIP=-DFOO" or added
|
|
|
|
# to the declaration of LOCFLAGS here:
|
|
|
|
ifneq ($(APPLY_ASMCRC),0)
|
|
|
|
LOCFLAGS += -DASM_CRC
|
|
|
|
endif
|
|
|
|
|
|
|
|
else # ifndef USEZLIB
|
|
|
|
|
|
|
|
LOCFLAGS += -DUSE_ZLIB
|
|
|
|
|
|
|
|
endif # ifndef USEZLIB ... else ...
|
|
|
|
|
|
|
|
# Finally, append additional externally supplied options.
|
|
|
|
LOCFLAGS += $(LOCAL_UNZIP)
|
|
|
|
|
|
|
|
# Some gcc distributions for Win32 (e.g. CygWin) try to emulate a POSIX-
|
|
|
|
# compatible (Unix-style) environment. This Makefile defaults to a
|
|
|
|
# "native Win32" build. To build POSIX-mode binaries, it is recommended
|
|
|
|
# to use the Makefile of the Unix port. However, by defining the variable
|
|
|
|
# "USE_POSIX", building binaries for the POSIX environment can be enabled
|
|
|
|
# here as well.
|
|
|
|
ifdef 0
|
|
|
|
ifdef USE_POSIX
|
|
|
|
CC_ENVIR_OPT = -DUNIX -DFORCE_UNIX_OVER_WIN32
|
|
|
|
else
|
|
|
|
CC_ENVIR_OPT = -DWIN32 -DFORCE_WIN32_OVER_UNIX
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
### kolibri specific
|
|
|
|
INCLUDES= -I $(SDK_DIR)/sources/newlib/libc/include
|
|
|
|
LIBPATH = -L $(SDK_DIR)/lib -L /home/autobuild/tools/win32/mingw32/lib
|
|
|
|
|
|
|
|
CC_ENVIR_OPT = -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32 -DKOS32 \
|
|
|
|
$(INCLUDES)
|
|
|
|
|
|
|
|
### Compiler-specific section
|
|
|
|
|
|
|
|
# ------------ GNU C ------------
|
|
|
|
CC = kos32-gcc
|
|
|
|
|
|
|
|
#AS = as
|
|
|
|
AS = $(CC)
|
|
|
|
|
|
|
|
LD = kos32-ld
|
|
|
|
###LD = $(CC)
|
|
|
|
|
|
|
|
AR = ar
|
|
|
|
|
|
|
|
###RC = windres
|
|
|
|
|
|
|
|
# Quiet
|
|
|
|
CC_QUIET_OPT =
|
|
|
|
AS_QUIET_OPT = $(CC_QUIET_OPT)
|
|
|
|
LD_QUIET_OPT = $(CC_QUIET_OPT)
|
|
|
|
|
|
|
|
# Warnings
|
|
|
|
CC_WARN_OPT = -Wall
|
|
|
|
AS_WARN_OPT = $(CC_WARN_OPT)
|
|
|
|
LD_WARN_OPT =
|
|
|
|
|
|
|
|
# Debug version
|
|
|
|
CC_DEBUG_OPT = -g
|
|
|
|
AS_DEBUG_OPT = $(CC_DEBUG_OPT)
|
|
|
|
LD_DEBUG_OPT = $(CC_DEBUG_OPT)
|
|
|
|
|
|
|
|
# Release version
|
|
|
|
CC_RELEASE_OPT =
|
|
|
|
AS_RELEASE_OPT =
|
|
|
|
LD_RELEASE_OPT = -s
|
|
|
|
|
|
|
|
# Prefered target CPU (instruction scheduling optimized for...)
|
|
|
|
ifndef CC_CPU_OPT
|
|
|
|
CC_CPU_OPT = -mcpu=pentiumpro
|
|
|
|
endif
|
|
|
|
|
|
|
|
# Smallest code (-Os is new since EGC 1.1, use -O1 for 2.8.1 and earlier)
|
|
|
|
CC_SIZE_OPT = -Os $(CC_CPU_OPT)
|
|
|
|
|
|
|
|
# Fastest code
|
|
|
|
CC_SPEED_OPT = -O2 $(CC_CPU_OPT)
|
|
|
|
|
|
|
|
# Output object file name
|
|
|
|
CC_OUT_OPT = -o
|
|
|
|
|
|
|
|
# Other specific options
|
|
|
|
CC_SPECIFIC_OPT = -c $(CC_ENVIR_OPT)
|
|
|
|
AS_SPECIFIC_OPT = -c
|
|
|
|
LD_SPECIFIC_OPT = -o $@ -static -S -nostdlib -T $(SDK_DIR)/lib/app-dynamic.lds \
|
|
|
|
--image-base 0 $(LIBPATH)
|
|
|
|
|
|
|
|
# Libraries for the debug & release version
|
|
|
|
# (GCC 2.95 and newer does not require the system library specifications)
|
|
|
|
ifdef USEZLIB
|
|
|
|
LD_RELEASE_LIBS = -lz -lgcc -ldll -lc.dll
|
|
|
|
else
|
|
|
|
LD_RELEASE_LIBS = -lgcc -ldll -lc.dll
|
|
|
|
endif
|
|
|
|
LD_DEBUG_LIBS = $(LD_RELEASE_LIBS)
|
|
|
|
|
|
|
|
|
|
|
|
### System-specific section
|
|
|
|
|
|
|
|
# Suffixes
|
|
|
|
OBJ = .o
|
|
|
|
EXE = .exe
|
|
|
|
|
|
|
|
.SUFFIXES: .c .S $(OBJ) $(EXE)
|
|
|
|
.PHONY: FORCE
|
|
|
|
|
|
|
|
# Commands
|
|
|
|
RM = del /q
|
|
|
|
|
|
|
|
|
|
|
|
### General section
|
|
|
|
|
|
|
|
CFLAGS = $(CC_SPECIFIC_OPT) $(CC_QUIET_OPT) $(CC_WARN_OPT) $(LOCFLAGS) \
|
|
|
|
$(CC_OUT_OPT) $@
|
|
|
|
ASFLAGS = $(AS_SPECIFIC_OPT) $(AS_QUIET_OPT) $(AS_WARN_OPT) $(LOCFLAGS)
|
|
|
|
LDFLAGS = $(LD_SPECIFIC_OPT) $(LD_QUIET_OPT) $(LD_WARN_OPT)
|
|
|
|
|
|
|
|
# To build with debug info, use 'make DEBUG=1'.
|
|
|
|
ifdef DEBUG
|
|
|
|
CVER = $(CC_DEBUG_OPT)
|
|
|
|
ASVER = $(AS_DEBUG_OPT)
|
|
|
|
LDVER = $(LD_DEBUG_OPT)
|
|
|
|
GENFLAGS =
|
|
|
|
FFLAGS = -DFUNZIP
|
|
|
|
SFXFLAGS = -DSFX
|
|
|
|
GENDLLFL = -DDLL -DWINDLL
|
|
|
|
GENGUILB = -DSFX -DDLL -DWINDLL -DUNZIPLIB
|
|
|
|
GENGUISX = -DSFX
|
|
|
|
GENLIBFL = -DDLL -DWINDLL -DUNZIPLIB
|
|
|
|
LDLIBS = $(LD_DEBUG_LIBS)
|
|
|
|
else
|
|
|
|
CVER = $(CC_RELEASE_OPT)
|
|
|
|
ASVER = $(AS_RELEASE_OPT)
|
|
|
|
LDVER = $(LD_RELEASE_OPT)
|
|
|
|
GENFLAGS = $(CC_SPEED_OPT)
|
|
|
|
FFLAGS = $(CC_SPEED_OPT) -DFUNZIP
|
|
|
|
SFXFLAGS = $(CC_SIZE_OPT) -DSFX
|
|
|
|
GENDLLFL = $(CC_SPEED_OPT) -DDLL -DWINDLL
|
|
|
|
GENGUILB = $(CC_SIZE_OPT) -DSFX -DDLL -DWINDLL -DUNZIPLIB
|
|
|
|
GENGUISX = $(CC_SIZE_OPT) -DSFX
|
|
|
|
GENLIBFL = $(CC_SPEED_OPT) -DDLL -DWINDLL -DUNZIPLIB
|
|
|
|
LDLIBS = $(LD_RELEASE_LIBS)
|
|
|
|
endif
|
|
|
|
GUILDFLAG=-mwindows
|
|
|
|
|
|
|
|
# Object files
|
|
|
|
ifneq ($(APPLY_ASMCRC),0)
|
|
|
|
OBJA = crc_i386$(OBJ)
|
|
|
|
else
|
|
|
|
OBJA =
|
|
|
|
endif
|
|
|
|
OBJU1 = unzip$(OBJ) crc32$(OBJ) crypt$(OBJ) envargs$(OBJ)
|
|
|
|
OBJU2 = explode$(OBJ) extract$(OBJ) fileio$(OBJ) globals$(OBJ) inflate$(OBJ)
|
|
|
|
OBJU3 = list$(OBJ) match$(OBJ) process$(OBJ) ttyio$(OBJ) ubz2err$(OBJ)
|
|
|
|
OBJU4 = unreduce$(OBJ) unshrink$(OBJ) zipinfo$(OBJ)
|
|
|
|
OBJUS= kos32$(OBJ) dirent$(OBJ)
|
|
|
|
###OBJUS = win32$(OBJ) win32i64$(OBJ) nt$(OBJ) winapprc$(OBJ)
|
|
|
|
OBJU = $(OBJU1) $(OBJU2) $(OBJU3) $(OBJU4) $(OBJA) $(OBJUS)
|
|
|
|
OBJX1 = unzipsfx$(OBJ) crc32x$(OBJ) cryptx$(OBJ) extractx$(OBJ)
|
|
|
|
OBJX2 = fileiox$(OBJ) globalsx$(OBJ) inflatex$(OBJ) matchx$(OBJ) processx$(OBJ)
|
|
|
|
OBJX3 = ttyiox$(OBJ) ubz2errx$(OBJ)
|
|
|
|
###OBJXS = win32x$(OBJ) win32i64x$(OBJ) ntx$(OBJ)
|
|
|
|
OBJX = $(OBJX1) $(OBJX2) $(OBJX3) $(OBJA) $(OBJXS)
|
|
|
|
OBJF1 = funzip$(OBJ) crc32$(OBJ) cryptf$(OBJ) globalsf$(OBJ) inflatef$(OBJ)
|
|
|
|
OBJF2 = ttyiof$(OBJ)
|
|
|
|
###OBJFS = win32f$(OBJ) win32i64f$(OBJ)
|
|
|
|
OBJF = $(OBJF1) $(OBJF2) $(OBJA) $(OBJFS)
|
|
|
|
OBJDLL = windll$(OBJ) windllrc$(OBJ) api$(OBJ)
|
|
|
|
OBJD1 = crc32l$(OBJ) cryptl$(OBJ)
|
|
|
|
OBJD2 = explodel$(OBJ) extractl$(OBJ) fileiol$(OBJ) globalsl$(OBJ)
|
|
|
|
OBJD3 = inflatel$(OBJ) listl$(OBJ) matchl$(OBJ) processl$(OBJ) ubz2errl$(OBJ)
|
|
|
|
OBJD4 = unreducl$(OBJ) unshrnkl$(OBJ) zipinfol$(OBJ)
|
|
|
|
###OBJDS = win32l$(OBJ) win32i64l$(OBJ) ntl$(OBJ)
|
|
|
|
OBJD = $(OBJDLL) $(OBJD1) $(OBJD2) $(OBJD3) $(OBJD4) $(OBJA) $(OBJDS)
|
|
|
|
OBLX1 = apig$(OBJ) crc32g$(OBJ) cryptg$(OBJ)
|
|
|
|
OBLX2 = extractg$(OBJ) fileiog$(OBJ) globalsg$(OBJ) inflateg$(OBJ)
|
|
|
|
OBLX3 = matchg$(OBJ) processg$(OBJ) ubz2errg$(OBJ)
|
|
|
|
###OBLXS = win32g$(OBJ) win32i64g$(OBJ) ntg$(OBJ) windllg$(OBJ)
|
|
|
|
OBLX = $(OBLX1) $(OBLX2) $(OBLX3) $(OBJA) $(OBLXS)
|
|
|
|
OBGX = sfxwiz$(OBJ) sfxwizrc$(OBJ)
|
|
|
|
OBJLIB = windllb$(OBJ) apib$(OBJ)
|
|
|
|
OBJB1 = crc32b$(OBJ) cryptb$(OBJ)
|
|
|
|
OBJB2 = explodeb$(OBJ) extractb$(OBJ) fileiob$(OBJ) globalsb$(OBJ)
|
|
|
|
OBJB3 = inflateb$(OBJ) listb$(OBJ) matchb$(OBJ) processb$(OBJ) ubz2errb$(OBJ)
|
|
|
|
OBJB4 = unreducb$(OBJ) unshrnkb$(OBJ) zipinfob$(OBJ)
|
|
|
|
###OBJBS = win32b$(OBJ) win32i64b$(OBJ) ntb$(OBJ)
|
|
|
|
OBJB = $(OBJLIB) $(OBJB1) $(OBJB2) $(OBJB3) $(OBJB4) $(OBJA) $(OBJBS)
|
|
|
|
|
|
|
|
UNZIP_H = unzip.h unzpriv.h globals.h
|
|
|
|
###win32/w32cfg.h
|
|
|
|
###WINDLL_H = windll/windll.h windll/structs.h windll/decs.h
|
|
|
|
###DLLDEF = windll/windllgcc.def
|
|
|
|
###WINDLL_IMP_H = windll/decs.h windll/structs.h
|
|
|
|
|
|
|
|
|
|
|
|
# Default target is all the executables
|
|
|
|
###unzips: unzip$(EXE) funzip$(EXE) unzipsfx$(EXE)
|
|
|
|
###dll: unzip32.dll
|
|
|
|
###dllsample: uzexampl$(EXE)
|
|
|
|
###guisfx: SFXWiz32$(EXE)
|
|
|
|
#lib: libunzip32.a
|
|
|
|
###all: unzips dll dllsample guisfx lib
|
|
|
|
all: unzip$(EXE)
|
|
|
|
|
|
|
|
unzip$(EXE): $(OBJU) $(LIBBZIP2)
|
2016-11-18 17:37:20 +01:00
|
|
|
$(LD) $(LDFLAGS) $(LDVER) $(OBJU) $(LD_BZ2LIB) $(LDLIBS) -Map=unzip.exe.map
|
2016-11-18 14:40:05 +01:00
|
|
|
kos32-objcopy $@ -O binary
|
|
|
|
|
|
|
|
unzipsfx$(EXE): $(OBJX) $(LIBBZIP2X)
|
|
|
|
$(LD) $(LDFLAGS) $(LDVER) $(OBJX) $(LDLIBS)
|
|
|
|
|
|
|
|
funzip$(EXE): $(OBJF)
|
|
|
|
$(LD) $(LDFLAGS) $(LDVER) $(OBJF) $(LDLIBS)
|
|
|
|
|
|
|
|
unzip32.dll: $(DLLDEF) $(OBJD) $(LIBBZIP2)
|
|
|
|
dllwrap --driver-name $(CC) --def $(DLLDEF) $(LDFLAGS) $(LDVER) $(OBJD) $(LD_BZ2LIB) $(LDLIBS)
|
|
|
|
|
|
|
|
libunzsfx32.a: $(OBLX)
|
|
|
|
$(AR) -rus $@ $(OBLX)
|
|
|
|
|
|
|
|
SFXWiz32$(EXE): $(OBGX) libunzsfx32.a $(LIBBZIP2X)
|
|
|
|
$(LD) $(GUILDFLAG) $(LDFLAGS) $(LDVER) $(OBGX) -L. -lunzsfx32 $(LDLIBS)
|
|
|
|
|
|
|
|
uzexampl$(EXE): uzexampl$(OBJ)
|
|
|
|
$(CC) $(LDFLAGS) $(LDVER) uzexampl$(OBJ) -lversion $(LDLIBS)
|
|
|
|
|
|
|
|
libunzip32.a: $(OBJB)
|
|
|
|
$(AR) -rus $@ $(OBJB)
|
|
|
|
|
|
|
|
|
|
|
|
# create/update the library for the optional bzip2 support:
|
|
|
|
$(IZ_BZIP2)/libbz2.a: FORCE
|
|
|
|
$(subst /,\,$(MAKE)) -C $(IZ_BZIP2) -f Makebz2.iz CC="$(CC)" RM="$(RM)"
|
|
|
|
FORCE:
|
|
|
|
|
|
|
|
# How to compile sources
|
|
|
|
.c$(OBJ):
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENFLAGS) $<
|
|
|
|
.S$(OBJ):
|
|
|
|
$(AS) $(ASFLAGS) $(ASVER) $(GENFLAGS) $<
|
|
|
|
|
|
|
|
# Dependencies
|
|
|
|
crc32$(OBJ): crc32.c $(UNZIP_H) zip.h crc32.h
|
|
|
|
crypt$(OBJ): crypt.c $(UNZIP_H) zip.h crypt.h crc32.h ttyio.h
|
|
|
|
envargs$(OBJ): envargs.c $(UNZIP_H)
|
|
|
|
explode$(OBJ): explode.c $(UNZIP_H)
|
|
|
|
extract$(OBJ): extract.c $(UNZIP_H) crc32.h crypt.h
|
|
|
|
fileio$(OBJ): fileio.c $(UNZIP_H) crc32.h crypt.h ttyio.h ebcdic.h
|
|
|
|
funzip$(OBJ): funzip.c $(UNZIP_H) crc32.h crypt.h ttyio.h
|
|
|
|
globals$(OBJ): globals.c $(UNZIP_H)
|
|
|
|
inflate$(OBJ): inflate.c inflate.h $(UNZIP_H)
|
|
|
|
list$(OBJ): list.c $(UNZIP_H)
|
|
|
|
match$(OBJ): match.c $(UNZIP_H)
|
|
|
|
process$(OBJ): process.c $(UNZIP_H) crc32.h
|
|
|
|
ttyio$(OBJ): ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h
|
|
|
|
ubz2err$(OBJ): ubz2err.c $(UNZIP_H)
|
|
|
|
unreduce$(OBJ): unreduce.c $(UNZIP_H)
|
|
|
|
unshrink$(OBJ): unshrink.c $(UNZIP_H)
|
|
|
|
unzip$(OBJ): unzip.c $(UNZIP_H) crypt.h unzvers.h consts.h
|
|
|
|
zipinfo$(OBJ): zipinfo.c $(UNZIP_H)
|
|
|
|
crc_i386$(OBJ): crc_i386.S
|
|
|
|
|
|
|
|
|
|
|
|
kos32$(OBJ): kolibri/kos32.c kolibri/kos32sys1.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENFLAGS) -I. $<
|
|
|
|
dirent$(OBJ): kolibri/dirent.c kolibri/kos32sys1.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENFLAGS) -I. $<
|
|
|
|
###win32$(OBJ): win32/win32.c $(UNZIP_H) win32/nt.h
|
|
|
|
### $(CC) $(CFLAGS) $(CVER) $(GENFLAGS) -I. $<
|
|
|
|
|
|
|
|
###win32i64$(OBJ): win32/win32i64.c $(UNZIP_H)
|
|
|
|
### $(CC) $(CFLAGS) $(CVER) $(GENFLAGS) -I. $<
|
|
|
|
|
|
|
|
###nt$(OBJ): win32/nt.c $(UNZIP_H) win32/nt.h
|
|
|
|
### $(CC) $(CFLAGS) $(CVER) $(GENFLAGS) -I. $<
|
|
|
|
|
|
|
|
###winapprc$(OBJ): win32/winapp.rc unzvers.h
|
|
|
|
### - $(RC) -o $@ $<
|
|
|
|
|
|
|
|
# UnZipSFX compilation section
|
|
|
|
crc32x$(OBJ): crc32.c $(UNZIP_H) zip.h crc32.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) $<
|
|
|
|
|
|
|
|
cryptx$(OBJ): crypt.c $(UNZIP_H) zip.h crypt.h crc32.h ttyio.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) $<
|
|
|
|
|
|
|
|
extractx$(OBJ): extract.c $(UNZIP_H) crc32.h crypt.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) $<
|
|
|
|
|
|
|
|
fileiox$(OBJ): fileio.c $(UNZIP_H) crc32.h crypt.h ttyio.h ebcdic.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) $<
|
|
|
|
|
|
|
|
globalsx$(OBJ): globals.c $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) $<
|
|
|
|
|
|
|
|
inflatex$(OBJ): inflate.c inflate.h $(UNZIP_H) crypt.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) $<
|
|
|
|
|
|
|
|
matchx$(OBJ): match.c $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) $<
|
|
|
|
|
|
|
|
processx$(OBJ): process.c $(UNZIP_H) crc32.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) $<
|
|
|
|
|
|
|
|
ttyiox$(OBJ): ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) $<
|
|
|
|
|
|
|
|
ubz2errx$(OBJ): ubz2err.c $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) $<
|
|
|
|
|
|
|
|
unzipsfx$(OBJ): unzip.c $(UNZIP_H) crypt.h unzvers.h consts.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) $<
|
|
|
|
|
|
|
|
win32x$(OBJ): win32/win32.c $(UNZIP_H) win32/nt.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) -I. $<
|
|
|
|
|
|
|
|
win32i64x$(OBJ): win32/win32i64.c $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) -I. $<
|
|
|
|
|
|
|
|
ntx$(OBJ): win32/nt.c $(UNZIP_H) win32/nt.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) -I. $<
|
|
|
|
|
|
|
|
# fUnZip compilation section
|
|
|
|
cryptf$(OBJ): crypt.c $(UNZIP_H) zip.h crypt.h crc32.h ttyio.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(FFLAGS) $<
|
|
|
|
|
|
|
|
globalsf$(OBJ): globals.c $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(FFLAGS) $<
|
|
|
|
|
|
|
|
inflatef$(OBJ): inflate.c inflate.h $(UNZIP_H) crypt.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(FFLAGS) $<
|
|
|
|
|
|
|
|
ttyiof$(OBJ): ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(FFLAGS) $<
|
|
|
|
|
|
|
|
win32f$(OBJ): win32/win32.c $(UNZIP_H) win32/nt.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(FFLAGS) -I. $<
|
|
|
|
|
|
|
|
win32i64f$(OBJ): win32/win32i64.c $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(FFLAGS) -I. $<
|
|
|
|
|
|
|
|
# WINDLL sample
|
|
|
|
uzexampl$(OBJ): windll/uzexampl.c windll/uzexampl.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENFLAGS) -I. $<
|
|
|
|
|
|
|
|
# DLL compilation section
|
|
|
|
api$(OBJ): api.c $(UNZIP_H) $(WINDLL_H) unzvers.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $<
|
|
|
|
|
|
|
|
crc32l$(OBJ): crc32.c $(UNZIP_H) zip.h crc32.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $<
|
|
|
|
|
|
|
|
cryptl$(OBJ): crypt.c $(UNZIP_H) zip.h crypt.h crc32.h ttyio.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $<
|
|
|
|
|
|
|
|
explodel$(OBJ): explode.c $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $<
|
|
|
|
|
|
|
|
extractl$(OBJ): extract.c $(UNZIP_H) $(WINDLL_H) crc32.h crypt.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $<
|
|
|
|
|
|
|
|
fileiol$(OBJ): fileio.c $(UNZIP_H) $(WINDLL_H) crc32.h crypt.h ttyio.h ebcdic.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $<
|
|
|
|
|
|
|
|
globalsl$(OBJ): globals.c $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $<
|
|
|
|
|
|
|
|
inflatel$(OBJ): inflate.c inflate.h $(UNZIP_H) crypt.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $<
|
|
|
|
|
|
|
|
listl$(OBJ): list.c $(UNZIP_H) $(WINDLL_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $<
|
|
|
|
|
|
|
|
matchl$(OBJ): match.c $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $<
|
|
|
|
|
|
|
|
processl$(OBJ): process.c $(UNZIP_H) $(WINDLL_H) crc32.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $<
|
|
|
|
|
|
|
|
ubz2errl$(OBJ): ubz2err.c $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $<
|
|
|
|
|
|
|
|
unreducl$(OBJ): unreduce.c $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $<
|
|
|
|
|
|
|
|
unshrnkl$(OBJ): unshrink.c $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $<
|
|
|
|
|
|
|
|
zipinfol$(OBJ): zipinfo.c $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $<
|
|
|
|
|
|
|
|
win32l$(OBJ): win32/win32.c $(UNZIP_H) win32/nt.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENDLLFL) -I. $<
|
|
|
|
|
|
|
|
win32i64l$(OBJ): win32/win32i64.c $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENDLLFL) -I. $<
|
|
|
|
|
|
|
|
ntl$(OBJ): win32/nt.c $(UNZIP_H) win32/nt.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENDLLFL) -I. $<
|
|
|
|
|
|
|
|
windll$(OBJ): windll/windll.c $(UNZIP_H) $(WINDLL_H) crypt.h unzvers.h consts.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENDLLFL) -I. $<
|
|
|
|
|
|
|
|
windllrc$(OBJ): windll/windll.rc unzvers.h
|
|
|
|
- $(RC) -o $@ $<
|
|
|
|
|
|
|
|
# SFX Lib compilation section
|
|
|
|
apig$(OBJ): api.c $(UNZIP_H) $(WINDLL_H) unzvers.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENGUILB) $<
|
|
|
|
|
|
|
|
crc32g$(OBJ): crc32.c $(UNZIP_H) zip.h crc32.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENGUILB) $<
|
|
|
|
|
|
|
|
cryptg$(OBJ): crypt.c $(UNZIP_H) zip.h crypt.h crc32.h ttyio.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENGUILB) $<
|
|
|
|
|
|
|
|
extractg$(OBJ): extract.c $(UNZIP_H) $(WINDLL_H) crc32.h crypt.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENGUILB) $<
|
|
|
|
|
|
|
|
fileiog$(OBJ): fileio.c $(UNZIP_H) $(WINDLL_H) crc32.h crypt.h ttyio.h ebcdic.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENGUILB) $<
|
|
|
|
|
|
|
|
globalsg$(OBJ): globals.c $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENGUILB) $<
|
|
|
|
|
|
|
|
inflateg$(OBJ): inflate.c inflate.h $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENGUILB) $<
|
|
|
|
|
|
|
|
matchg$(OBJ): match.c $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENGUILB) $<
|
|
|
|
|
|
|
|
processg$(OBJ): process.c $(UNZIP_H) $(WINDLL_H) crc32.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENGUILB) $<
|
|
|
|
|
|
|
|
ubz2errg$(OBJ): ubz2err.c $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENGUILB) $<
|
|
|
|
|
|
|
|
win32g$(OBJ): win32/win32.c $(UNZIP_H) win32/nt.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENGUILB) -I. $<
|
|
|
|
|
|
|
|
win32i64g$(OBJ): win32/win32i64.c $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENGUILB) -I. $<
|
|
|
|
|
|
|
|
ntg$(OBJ): win32/nt.c $(UNZIP_H) win32/nt.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENGUILB) -I. $<
|
|
|
|
|
|
|
|
windllg$(OBJ): windll/windll.c $(UNZIP_H) $(WINDLL_H) crypt.h unzvers.h consts.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENGUILB) -I. $<
|
|
|
|
|
|
|
|
sfxwiz$(OBJ): windll/guisfx/sfxwiz.c windll/guisfx/dialog.h $(WINDLL_IMP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENGUISX) -I. $<
|
|
|
|
|
|
|
|
sfxwizrc$(OBJ): windll/guisfx/sfxwiz.rc
|
|
|
|
- $(RC) --include-dir windll/guisfx --define WIN32 -o$@ $<
|
|
|
|
|
|
|
|
# Static LIB compilation section
|
|
|
|
apib$(OBJ): api.c $(UNZIP_H) $(WINDLL_H) unzvers.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $<
|
|
|
|
|
|
|
|
crc32b$(OBJ): crc32.c $(UNZIP_H) zip.h crc32.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $<
|
|
|
|
|
|
|
|
cryptb$(OBJ): crypt.c $(UNZIP_H) zip.h crypt.h crc32.h ttyio.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $<
|
|
|
|
|
|
|
|
explodeb$(OBJ): explode.c $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $<
|
|
|
|
|
|
|
|
extractb$(OBJ): extract.c $(UNZIP_H) crc32.h crypt.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $<
|
|
|
|
|
|
|
|
fileiob$(OBJ): fileio.c $(UNZIP_H) crc32.h crypt.h ttyio.h ebcdic.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $<
|
|
|
|
|
|
|
|
globalsb$(OBJ): globals.c $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $<
|
|
|
|
|
|
|
|
inflateb$(OBJ): inflate.c inflate.h $(UNZIP_H) crypt.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $<
|
|
|
|
|
|
|
|
listb$(OBJ): list.c $(UNZIP_H) $(WINDLL_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $<
|
|
|
|
|
|
|
|
matchb$(OBJ): match.c $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $<
|
|
|
|
|
|
|
|
processb$(OBJ): process.c $(UNZIP_H) crc32.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $<
|
|
|
|
|
|
|
|
ubz2errb$(OBJ): ubz2err.c $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $<
|
|
|
|
|
|
|
|
unreducb$(OBJ): unreduce.c $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $<
|
|
|
|
|
|
|
|
unshrnkb$(OBJ): unshrink.c $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $<
|
|
|
|
|
|
|
|
zipinfob$(OBJ): zipinfo.c $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $<
|
|
|
|
|
|
|
|
win32b$(OBJ): win32/win32.c $(UNZIP_H) win32/nt.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENLIBFL) -I. $<
|
|
|
|
|
|
|
|
win32i64b$(OBJ): win32/win32i64.c $(UNZIP_H)
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENLIBFL) -I. $<
|
|
|
|
|
|
|
|
ntb$(OBJ): win32/nt.c $(UNZIP_H) win32/nt.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENLIBFL) -I. $<
|
|
|
|
|
|
|
|
windllb$(OBJ): windll/windll.c $(UNZIP_H) $(WINDLL_H) crypt.h unzvers.h consts.h
|
|
|
|
$(CC) $(CFLAGS) $(CVER) $(GENLIBFL) -I. $<
|
|
|
|
|
|
|
|
clean:
|
|
|
|
-$(subst /,\,$(MAKE)) -C $(IZ_BZIP2) -f Makebz2.iz RM="$(RM)" clean
|
|
|
|
-$(RM) *$(OBJ)
|
|
|
|
-$(RM) unzip$(EXE) funzip$(EXE) unzipsfx$(EXE)
|
|
|
|
-$(RM) unzip32.dll uzexampl$(EXE) SFXWiz32$(EXE)
|
|
|
|
-$(RM) libunzip32.a libunzsfx32.a
|