📄 makefile.msc
字号:
# Makefile for Zip, ZipCloak, ZipNote and ZipSplit for# Microsoft C 5.1 and above.# To use, do "make makefile.msc"# Add -DSMALL_MEM or -DMEDIUM_MEM to the LOC macro if you wish to reduce# the memory requirements.# Add -DNO_ASM to CFLAGS and comment out the ASMOBJS definition if# you do not have masm.## If you want link Zip against zlib to replace the built-in deflate routines,# the following changes are required:# - in the definition of "LOC", add "-DUSE_ZLIB" and remove "-DNO_SECURE_TESTS"# - comment out the "ASMOBJS" symbol definition# - modify the linking command blocks for zip and zipcloak according to# the following scheme:# add a command line "echo ,,,zlib_$(ZIPMODEL); >> zip[c].rsp" just# before the "$(LD)..." line; and remove the semicolon character from the# "echo ..." line immediately preceding the just inserted command# 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 = -DDOS -DDYN_ALLOC -DNO_SECURE_TESTS $(LOCAL_ZIP)# Zip requires compact or large memory model.# with 2.1, compact model exceeds 64k code segment; use large modelZIPMODEL=L # large model for Zip and ZipUtils# name of Flag to select memory model for assembler compiles, supported# values are __SMALL__ , __MEDIUM__ , __COMPACT__ , __LARGE__ :ASMODEL=__LARGE__ # keep in sync with ZIPMODEL definition !!# Type for CPU required: 0: 8086, 1: 80186, 2: 80286, 3: 80386, etc.CPU_TYP = 0# Uncomment the following macro to use the optimized assembler# routines in Zip:ASMOBJS = match.obj crc_i86.objASCPUFLAG = __$(CPU_TYP)86# ------------- Microsoft C 5.1, 6.0, 7.0 and VC++ Pro 1.0 -------------CC=clMODEL=-A$(ZIPMODEL)FP=COMMON_CFLAGS=-nologo -I. $(MODEL) $(FP) -DMSC $(LOC) -W3 -G$(CPU_TYP)CFLAGS=$(COMMON_CFLAGS) -OxSPECFLAGS=$(COMMON_CFLAGS) -Oaict -Gs# For MSC/C++ 7.0 and VC++ no special flags are needed:# SPECFLAGS=$(CFLAGS)UTILFLAGS=-DUTIL $(CFLAGS) -FoAS=masmASFLAGS=-ml -t -D$(ASCPUFLAG) -D$(ASMODEL) $(LOC)# For MSC 6.0, use:#AS=ml#ASFLAGS=-c -D$(ASCPUFLAG) -D$(ASMODEL) $(LOC)# Supress -DDYN_ALLOC in ASFLAGS if you have suppressed it in CFLAGSLD=linkLDFLAGS=/noi/farcall/packcode/e/st:0x1000/m# If you use an exe packer as recommended below, remove /e from LDFLAGS# ------------- Common declarations:STRIP=rem# 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 (if you've registered PKLITE)#STRIP=pklite# and remove /e from LDFLAGS.# This makes a big difference in .exe size (and possibly load time)# ------------- Used by install rule# set BIN to the directory you want to install the executables toBIN = c:\util# variablesOBJZ = zip.obj crypt.obj ttyio.obj zipfile.obj zipup.obj fileio.obj util.obj \ crc32.obj crctab.obj globals.objOBJI = deflate.obj trees.obj $(ASMOBJS) msdos.objOBJU = zipfile_.obj fileio_.obj util_.obj globals.obj msdos_.objOBJN = zipnote.obj $(OBJU)OBJC = zipcloak.obj crctab.obj crypt_.obj ttyio.obj $(OBJU)OBJS = zipsplit.obj $(OBJU)ZIP_H = zip.h ziperr.h tailor.h msdos/osdep.hZIPS = zip.exe zipnote.exe zipsplit.exe zipcloak.exezips: $(ZIPS)zip.obj: zip.c $(ZIP_H) revision.h crypt.h ttyio.h $(CC) -c $(CFLAGS) $*.c# MSC 5.1 generates bad code on zipfile with -Oxzipfile.obj: zipfile.c $(ZIP_H) $(CC) -c $(SPECFLAGS) $*.czipup.obj: zipup.c $(ZIP_H) revision.h crypt.h msdos/zipup.h $(CC) -c $(CFLAGS) $*.cfileio.obj: fileio.c $(ZIP_H) $(CC) -c $(CFLAGS) $*.cutil.obj: util.c $(ZIP_H) $(CC) -c $(CFLAGS) $*.cglobals.obj: globals.c $(ZIP_H) $(CC) -c $(CFLAGS) $*.cdeflate.obj: deflate.c $(ZIP_H) $(CC) -c $(CFLAGS) $*.ctrees.obj: trees.c $(ZIP_H) $(CC) -c $(CFLAGS) $*.ccrc32.obj: crc32.c $(ZIP_H) $(CC) -c $(CFLAGS) $*.ccrctab.obj: crctab.c $(ZIP_H) $(CC) -c $(CFLAGS) $*.ccrypt.obj: crypt.c $(ZIP_H) crypt.h ttyio.h $(CC) -c $(CFLAGS) $*.cttyio.obj: ttyio.c $(ZIP_H) crypt.h ttyio.h $(CC) -c $(CFLAGS) $*.cmsdos.obj: msdos/msdos.c $(ZIP_H) $(CC) -c $(CFLAGS) msdos/$*.czipcloak.obj: zipcloak.c $(ZIP_H) revision.h crypt.h ttyio.h $(CC) -c $(CFLAGS) $*.czipnote.obj: zipnote.c $(ZIP_H) revision.h $(CC) -c $(CFLAGS) $*.c# MSC 5.1 dies on zipsplit with -Oxzipsplit.obj: zipsplit.c $(ZIP_H) revision.h $(CC) -c $(SPECFLAGS) $*.c# MSC 5.1 generates bad code on zipfile with -Oxzipfile_.obj: zipfile.c $(ZIP_H) $(CC) -c $(SPECFLAGS) -DUTIL -Fo$@ zipfile.cfileio_.obj: fileio.c $(ZIP_H) $(CC) -c $(UTILFLAGS)$@ fileio.cutil_.obj: util.c $(ZIP_H) $(CC) -c $(UTILFLAGS)$@ util.ccrypt_.obj: crypt.c $(ZIP_H) crypt.h ttyio.h $(CC) -c $(UTILFLAGS)$@ crypt.cmsdos_.obj: msdos/msdos.c $(ZIP_H) $(CC) -c $(UTILFLAGS)$@ msdos/msdos.ccrc_i86.obj: msdos/crc_i86.asm $(AS) $(ASFLAGS) msdos\crc_i86.asm ;match.obj: msdos/match.asm $(AS) $(ASFLAGS) msdos\match.asm ;# we must cut the command line to fit in the MS/DOS 128 byte limit:zip.exe: $(OBJZ) $(OBJI) echo $(OBJZ)+ > zip.rsp echo $(OBJI); >> zip.rsp $(LD) $(LDFLAGS) @zip.rsp del zip.rsp $(STRIP) zip.exezipcloak.exe: $(OBJC) echo $(OBJC); > zipc.rsp $(LD) $(LDFLAGS) @zipc.rsp del zipc.rsp $(STRIP) zipcloak.exezipnote.exe: $(OBJN) echo $(OBJN); > zipn.rsp $(LD) $(LDFLAGS) @zipn.rsp del zipn.rsp $(STRIP) zipnote.exezipsplit.exe: $(OBJS) echo $(OBJS); > zips.rsp $(LD) $(LDFLAGS) @zips.rsp del zips.rsp $(STRIP) zipsplit.exe# No `install' and `clean' target possible as long as MSC's old MAKE utility# is supported (MSC 5.1 Make always tries to update ALL targets. The result# is that install and clean are always executed, unless an error occured.)#install: $(ZIPS)# copy /b *.exe $(BIN)##clean:# del *.obj# del *.exe
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -