?? makefile
字號:
# NMAKE Makefile for Windows NT/Windows 95# D. Feinleib 7/92 <t-davefe@microsoft.com># H. Gessau 9/93 <henryg@kullmar.kullmar.se># J. Lee 8/95 (johnnyl@microsoft.com)# C. Spieler 03/99## Last revised: 10 Feb 2001## Tested with VC++ 2.0 for NT for MIPS and Alpha, Visual C++ 2.2 for Intel CPUs# Revision tested with VC++ 5.0 and 6.0 for Intel CPUs## Nmake macros for building Windows NT applications# To build with debug info use 'nmake debug=1'!IFNDEF debugNODEBUG=1!ENDIF!ifdef NOASMAPPLY_ASMCRC=0!else!ifdef USEASMAPPLY_ASMCRC=1!endif!endif!ifndef APPLY_ASMCRC#default to generic C code for now...APPLY_ASMCRC=0!endif!ifndef USE_IZTIMEZONE#default: do not use the IZ timezone replacementUSE_IZTIMEZONE=0!endif!IF "$(CPU)" == "" && "$(PROCESSOR_ARCHITECTURE)" == "x86"CPU = i386!ENDIF!IF "$(CPU)" == "" && "$(PROCESSOR_ARCHITECTURE)" == "MIPS"CPU = $(PROCESSOR_ARCHITECTURE)!ENDIF!IF "$(CPU)" == "" && "$(PROCESSOR_ARCHITECTURE)" == "ALPHA"CPU = $(PROCESSOR_ARCHITECTURE)!ENDIF!IF "$(CPU)" == "" && "$(PROCESSOR_ARCHITECTURE)" == "PPC"CPU = $(PROCESSOR_ARCHITECTURE)!ENDIF!IF "$(CPU)" == ""CPU = i386!ENDIF!include <ntwin32.mak># 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)OBJX1 = unzipsfx.obj $(CRC32X).obj crctab_.obj crypt_.objOBJX2 = extract_.obj fileio_.obj globals_.obj inflate_.objOBJX3 = match_.obj process_.obj ttyio_.objOBJXS = win32_.obj nt_.obj $(TIMEZONE_OBJX)OBJX = $(OBJX1) $(OBJX2) $(OBJX3) $(OBJXS)OBJF1 = funzip.obj $(CRC32F).obj cryptf.obj globalsf.objOBJF2 = inflatef.obj ttyiof.objOBJFS = win32f.objOBJF = $(OBJF1) $(OBJF2) $(OBJFS)OBJD1 = api.obj $(CRC32L).obj crctabl.obj cryptl.obj explodel.objOBJD2 = extractl.obj fileiol.obj globalsl.obj inflatel.objOBJD3 = listl.obj matchl.obj processl.objOBJD4 = unreducl.obj unshrnkl.obj zipinfol.objOBJDS = win32l.obj ntl.obj windll.obj $(TIMEZONE_OBJD)OBJD = $(OBJD1) $(OBJD2) $(OBJD3) $(OBJD4) $(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.objOBJB1 = $(OB)apib.obj $(OB)$(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 $(OB)windllb.obj $(TIMEZONE_OBJB)OBJB = $(OBJB1) $(OBJB2) $(OBJB3) $(OBJB4) $(OBJBS)UNZIP_H = unzip.h unzpriv.h globals.h win32/w32cfg.hWINDLL_H = windll/windll.h windll/decs.h windll/structs.hWINDLL_DEF = windll/windll32.defWINDLL_IMP_H = windll/decs.h windll/structs.h!if $(APPLY_ASMCRC) != 0CFVARS_ASM = -DASM_CRC!elseCFVARS_ASM = -DNO_ASM!endif!if $(USE_IZTIMEZONE) != 0LOCAL_UNZIP = -DW32_USE_IZ_TIMEZONE $(LOCAL_UNZIP)!endif#CF_LOC = -nologo -J -D_MBCS $(CFVARS_ASM) -DREENTRANTCF_LOC = -nologo -J -D_MBCS $(CFVARS_ASM) $(LOCAL_UNZIP)cvars = $(cvars) $(CF_LOC)!if $(APPLY_ASMCRC) != 0CRC32 = crc_i386CRC32X = $(CRC32)CRC32F = $(CRC32)CRC32L = crci386lCRC32G = crci386gCRC32B = crci386b!elseCRC32 = crc32CRC32X = crc32_CRC32F = $(CRC32)CRC32L = crc32lCRC32G = crc32gCRC32B = crc32b!endif!if $(USE_IZTIMEZONE) != 0TIMEZONE_OBJU = timezone.objTIMEZONE_OBJX = timezon_.objTIMEZONE_OBJD = timezonl.objTIMEZONE_OBLX = timezolx.objTIMEZONE_OBJB = $(OB)timezonb.obj!elseTIMEZONE_OBJU =TIMEZONE_OBJX =TIMEZONE_OBJD =TIMEZONE_OBLX =TIMEZONE_OBJB =!endif# USER32.LIB is needed for OemToChar and related routinesconlibs=$(conlibs) user32.libconlibsmt=$(conlibsmt) user32.libconlibsdll=$(conlibsdll) user32.lib# Some optimization (if not debugging)!IFDEF NODEBUGcdebug = -O2cdbgsz = -O1!ELSEcdbgsz = $(cdebug)!ENDIF!IFDEF PROFILEINFOldebug = $(ldebug) /PROFILE!endif!IFDEF DLLSTANDALONE# the standalone variant of unzip32.dll is linked against the# multithread-safe static C runtime librarycvars_izdll = $(cvarsmt)conlibs_izdll = $(conlibsmt)!ELSE# the (normal) variant of unzip32.dll is linked against the import library# of multithread-safe C runtime dll# -> smaller dll size; efficient use of shared resources,# but requires the C RTL DLL msvcrt.dll to be installed at runtimecvars_izdll = $(cvarsdll)conlibs_izdll = $(conlibsdll)!ENDIFCFLAGS_UN = $(cdebug) $(cflags) $(cvars)CFLAGS_SX = $(cdbgsz) $(cflags) $(cvars) -DSFXCFLAGS_FU = $(cdebug) $(cflags) $(cvars) -DFUNZIPCFLAGS_DL = $(cdebug) $(cflags) $(cvars_izdll) -DWINDLL -DDLLCFLAGS_SL = $(cdbgsz) $(cflags) $(cvars) -DWINDLL -DDLL -DUNZIPLIB -DSFXCFLAGS_GX = $(cdbgsz) $(cflags) $(cvars) -DSFXCFLAGS_LB = $(cdebug) $(cflags) $(cvars) -DWINDLL -DDLL -DUNZIPLIB# How to compile sources.c.obj: $(cc) $(CFLAGS_UN) -o $@ $<# How to link.obj.exe: $(link) $(ldebug) $(conflags) $(conlibs) $** -out:$@.obj.dll: $(link) $(ldebug) $(dlllflags) $(conlibs_izdll) $** -out:$@.obj.lib: $(link) -lib $** -out:$@# Default target is all the executablesunzips : unzip.exe funzip.exe unzipsfx.exeguisfx: SFXWiz32.exedll : unzip32.dlldllsample : uzexampl.exelib : $(OBDIR) $(OB)unzip32.liball : unzips guisfx dll dllsample libunzip.exe: $(OBJU)unzipsfx.exe: $(OBJX)funzip.exe: $(OBJF)unzip32.dll: $(OBJD) windll.res $(WINDLL_DEF) $(link) $(ldebug) $(dlllflags) $(conlibs_izdll) -def:$(WINDLL_DEF) \ $(OBJD) windll.res -out:$@unzsfx32.lib: $(OBLX) $(link) -lib $(OBLX) -out:$@SFXWiz32.exe: $(OBGX) sfxwiz.res unzsfx32.lib $(link) $(ldebug) $(guilflags) $(guilibs) \ $(OBGX) sfxwiz.res unzsfx32.lib -out:$@uzexampl.exe: uzexampl.obj $(link) $(ldebug) $(conflags) $(conlibs) version.lib $** -out:$@$(OB)unzip32.lib: $(OBJB) $(link) -lib $(OBJB) -out:$@crc32.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.hfunzip.obj: funzip.c $(UNZIP_H) crypt.h ttyio.h tables.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)win32.obj: win32/win32.c $(UNZIP_H) win32/nt.h $(cc) $(CFLAGS_UN) -I. win32/win32.c -Fo$@nt.obj: win32/nt.c $(UNZIP_H) win32/nt.h $(cc) $(CFLAGS_UN) -I. win32/nt.c -Fo$@!ifdef USEMASMcrc_i386.obj: win32/crc_i386.asm masm -ml win32/crc_i386.asm,$@;!else
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -