?? makefile.bc
字號:
# Makefile for UnZip(SFX) and fUnZip for Borland C++ for Windows 95/NT# Version: 5.5 and later# Alvin Koh, Jim Knoble, Christian Spieler, E-Yen Tan, Cosmin Truta, etc.## Tested with Borland C++ 5.5 (may work with older C++Builder 3.0, too)## Last revised: 11 Nov 2001 (CS)### Optional nonstandard preprocessor flags (as -DCHECK_EOF or -DDOS_WILD)# should be added to the environment via "set LOCAL_UNZIP=-DFOO" or added# to the declaration of LOC here:LOC = $(LOCAL_UNZIP)# Type for CPU required: 3: 80386, 4: 80486, 5: Pentium,# 6: Pentium Pro, Pentium II, etc.!ifndef CPU_TYPCPU_TYP = 6!endif# (De)Select inclusion of optimized assembler CRC32 routine:!ifdef NOASMUSE_ASMCRC=0!else!ifdef USEASMUSE_ASMCRC=1!endif!endif!ifndef USE_ASMCRC# default to generic C code for now...USE_ASMCRC = 0!endif!ifndef USE_IZTIMEZONE#default: do not use the IZ timezone replacementUSE_IZTIMEZONE=0!endif!if $(USE_IZTIMEZONE) != 0LOC = -DW32_USE_IZ_TIMEZONE $(LOC)!endif# If you have bcc32i, you should define:# CC = bcc32i# This compiler generates a faster code.CC = bcc32!ifdef USETASM16AS = tasm!elseAS = tasm32!endifAR = tlibLD = ilink32!if $(USE_ASMCRC) != 0ASMFLG = -DASM_CRCCRC32 = crc_i386CRC32X = $(CRC32)CRC32F = $(CRC32)CRC32L = $(CRC32)CRC32G = $(CRC32)CRC32B = $(CRC32)!elseASMFLG =CRC32 = crc32CRC32X = crc32xCRC32F = crc32fCRC32L = crc32lCRC32G = crc32gCRC32B = $(OB)crc32b!endif!if $(USE_IZTIMEZONE) != 0TIMEZONE_OBJU = timezone.objTIMEZONE_OBJX = timezonx.objTIMEZONE_OBJD = timezonl.objTIMEZONE_OBLX = timezolx.objTIMEZONE_OBJB = $(OB)timezonb.obj!elseTIMEZONE_OBJU =TIMEZONE_OBJX =TIMEZONE_OBJD =TIMEZONE_OBLX =TIMEZONE_OBJB =!endif!if $(UNCLEAN)DIRT = -DUSE_SMITH_CODE -DUSE_UNSHRINK!elseDIRT =!endif!if $(DEBUG)CC_SIZE_OPT = -OdCC_SPEED_OPT = -Od!else# Smallest codeCC_SIZE_OPT = -O1 -OS# Fastest codeCC_SPEED_OPT = -O2 -OS -Oc!endif!if $(WARNINGS)CC_WARN = -w -w-aus -w-par -w-sig -w-use!elseCC_WARN = -w-!endif# compiler flagsASCPUFLAG = __$(CPU_TYP)86!if $(CPU_TYP) != 0CC_CPUFLG = -$(CPU_TYP)!endifASFLAGS = -ml -m2 -w0 -D$(ASCPUFLAG) $(LOC)CFLAGS = $(CC_WARN) $(CC_CPUFLG) -d -ff- -k- -P-.C -I. $(ASMFLG) $(LOC) $(DIRT)LDFLAGS = # -lxncd -l-P # for bccLDFLAGS_DLL = $(LDFLAGS) -tWDLDFLAGS_GUI = $(LDFLAGS) -tWUNFLAGS = $(CFLAGS) $(CC_SPEED_OPT)FUFLAGS = $(CFLAGS) $(CC_SPEED_OPT) -K -DFUNZIPSXFLAGS = $(CFLAGS) $(CC_SIZE_OPT) -DSFXDLFLAGS = $(CFLAGS) $(CC_SPEED_OPT) -tWD -DWINDLL -DDLLSLFLAGS = $(CFLAGS) $(CC_SIZE_OPT) -DWINDLL -DDLL -DUNZIPLIB -DSFXGXFLAGS = $(CFLAGS) $(CC_SIZE_OPT) -tW -DSFXLBFLAGS = $(CFLAGS) $(CC_SPEED_OPT) -DWINDLL -DDLL -DUNZIPLIB# list macros# special subdirectory for the static library binaries, to separate them# from other binaries (including dll import library file)OBDIR = ow32libOB = $(OBDIR)/# object filesOBJU1 = unzip.obj $(CRC32).obj crctab.obj crypt.obj envargs.obj explode.objOBJU2 = extract.obj fileio.obj globals.obj inflate.obj list.obj match.objOBJU3 = process.obj ttyio.obj unreduce.obj unshrink.obj zipinfo.objOBJUS = win32.obj nt.obj $(TIMEZONE_OBJU)OBJU = $(OBJU1) $(OBJU2) $(OBJU3) $(OBJUS)OBJF = funzip.obj $(CRC32F).obj cryptf.obj globalsf.obj inflatef.obj \ ttyiof.obj win32f.objOBJX1 = unzipsfx.obj $(CRC32X).obj crctabx.obj cryptx.objOBJX2 = extractx.obj fileiox.obj globalsx.obj inflatex.obj matchx.objOBJX3 = processx.obj ttyiox.objOBJXS = win32x.obj ntx.obj $(TIMEZONE_OBJX)OBJX = $(OBJX1) $(OBJX2) $(OBJX3) $(OBJXS)OBJD1 = api.obj $(CRC32L).obj crctabl.obj cryptl.obj explodel.objOBJD2 = extractl.obj fileiol.obj globalsl.obj inflatel.obj listl.obj matchl.objOBJD3 = processl.obj unreducl.obj unshrnkl.obj zipinfol.objOBJDS = win32l.obj ntl.obj windll.obj $(ASMOBJS) $(TIMEZONE_OBJD)OBJD = $(OBJD1) $(OBJD2) $(OBJD3) $(OBJDS)OBLX1 = apig.obj $(CRC32G).obj crctabg.obj cryptg.objOBLX2 = extractg.obj fileiog.obj globalsg.obj inflateg.objOBLX3 = matchg.obj processg.objOBLXS = win32g.obj ntg.obj windllg.obj $(TIMEZONE_OBLX)OBLX = $(OBLX1) $(OBLX2) $(OBLX3) $(OBLXS)OBGX = sfxwiz.objOBJLIB = $(OB)windllb.obj $(OB)apib.objOBJB1 = $(CRC32B).obj $(OB)crctabb.obj $(OB)cryptb.objOBJB2 = $(OB)explodeb.obj $(OB)extractb.obj $(OB)fileiob.obj $(OB)globalsb.objOBJB3 = $(OB)inflateb.obj $(OB)listb.obj $(OB)matchb.obj $(OB)processb.objOBJB4 = $(OB)unreducb.obj $(OB)unshrnkb.obj $(OB)zipinfob.objOBJBS = $(OB)win32b.obj $(OB)ntb.obj $(TIMEZONE_OBJB)OBJB = $(OBJLIB) $(OBJB1) $(OBJB2) $(OBJB3) $(OBJB4) $(OBJBS)UNZIP_H = unzip.h unzpriv.h globals.h win32/w32cfg.hWINDLL_H = windll/windll.h windll/structs.h windll/decs.hWINDLL_DEF = windll/windll32.defWINDLL_IMP_H = windll/decs.h windll/structs.h# implicit rules.asm.obj: $(AS) $(ASFLAGS) $<.c.obj: $(CC) -c $(UNFLAGS) {$< }# explicit rules# Default target is all the command line executablesunzips: unzip.exe funzip.exe unzipsfx.exedll: unzip32.dlldllsample: uzexampl.exeguisfx: SFXWiz32.exelib: $(OBDIR) $(OB)unzip32.liball: unzips dll dllsample guisfx libunzip.exe: $(OBJU) $(CC) $(LDFLAGS) -e$@ @&&|$(OBJU)|funzip.exe: $(OBJF) $(CC) $(LDFLAGS) -e$@ @&&|$(OBJF)|unzipsfx.exe: $(OBJX) $(CC) $(LDFLAGS) -e$@ @&&|$(OBJX)|unzip32.dll: $(OBJD) windll.res $(WINDLL_DEF) $(LD) -Gn -x -c -aa -Tpd @&&|c0d32.obj $(OBJD),$@,,import32.lib cw32.lib,$(WINDLL_DEF:/=\),windll.res|# $(CC) $(LDFLAGS_DLL) -e$@ @&&|#$(OBJD)##, windll.res#|# brc32 windll.res $@unzsfx32.lib: $(OBLX) $(AR) /C $(@:/=\) @&&|/u $(OBLX:/=\)|SFXWiz32.exe: $(OBGX) sfxwiz.res unzsfx32.lib $(LD) -Gn -x -c -aa -Tpe @&&|c0w32.obj $(OBGX),$@,,unzsfx32.lib import32.lib cw32.lib,,sfxwiz.res|# $(CC) $(LDFLAGS_GUI) -e$@ $(OBGX) unzsfx32.lib $(LDLIBS)# brc32 sfxwiz.res $@uzexampl.exe: uzexampl.obj $(CC) $(LDFLAGS) -e$@ uzexampl.obj #version.lib$(OB)unzip32.lib: $(OBJB) $(AR) /C $(@:/=\) @&&|/u $(OBJB:/=\)|clean: rem Ignore any errors in the following... -del *.obj -del unzip.exe -del funzip.exe -del unzipsfx.exe# individual file dependenciescrc32.obj: crc32.c $(UNZIP_H) zip.hcrctab.obj: crctab.c $(UNZIP_H) zip.hcrypt.obj: crypt.c $(UNZIP_H) zip.h crypt.h ttyio.henvargs.obj: envargs.c $(UNZIP_H)explode.obj: explode.c $(UNZIP_H)extract.obj: extract.c $(UNZIP_H) crypt.hfileio.obj: fileio.c $(UNZIP_H) crypt.h ttyio.h ebcdic.hglobals.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)timezone.obj: timezone.c $(UNZIP_H) zip.h timezone.httyio.obj: ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.hunreduce.obj: unreduce.c $(UNZIP_H)unshrink.obj: unshrink.c $(UNZIP_H)unzip.obj: unzip.c $(UNZIP_H) crypt.h unzvers.h consts.hzipinfo.obj: zipinfo.c $(UNZIP_H)!ifdef USEMASMcrc_i386.obj: win32/crc_i386.asm masm -ml win32/crc_i386.asm,$@;!else!ifndef ASMOVERBCC32crc_i386.obj: win32/crc_i386.asm $(AS) $(ASFLAGS) win32\crc_i386.asm, $@ ;!elsecrc_i386.obj: win32/crc_i386.c $(CC) -c $(UNFLAGS) -o$@ win32/crc_i386.c!endif!endifwin32.obj: win32/win32.c $(UNZIP_H) win32/nt.h $(CC) -c $(UNFLAGS) win32/win32.cnt.obj: win32/nt.c $(UNZIP_H) win32/nt.h $(CC) -c $(UNFLAGS) win32/nt.cfunzip.obj: funzip.c $(UNZIP_H) crypt.h ttyio.h tables.h $(CC) -c $(FUFLAGS) -o$@ funzip.ccrc32f.obj: crc32.c $(UNZIP_H) zip.h $(CC) -c $(FUFLAGS) -o$@ crc32.ccryptf.obj: crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h $(CC) -c $(FUFLAGS) -o$@ crypt.cglobalsf.obj: globals.c $(UNZIP_H) $(CC) -c $(FUFLAGS) -o$@ globals.cinflatef.obj: inflate.c inflate.h $(UNZIP_H) crypt.h $(CC) -c $(FUFLAGS) -o$@ inflate.cttyiof.obj: ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h $(CC) -c $(FUFLAGS) -o$@ ttyio.cwin32f.obj: win32/win32.c $(UNZIP_H) win32/nt.h $(CC) -c $(FUFLAGS) -o$@ win32/win32.cunzipsfx.obj: unzip.c $(UNZIP_H) crypt.h unzvers.h consts.h $(CC) -c $(SXFLAGS) -o$@ unzip.ccrc32x.obj: crc32.c $(UNZIP_H) zip.h $(CC) -c $(SXFLAGS) -o$@ crc32.ccrctabx.obj: crctab.c $(UNZIP_H) zip.h $(CC) -c $(SXFLAGS) -o$@ crctab.ccryptx.obj: crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h $(CC) -c $(SXFLAGS) -o$@ crypt.cextractx.obj: extract.c $(UNZIP_H) crypt.h $(CC) -c $(SXFLAGS) -o$@ extract.cfileiox.obj: fileio.c $(UNZIP_H) crypt.h ttyio.h ebcdic.h $(CC) -c $(SXFLAGS) -o$@ fileio.cglobalsx.obj: globals.c $(UNZIP_H) $(CC) -c $(SXFLAGS) -o$@ globals.cinflatex.obj: inflate.c inflate.h $(UNZIP_H) $(CC) -c $(SXFLAGS) -o$@ inflate.cmatchx.obj: match.c $(UNZIP_H) $(CC) -c $(SXFLAGS) -o$@ match.cprocessx.obj: process.c $(UNZIP_H) $(CC) -c $(SXFLAGS) -o$@ process.ctimezonx.obj: timezone.c $(UNZIP_H) zip.h timezone.h $(CC) -c $(SXFLAGS) -o$@ timezone.cttyiox.obj: ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h $(CC) -c $(SXFLAGS) -o$@ ttyio.cwin32x.obj: win32/win32.c $(UNZIP_H) win32/nt.h $(CC) -c $(SXFLAGS) -o$@ win32/win32.cntx.obj: win32/nt.c $(UNZIP_H) win32/nt.h $(CC) -c $(SXFLAGS) -o$@ win32/nt.cuzexampl.obj: windll/uzexampl.c windll/uzexampl.h $(CC) -c $(UNFLAGS) -I./windll -o$@ windll/uzexampl.c# DLL compilation sectionapi.obj: api.c $(UNZIP_H) $(WINDLL_H) unzvers.h $(CC) -c $(DLFLAGS) -o$@ api.ccrc32l.obj: crc32.c $(UNZIP_H) zip.h $(CC) -c $(DLFLAGS) -o$@ crc32.ccrctabl.obj: crctab.c $(UNZIP_H) zip.h $(CC) -c $(DLFLAGS) -o$@ crctab.ccryptl.obj: crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h $(CC) -c $(DLFLAGS) -o$@ crypt.cexplodel.obj: explode.c $(UNZIP_H) $(CC) -c $(DLFLAGS) -o$@ explode.cextractl.obj: extract.c $(UNZIP_H) $(WINDLL_H) crypt.h $(CC) -c $(DLFLAGS) -o$@ extract.cfileiol.obj: fileio.c $(UNZIP_H) $(WINDLL_H) crypt.h ttyio.h ebcdic.h $(CC) -c $(DLFLAGS) -o$@ fileio.cglobalsl.obj: globals.c $(UNZIP_H) $(CC) -c $(DLFLAGS) -o$@ globals.cinflatel.obj: inflate.c inflate.h $(UNZIP_H) crypt.h $(CC) -c $(DLFLAGS) -o$@ inflate.clistl.obj: list.c $(UNZIP_H) $(WINDLL_H) $(CC) -c $(DLFLAGS) -o$@ list.cmatchl.obj: match.c $(UNZIP_H) $(CC) -c $(DLFLAGS) -o$@ match.cprocessl.obj: process.c $(UNZIP_H) $(WINDLL_H) $(CC) -c $(DLFLAGS) -o$@ process.ctimezonl.obj: timezone.c $(UNZIP_H) zip.h timezone.h $(CC) -c $(DLFLAGS) -o$@ timezone.cunreducl.obj: unreduce.c $(UNZIP_H) $(CC) -c $(DLFLAGS) -o$@ unreduce.cunshrnkl.obj: unshrink.c $(UNZIP_H) $(CC) -c $(DLFLAGS) -o$@ unshrink.czipinfol.obj: zipinfo.c $(UNZIP_H) $(CC) -c $(DLFLAGS) -o$@ zipinfo.cwin32l.obj: win32/win32.c $(UNZIP_H) win32/nt.h $(CC) -c $(DLFLAGS) -o$@ win32/win32.cntl.obj: win32/nt.c $(UNZIP_H) win32/nt.h $(CC) -c $(DLFLAGS) -o$@ win32/nt.cwindll.obj: windll/windll.c $(UNZIP_H) $(WINDLL_H) crypt.h unzvers.h consts.h $(CC) -c $(DLFLAGS) -o$@ windll/windll.cwindll.res: windll/windll.rc unzvers.h $(RC) /l 0x409 /fo$@ /i windll /d WIN32 windll/windll.rc# SFX Lib compilation sectionapig.obj: api.c $(UNZIP_H) $(WINDLL_H) unzvers.h $(CC) -c $(SLFLAGS) -o$@ api.ccrc32g.obj: crc32.c $(UNZIP_H) zip.h $(CC) -c $(SLFLAGS) -o$@ crc32.ccrctabg.obj: crctab.c $(UNZIP_H) zip.h $(CC) -c $(SLFLAGS) -o$@ crctab.ccryptg.obj: crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h $(CC) -c $(SLFLAGS) -o$@ crypt.cexplodeg.obj: explode.c $(UNZIP_H) $(CC) -c $(SLFLAGS) -o$@ explode.cextractg.obj: extract.c $(UNZIP_H) $(WINDLL_H) crypt.h $(CC) -c $(SLFLAGS) -o$@ extract.cfileiog.obj: fileio.c $(UNZIP_H) $(WINDLL_H) crypt.h ttyio.h ebcdic.h $(CC) -c $(SLFLAGS) -o$@ fileio.cglobalsg.obj: globals.c $(UNZIP_H) $(CC) -c $(SLFLAGS) -o$@ globals.cinflateg.obj: inflate.c inflate.h $(UNZIP_H) crypt.h $(CC) -c $(SLFLAGS) -o$@ inflate.cmatchg.obj: match.c $(UNZIP_H) $(CC) -c $(SLFLAGS) -o$@ match.cprocessg.obj: process.c $(UNZIP_H) $(WINDLL_H) $(CC) -c $(SLFLAGS) -o$@ process.ctimezong.obj: timezone.c $(UNZIP_H) zip.h timezone.h $(CC) -c $(SLFLAGS) -o$@ timezone.cwin32g.obj: win32/win32.c $(UNZIP_H) win32/nt.h $(CC) -c $(SLFLAGS) -o$@ win32/win32.cntg.obj: win32/nt.c $(UNZIP_H) win32/nt.h $(CC) -c $(SLFLAGS) -o$@ win32/nt.cwindllg.obj: windll/windll.c $(UNZIP_H) $(WINDLL_H) crypt.h unzvers.h consts.h $(CC) -c $(SLFLAGS) -o$@ windll/windll.csfxwiz.obj: windll/guisfx/sfxwiz.c windll/guisfx/dialog.h $(WINDLL_IMP_H) $(CC) -c $(GXFLAGS) -o$@ windll/guisfx/sfxwiz.csfxwiz.res: windll/guisfx/sfxwiz.rc $(RC) /l 0x409 /fo$@ /i windll/guisfx /d WIN32 windll/guisfx/sfxwiz.rc# Static LIB compilation section$(OB)apib.obj: api.c $(UNZIP_H) $(WINDLL_H) unzvers.h $(CC) -c $(LBFLAGS) -o$@ api.c$(OB)crc32b.obj: crc32.c $(UNZIP_H) zip.h $(CC) -c $(LBFLAGS) -o$@ crc32.c$(OB)crctabb.obj: crctab.c $(UNZIP_H) zip.h $(CC) -c $(LBFLAGS) -o$@ crctab.c$(OB)cryptb.obj: crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h $(CC) -c $(LBFLAGS) -o$@ crypt.c$(OB)explodeb.obj: explode.c $(UNZIP_H) $(CC) -c $(LBFLAGS) -o$@ explode.c$(OB)extractb.obj: extract.c $(UNZIP_H) $(WINDLL_H) crypt.h $(CC) -c $(LBFLAGS) -o$@ extract.c$(OB)fileiob.obj: fileio.c $(UNZIP_H) $(WINDLL_H) crypt.h ttyio.h ebcdic.h $(CC) -c $(LBFLAGS) -o$@ fileio.c$(OB)globalsb.obj: globals.c $(UNZIP_H) $(CC) -c $(LBFLAGS) -o$@ globals.c$(OB)inflateb.obj: inflate.c inflate.h $(UNZIP_H) crypt.h $(CC) -c $(LBFLAGS) -o$@ inflate.c$(OB)listb.obj: list.c $(UNZIP_H) $(WINDLL_H) $(CC) -c $(LBFLAGS) -o$@ list.c$(OB)matchb.obj: match.c $(UNZIP_H) $(CC) -c $(LBFLAGS) -o$@ match.c$(OB)processb.obj: process.c $(UNZIP_H) $(WINDLL_H) $(CC) -c $(LBFLAGS) -o$@ process.c$(OB)timezonb.obj: timezone.c $(UNZIP_H) zip.h timezone.h $(CC) -c $(LBFLAGS) -o$@ timezone.c$(OB)unreducb.obj: unreduce.c $(UNZIP_H) $(CC) -c $(LBFLAGS) -o$@ unreduce.c$(OB)unshrnkb.obj: unshrink.c $(UNZIP_H) $(CC) -c $(LBFLAGS) -o$@ unshrink.c$(OB)zipinfob.obj: zipinfo.c $(UNZIP_H) $(CC) -c $(LBFLAGS) -o$@ zipinfo.c$(OB)win32b.obj: win32/win32.c $(UNZIP_H) win32/nt.h $(CC) -c $(LBFLAGS) -o$@ win32/win32.c$(OB)ntb.obj: win32/nt.c $(UNZIP_H) win32/nt.h $(CC) -c $(LBFLAGS) -o$@ win32/nt.c$(OB)windllb.obj: windll/windll.c $(UNZIP_H) $(WINDLL_H) crypt.h unzvers.h consts.h $(CC) -c $(LBFLAGS) -o$@ windll/windll.c$(OBDIR): -mkdir $@
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -