📄 makefile.msc
字号:
#------------------------------------------------------------------------------# Makefile for UnZip 5.2 and later Greg Roelofs and others# Version: Microsoft C (5.x and later) 31 Mar 96#------------------------------------------------------------------------------# Users of MSC 6/7 and NMAKE can use the Unix Makefile (target msc_dos),# if desired. This makefile works just fine, too, however. OS/2 users# can cross-compile using os2/makefile.os2 (target mscdos). Note that# there is possibly a bug in MSC 6 which screws up funzip (goes into# infinite loop? --this has not been confirmed in over a year...). There# is definitely a bug (internal compiler error) in MSC 6.00 while com-# piling explode.c (fixed in 6.0a, 6.0ax, 6.0ax2, 7.*, 8.*).# GNU make doesn't like the return value from "rem"#STRIP=remSTRIP=echo Ignore this line.# If you don't have LZEXE or PKLITE, get one of them. Then define:#STRIP=lzexe# or#STRIP=pklite# and remove /e from LDFLAGS.# 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# small model for MSC 6.0 and 7.0?#UNMODEL=S # small model for UnZip and UnZipSFX# with MSC 5.1 and 8.x, small model exceeds 64k code segment; use medium insteadUNMODEL=M # medium model for UnZip and UnZipSFXFUMODEL=S # always use small model for fUnZip# name of Flag to select memory model for assembler compiles, supported# values are __SMALL__ , __MEDIUM__ , __COMPACT__ , __LARGE__ :#ASUNMODEL=__SMALL__ # keep in sync with UNMODEL definition !!# for MSC 5.1 and 8.x use:ASUNMODEL=__MEDIUM__ # keep in sync with UNMODEL definition !!ASFUMODEL=__SMALL__ # keep in sync with FUMODEL definition !!# Uncomment the following three macros to use the optimized CRC32 assembler# routine in UnZip and UnZipSFX:ASMFLG = -DASM_CRCASMOBJS = crc_i86.objASMOBJF = crc_i86_.objASCPUFLAG = __$(CPU_TYP)86CC = cl # -Ox does not work for inflate.c# add -G2(3,4) for 286 (386, 486) and/or -FPi87 for 80x87:CFLAGS = -nologo -DMSC $(ASMFLG) $(LOC) -G$(CPU_TYP) -Oait -Gs -I.AS = masmASFLAGS = -ml -D$(ASCPUFLAG) $(LOC)LD = Link # mixed case to disable special handling by GNU Make# remove /e if you have LZEXE or PKLITE:LDFLAGS = /nologo/noi/e/st:0x0c00/farcall/packcode# "/farcall/packcode" are only useful for `large code' memory models# but should be a "no-op" for small code models.LDFLAGS2 = ,$*LDFLAGS2_UN = $(LDFLAGS2);LDFLAGS2_FU = $(LDFLAGS2);OBJS1 = unzip.obj crc32.obj crctab.obj crypt.obj envargs.obj explode.objOBJS2 = extract.obj fileio.obj globals.obj inflate.obj list.obj match.objOBJS3 = process.obj ttyio.obj unreduce.obj unshrink.obj zipinfo.objOBJS4 = msdos.obj $(ASMOBJS)OBJS = $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4)OBJX1 = unzipsfx.obj crc32.obj crctab.obj crypt.obj extract_.obj fileio.objOBJX2 = globals.obj inflate.obj match.obj process_.obj ttyio.objOBJX3 = msdos_.obj $(ASMOBJS)OBJX = $(OBJX1) $(OBJX2) $(OBJX3)OBJF = funzip.obj crc32_.obj crypt_.obj globals_.obj inflate_.obj ttyio_.obj \ $(ASMOBJF)UNZIP_H = unzip.h unzpriv.h globals.h msdos/doscfg.hdefault: unzip.exe funzip.exe unzipsfx.exe#clean:# As long as the brain damaged old ``Make'' utility from MSC 5.1 and earlier# (NMAKE from MSC 6.0 + would work !) remains supported, a "clean" target# cannot be inserted !!# pattern rules for implicit dependencies:.asm.obj: $(AS) $(ASFLAGS) -D$(ASUNMODEL) $<, $@;.c.obj: $(CC) -c -A$(UNMODEL) $(CFLAGS) $*.c# individual dependencies and action rules:crc_i86.obj: msdos/crc_i86.asm $(AS) $(ASFLAGS) -D$(ASUNMODEL) msdos/crc_i86.asm, $@;crc_i86_.obj: msdos/crc_i86.asm $(AS) $(ASFLAGS) -D$(ASFUMODEL) msdos/crc_i86.asm, $@;crc32.obj: crc32.c $(UNZIP_H) zip.hcrc32_.obj: crc32.c $(UNZIP_H) zip.h $(CC) -c -A$(FUMODEL) $(CFLAGS) -DFUNZIP -Focrc32_.obj crc32.ccrctab.obj: crctab.c $(UNZIP_H) zip.hcrypt.obj: crypt.c $(UNZIP_H) crypt.h ttyio.h zip.hcrypt_.obj: crypt.c $(UNZIP_H) crypt.h ttyio.h zip.h $(CC) -c -A$(FUMODEL) $(CFLAGS) -DFUNZIP -Focrypt_.obj crypt.cenvargs.obj: envargs.c $(UNZIP_H)explode.obj: explode.c $(UNZIP_H)extract.obj: extract.c $(UNZIP_H) crypt.hextract_.obj: extract.c $(UNZIP_H) crypt.h $(CC) -c -A$(UNMODEL) $(CFLAGS) -DSFX -Foextract_.obj extract.cfileio.obj: fileio.c $(UNZIP_H) crypt.h ttyio.h ebcdic.hfunzip.obj: funzip.c $(UNZIP_H) crypt.h ttyio.h tables.h $(CC) -c -A$(FUMODEL) $(CFLAGS) funzip.cglobals.obj: globals.c $(UNZIP_H)globals_.obj: globals.c $(UNZIP_H) $(CC) -c -A$(FUMODEL) $(CFLAGS) -DFUNZIP -Foglobals_.obj globals.cinflate.obj: inflate.c inflate.h $(UNZIP_H)inflate_.obj: inflate.c inflate.h $(UNZIP_H) crypt.h $(CC) -c -A$(FUMODEL) $(CFLAGS) -DFUNZIP -Foinflate_.obj inflate.clist.obj: list.c $(UNZIP_H)match.obj: match.c $(UNZIP_H)msdos.obj: msdos/msdos.c $(UNZIP_H) $(CC) -c -A$(UNMODEL) $(CFLAGS) msdos/msdos.cmsdos_.obj: msdos/msdos.c $(UNZIP_H) $(CC) -c -A$(UNMODEL) $(CFLAGS) -DSFX -Fomsdos_.obj msdos/msdos.cprocess.obj: process.c $(UNZIP_H)process_.obj: process.c $(UNZIP_H) $(CC) -c -A$(UNMODEL) $(CFLAGS) -DSFX -Foprocess_.obj process.cttyio.obj: ttyio.c $(UNZIP_H) crypt.h ttyio.h zip.httyio_.obj: ttyio.c $(UNZIP_H) crypt.h ttyio.h zip.h $(CC) -c -A$(FUMODEL) $(CFLAGS) -DFUNZIP -Fottyio_.obj ttyio.cunreduce.obj: unreduce.c $(UNZIP_H)unshrink.obj: unshrink.c $(UNZIP_H)unzip.obj: unzip.c $(UNZIP_H) crypt.h version.h consts.hunzipsfx.obj: unzip.c $(UNZIP_H) crypt.h version.h consts.h $(CC) -c -A$(UNMODEL) $(CFLAGS) -DSFX -Founzipsfx.obj unzip.czipinfo.obj: zipinfo.c $(UNZIP_H)# MS make:# -------unzip.exe: $(OBJS) echo $(OBJS1)+ > unzip.rsp echo $(OBJS2)+ >> unzip.rsp echo $(OBJS3)+ >> unzip.rsp echo $(OBJS4) >> unzip.rsp echo $(LDFLAGS2_UN) >> unzip.rsp $(LD) $(LDFLAGS) @unzip.rsp del unzip.rsp $(STRIP) unzip.exeunzipsfx.exe: $(OBJX) echo $(OBJX1)+ > unzipsfx.rsp echo $(OBJX2)+ >> unzipsfx.rsp echo $(OBJX3) >> unzipsfx.rsp echo $(LDFLAGS2_UN) >> unzipsfx.rsp $(LD) $(LDFLAGS) @unzipsfx.rsp del unzipsfx.rsp $(STRIP) unzipsfx.exefunzip.exe: $(OBJF) echo $(OBJF) > funzip.rsp echo $(LDFLAGS2_FU) >> funzip.rsp $(LD) $(LDFLAGS) @funzip.rsp del funzip.rsp $(STRIP) funzip.exe# better makes which know how to deal with 128-char limit on command line:# -----------------------------------------------------------------------#unzip.exe: $(OBJS)# $(LD) $(LDFLAGS) $(OBJS) $(LDFLAGS2)# $(STRIP) unzip.exe##unzipsfx.exe: $(OBJX)# $(LD) $(LDFLAGS) $(OBJX) $(LDFLAGS2)# $(STRIP) unzipsfx.exe##funzip.exe: $(OBJF)# $(LD) $(LDFLAGS) $(OBJF) $(LDFLAGS2_FU)# $(STRIP) funzip.exe
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -