?? makefile.bc
字號:
# Makefile for UnZip(SFX) and fUnZip for Borland C++ 2.x-4.x and Turbo C++ 1.0# Version: 5.5 and later Alvin Koh, Jim Knoble, Christian Spieler, etc.## Last revised: 04 Mar 01## To compile with Turbo C++ 1.0, set the macro CC_REV to 1 at the command line# (make -fmsdos/makefile.bc -DCC_REV=1).# GNU make doesn't like the return value from "rem"#STRIP=remSTRIP=echo Ignore this line.# If you don't have UPX, LZEXE, or PKLITE, get one of them. Then define:# (NOTE: upx needs a 386 or higher system to run the exe compressor)#STRIP=upx --8086 --best# or#STRIP=lzexe# or#STRIP=pklite# This makes a big difference in .exe size (and possibly load time).# 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: 0: 8086, 1: 80186, 2: 80286, 3: 80386, etc.CPU_TYP = 0# (De)Select inclusion of optimized assembler CRC32 routine:USE_ASMCRC = 1!if $(CC_REV) == 1# Turbo C++ 1.0CC = tcc!else# Borland C++ 2.0, 3.0, 3.1 ...! if !$(CC_REV)CC_REV = 3! endifCC = bcc!endifAS = tasm# "near data" model is sufficient for UnZip and ZipInfo, now that strings moved# switched to medium model; UnZip code has grown beyond the 64k limit.# since 5.42: switched to large model; medium model requires to much memory# to compile zipinfo, reported for BC++ 4.51 and TC++ 1.0# (compilation worked with 624k DOS memory and TC++ 1.0, but that much free# space requires an almost "empty" DOS system)# for 5.5: large or compact model required for Deflate64 supportUNMODEL = l # large model for UnZip and ZipInfoASUNMODEL=__LARGE__ # keep in sync with UNMODEL definition !!FUMODEL = c # need compact model for fUnZip with Deflate64 supportASFUMODEL=__COMPACT__ # keep in sync with FUMODEL definition !!SXMODEL = s # use small model for SFXUnZip (no Deflate64 support)ASSXMODEL=__SMALL__ # keep in sync with SXMODEL definition !!!if $(USE_ASMCRC)ASMFLG = -DASM_CRCASMOBJS = crc_i86.objASMOBJF = crc_i86_.objASMOBJX = crc_i86x.obj!elseASMFLG =ASMOBJS =ASMOBJF =ASMOBJX =!endif# compiler flagsASCPUFLAG = __$(CPU_TYP)86!if $(CPU_TYP) != 0CC_CPUFLG = -$(CPU_TYP)!endifASFLAGS = -ml -m2 -w0 -D$(ASCPUFLAG) $(LOC)!if $(CC_REV) == 1# Bug: TC ++ 1.0 ignores "far" on "const" strings, so const is disabled!CCOPTIM = -O -G -Z -a -d -DZCONSTLDFLAGS = -lxncd # for tcc!elseCCOPTIM = -O2LDFLAGS = -lxncd -l-P # for bcc!endifCFLAGS = $(CCOPTIM) $(CC_CPUFLG) -ff- -k- -P-.C -I. $(ASMFLG) $(LOC)UNFLAGS = -m$(UNMODEL) $(CFLAGS)FUFLAGS = -m$(FUMODEL) $(CFLAGS) -K -dSXFLAGS = -m$(SXMODEL) $(CFLAGS)# implicit rules.asm.obj: $(AS) $(ASFLAGS) -D$(ASUNMODEL) $<.c.obj: $(CC) -c $(UNFLAGS) {$< }# list macrosOBJU1 = 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 = msdos.obj $(ASMOBJS)OBJU = $(OBJU1) $(OBJU2) $(OBJU3) $(OBJUS)OBJF = funzip.obj crc32f.obj cryptf.obj globalsf.obj inflatef.obj \ ttyiof.obj msdosf.obj $(ASMOBJF)OBJX1 = unzipsfx.obj crc32x.obj crctabx.obj cryptx.obj extractx.obj fileiox.objOBJX2 = globalsx.obj inflatex.obj matchx.obj processx.obj ttyiox.objOBJXS = msdosx.obj $(ASMOBJX)OBJX = $(OBJX1) $(OBJX2) $(OBJXS)UNZIP_H = unzip.h unzpriv.h globals.h msdos/doscfg.h# explicit rulesall: unzip.exe funzip.exe unzipsfx.exeunzip.exe: $(OBJU) $(CC) -m$(UNMODEL) $(LDFLAGS) -eunzip.exe @&&|$(OBJU)| $(STRIP) unzip.exefunzip.exe: $(OBJF) $(CC) -m$(FUMODEL) $(LDFLAGS) -efunzip.exe @&&|$(OBJF)| $(STRIP) funzip.exeunzipsfx.exe: $(OBJX) $(CC) -m$(SXMODEL) $(LDFLAGS) -eunzipsfx.exe @&&|$(OBJX)| $(STRIP) unzipsfx.execlean: 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)ttyio.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)crc_i86.obj: msdos/crc_i86.asm $(AS) $(ASFLAGS) -D$(ASUNMODEL) msdos\crc_i86.asm, $*.obj ;crc_i86_.obj: msdos/crc_i86.asm $(AS) $(ASFLAGS) -D$(ASFUMODEL) msdos\crc_i86.asm, $*.obj ;crc_i86x.obj: msdos/crc_i86.asm $(AS) $(ASFLAGS) -D$(ASSXMODEL) msdos\crc_i86.asm, $*.obj ;msdos.obj: msdos/msdos.c $(UNZIP_H) $(CC) -c $(UNFLAGS) msdos/msdos.cfunzip.obj: funzip.c $(UNZIP_H) crypt.h ttyio.h tables.h $(CC) -c $(FUFLAGS) funzip.ccrc32f.obj: crc32.c $(UNZIP_H) zip.h $(CC) -c $(FUFLAGS) -DFUNZIP -ocrc32f.obj crc32.ccryptf.obj: crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h $(CC) -c $(FUFLAGS) -DFUNZIP -ocryptf.obj crypt.cglobalsf.obj: globals.c $(UNZIP_H) $(CC) -c $(FUFLAGS) -DFUNZIP -oglobalsf.obj globals.cinflatef.obj: inflate.c inflate.h $(UNZIP_H) crypt.h $(CC) -c $(FUFLAGS) -DFUNZIP -oinflatef.obj inflate.cttyiof.obj: ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h $(CC) -c $(FUFLAGS) -DFUNZIP -ottyiof.obj ttyio.cmsdosf.obj: msdos/msdos.c $(UNZIP_H) $(CC) -c $(FUFLAGS) -DFUNZIP -omsdosf.obj msdos/msdos.cunzipsfx.obj: unzip.c $(UNZIP_H) crypt.h unzvers.h consts.h $(CC) -c $(SXFLAGS) -DSFX -ounzipsfx.obj unzip.ccrc32x.obj: crc32.c $(UNZIP_H) zip.h $(CC) -c $(SXFLAGS) -DSFX -ocrc32x.obj crc32.ccrctabx.obj: crctab.c $(UNZIP_H) zip.h $(CC) -c $(SXFLAGS) -DSFX -ocrctabx.obj crctab.ccryptx.obj: crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h $(CC) -c $(SXFLAGS) -DSFX -ocryptx.obj crypt.cextractx.obj: extract.c $(UNZIP_H) crypt.h $(CC) -c $(SXFLAGS) -DSFX -oextractx.obj extract.cfileiox.obj: fileio.c $(UNZIP_H) crypt.h ttyio.h ebcdic.h $(CC) -c $(SXFLAGS) -DSFX -ofileiox.obj fileio.cglobalsx.obj: globals.c $(UNZIP_H) $(CC) -c $(SXFLAGS) -DSFX -oglobalsx.obj globals.cinflatex.obj: inflate.c inflate.h $(UNZIP_H) $(CC) -c $(SXFLAGS) -DSFX -oinflatex.obj inflate.cmatchx.obj: match.c $(UNZIP_H) $(CC) -c $(SXFLAGS) -DSFX -omatchx.obj match.cprocessx.obj: process.c $(UNZIP_H) $(CC) -c $(SXFLAGS) -DSFX -oprocessx.obj process.cttyiox.obj: ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h $(CC) -c $(SXFLAGS) -DSFX -ottyiox.obj ttyio.cmsdosx.obj: msdos/msdos.c $(UNZIP_H) $(CC) -c $(SXFLAGS) -DSFX -omsdosx.obj msdos/msdos.c
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -