?? inetsdk.mak
字號:
#---------------------------------------------
# Determine app type Flags (console, gui, or DLL)
#---------------------------------------------
!if defined(console) # console app
linkflags=$(linkflags) -subsystem:console -entry:mainCRTStartup
!elseif !defined(dll) # not a dll, default to gui app
linkflags=$(linkflags) -subsystem:windows -entry:WinMainCRTStartup
!endif # ifdef console/else
#*********************************************
#
# Libraries
#
#*********************************************
!if "$(BLDTYPE)"=="Retail"
DbgLibFlag =
!else
DbgLibFlag = d
!endif
#---------------------------------------------
# Back Office SDK specific
#---------------------------------------------
!ifdef USE_SNA
libs=$(libs) fmistr32.lib ihvLink.lib snacli.lib wappc32.lib wcpic32.lib
libs=$(libs) wincsv32.lib winrui32.lib winsli32.lib
!endif # USE_SNA
!ifdef USE_SQL
libs=$(libs) ntwdbLib.lib
!endif # USE_SQL
!ifdef USE_ODS
libs=$(libs) opends60.lib
!endif # USE_ODS
!if defined(USE_MSM) || defined(USE_SMS)
libs=$(libs) smsapi.lib objectty.lib
!endif # USE_MSM || USE_SMS
!ifdef USE_NETMON
libs=$(libs) atalk.lib bhmon.lib bhsupp.lib browser.lib filter.lib friendly.lib
libs=$(libs) hexedit.lib llc.lib nal.lib ncp.lib netlogon.lib nmapi.lib
libs=$(libs) parser.lib ppp.lib slbs.lib toolbar.lib
!endif # USE_NETMON
!ifdef USE_EXCHANGE
! ifndef Building_ExchSDK
libs=ExchSDK$(DbgLibFlag).Lib $(libs)
! endif # Building_ExchSDK
libs=$(libs) Mapi32.Lib Uuid.Lib
! if "$(WARNING_LEVEL)" != "4"
CL= $(CL) -WX
! endif
DLLFLAGS = $(DLLFLAGS) -def:$(@B).def
!endif # USE_EXCHANGE
#---------------------------------------------
# Determine CRT Libraries
#---------------------------------------------
libc = libc$(DbgLibFlag).lib oldnames.lib
libcmt = libcmt$(DbgLibFlag).lib oldnames.lib
libcdll = msvcrt$(DbgLibFlag).lib oldnames.lib
!ifdef crtdll # Use DLL CRT?
libcrt=$(libcdll)
!elseif defined(crtst) && !defined(crtflags) # use Single Threaded CRT?
libcrt=$(libc)
!elseif defined(crtmt) # use Multithreaded CRT?
libcrt=$(libcmt)
!else # default to crtdll
libcrt=$(libcdll)
!endif # endif crtdll/else crtst/crtmt/else
#---------------------------------------------
# Determine app type libraries (console, gui, or DLL)
#---------------------------------------------
!ifdef dll # is this a DLL?
linklibs=$(libs) kernel32.lib advapi32.lib user32.lib gdi32.lib comctl32.lib comdlg32.lib ole32.lib oleaut32.lib uuid.lib winspool.lib version.lib
!elseif defined(console) # not a DLL, perhaps a console app
linklibs=$(libs) kernel32.lib advapi32.lib user32.lib ole32.lib version.lib
!else # default to gui app
linklibs=$(libs) kernel32.lib $(optlibs) advapi32.lib user32.lib gdi32.lib comdlg32.lib ole32.lib oleaut32.lib uuid.lib winspool.lib version.lib
!endif # ifdef dll/else console/else
LinkLibs = $(LibList) $(linklibs) $(libcrt)
!if "$(BLDTYPE)" == "Profile"
LinkLibs = $(LinkLibs) cap.lib
!endif
#---------------------------------------------
# Additional MFC Libraries
#---------------------------------------------
# Note that linking order is important when using MFC!
!ifdef Use_MFC
!if !defined(nodebug)
linklibs = mfco42$(DbgLibFlag).lib $(linklibs)
!endif
linklibs = mfcs42$(DbgLibFlag).lib mfc42$(DbgLibFlag).lib $(linklibs)
!endif
#*********************************************
#
# Inference Rules
#
#*********************************************
.SUFFIXES:
.SUFFIXES: .c .cpp .obj .def .lib .dll .exe .mc .rc .res .exp .bin .hpj .htm .stm .h .mak .cpl .gif .jpg .cxx .hxx .ocx
# C Targets
.c{$(ObjDir)\}.obj:
$(MkDest)
!if "$(LOG)"=="YES"
@echo $(CC) $(CL) $(crtflags) $(cDefines) $< $(LogCmd)
!endif
$(CC) $(CL) $(crtflags) $(cDefines) $< $(LogCmd)
# C++ Targets
.cpp{$(ObjDir)\}.obj:
$(MkDest)
!if "$(LOG)"=="YES"
@echo $(CC) $(CL) $(crtflags) $(cDefines) $< $(LogCmd)
!endif
$(CC) $(CL) $(crtflags) $(cDefines) $< $(LogCmd)
# C++ Targets
.cxx{$(ObjDir)\}.obj:
$(MkDest)
!if "$(LOG)"=="YES"
@echo $(CC) $(CL) $(crtflags) $(cDefines) $< $(LogCmd)
!endif
$(CC) $(CL) $(crtflags) $(cDefines) $< $(LogCmd)
# Resource Targets from .RC files
{$(ResDir)\}.rc{$(ObjDir)\}.res:
$(MkDest)
!if "$(LOG)"=="YES"
@echo $(RC) $(RFLAGS) $(ResDir)\$(@B).rc $(LogCmd)
!endif
$(RC) $(RFLAGS) $(ResDir)\$(@B).rc $(LogCmd)
# Resource Targets from .MC files
.mc{$(ObjDir)\}.res:
$(MkDest)
!if "$(LOG)"=="YES"
@echo $(MC) $(MFLAGS) $< $(LogCmd)
!endif
$(MC) $(MFLAGS) $< $(LogCmd)
!if "$(LOG)"=="YES"
@echo $(RC) $(MRFLAGS) -fo$@ $(ObjDir)\$(@B).rc $(LogCmd)
!endif
$(RC) $(MRFLAGS) -fo$@ $(ObjDir)\$(@B).rc $(LogCmd)
# Import Libraries
.Def{$(ObjDir)\}.lib:
!if "$(LOG)"=="YES"
@echo $(IMPLIB) -nologo -machine:$(CPU) -def:$(@B).Def $(ObjList) -OUT:$@ $(LogCmd)
!endif
$(IMPLIB) -nologo -machine:$(CPU) -def:$(@B).Def $(ObjList) -OUT:$@ $(LogCmd)
.Def{$(ObjDir)\}.exp:
!if "$(LOG)"=="YES"
@echo $(IMPLIB) -nologo -machine:$(CPU) -def:$(@B).Def -OUT:$(@R).Lib $(ObjDir)\*.Obj $(STATICLIBS) $(LogCmd)
!endif
$(IMPLIB) -nologo -machine:$(CPU) -def:$(@B).Def -OUT:$(@R).Lib $(ObjDir)\*.Obj $(STATICLIBS) $(LogCmd)
# Static Libraries
{$(ObjDir)\}.obj{$(ObjDir)\}.lib:
!if "$(LOG)"=="YES"
@echo $(LIBU) $(LIBFLAGS) $** $(LogCmd)
!endif
$(LIBU) $(LIBFLAGS) $** $(LogCmd)
# DLLs
{$(ObjDir)\}.obj{$(ObjDir)\}.dll:
@echo $** > $(ObjDir)\objfiles.lst
@echo $(LinkLibs) > $(ObjDir)\libfiles.lst
!if "$(LOG)"=="YES"
@echo $(LINK) $(LFLAGS) $(DLLFLAGS) $(linkflags) @$(ObjDir)\objfiles.lst @$(ObjDir)\libfiles.lst $(LogCmd)
!endif
$(LINK) $(LFLAGS) $(DLLFLAGS) $(linkflags) @$(ObjDir)\objfiles.lst @$(ObjDir)\libfiles.lst $(LogCmd)
# OCs
{$(ObjDir)\}.obj{$(ObjDir)\}.Ocx:
@echo $** > $(ObjDir)\objfiles.lst
@echo $(LinkLibs) > $(ObjDir)\libfiles.lst
!if "$(LOG)"=="YES"
@echo $(LINK) $(LFLAGS) $(DLLFLAGS) $(linkflags) @$(ObjDir)\objfiles.lst @$(ObjDir)\libfiles.lst $(LogCmd)
!endif
$(LINK) $(LFLAGS) $(DLLFLAGS) $(linkflags) @$(ObjDir)\objfiles.lst @$(ObjDir)\libfiles.lst $(LogCmd)
# CPLs
{$(ObjDir)\}.obj{$(ObjDir)\}.Cpl:
@echo $** > $(ObjDir)\objfiles.lst
@echo $(LinkLibs) > $(ObjDir)\libfiles.lst
!if "$(LOG)"=="YES"
@echo $(LINK) $(LFLAGS) $(DLLFLAGS) $(linkflags) @$(ObjDir)\objfiles.lst @$(ObjDir)\libfiles.lst $(LogCmd)
!endif
$(LINK) $(LFLAGS) $(DLLFLAGS) $(linkflags) @$(ObjDir)\objfiles.lst @$(ObjDir)\libfiles.lst $(LogCmd)
# BINs
{$(ObjDir)\}.obj{$(ObjDir)\}.bin:
@echo $(LinkLibs) > $(ObjDir)\libfiles.lst
!if "$(LOG)"=="YES"
@echo $(LINK) $(LFLAGS) $(linkflags) $** @$(ObjDir)\libfiles.lst $(LogCmd)
!endif
$(LINK) $(LFLAGS) $(linkflags) $** @$(ObjDir)\libfiles.lst $(LogCmd)
# EXEs
{$(ObjDir)\}.obj{$(ObjDir)\}.exe:
@echo $** > $(ObjDir)\objfiles.lst
@echo $(LinkLibs) > $(ObjDir)\libfiles.lst
!if "$(LOG)"=="YES"
@echo $(LINK) $(LFLAGS) $(linkflags) @$(ObjDir)\objfiles.lst @$(ObjDir)\libfiles.lst $(LogCmd)
!endif
$(LINK) $(LFLAGS) $(linkflags) @$(ObjDir)\objfiles.lst @$(ObjDir)\libfiles.lst $(LogCmd)
# Helpfiles
.hpj{$(ObjDir)\}.hlp:
$(MkDest)
!if "$(LOG)"=="YES"
@echo $(HC) $(HFLAGS) $(@B).Hpj
!endif
$(HC) $(HFLAGS) $(@B).Hpj
!if "$(LOG)"=="YES"
@echo xcopy $(@F) $(ObjDir)
!endif
-xcopy $(@F) $(ObjDir) $(LogCmd)
# ISAPI DLLs to Web Roots
{$(ObjDir)}.Dll{$(WWWSCRIPTS)\SDK}.Dll:
$(MkWWWDest)
!copy $? $(WWWSCRIPTS)\SDK
# Test EXEs to Web Roots
{$(ObjDir)}.Exe{$(WWWSCRIPTS)\SDK}.Exe:
$(MkWWWDest)
!copy $? $(WWWSCRIPTS)\SDK
# HTML files to webroots
.Htm{$(WWWROOT)\SDK\$(Proj)}.Htm:
$(MkWWWDest)
!copy $? $(WWWROOT)\SDK\$(Proj)
# GIF files to webroots
.Gif{$(WWWROOT)\SDK\$(Proj)}.Gif:
$(MkWWWDest)
!copy $? $(WWWROOT)\SDK\$(Proj)
# JPEG files to webroots
.Jpg{$(WWWROOT)\SDK\$(Proj)}.Jpg:
$(MkWWWDest)
!copy $? $(WWWROOT)\SDK\$(Proj)
# ISAPI sources to web roots
.Cpp{$(WWWROOT)\SDK\$(Proj)}.Cpp:
$(MkWWWDest)
!copy $? $(WWWROOT)\SDK\$(Proj)
# ISAPI sources to web roots
.C{$(WWWROOT)\SDK\$(Proj)}.C:
$(MkWWWDest)
!copy $? $(WWWROOT)\SDK\$(Proj)
# ISAPI sources to web roots
.h{$(WWWROOT)\SDK\$(Proj)}.h:
$(MkWWWDest)
!copy $? $(WWWROOT)\SDK\$(Proj)
# ISAPI sources to web roots
.Def{$(WWWROOT)\SDK\$(Proj)}.Def:
$(MkWWWDest)
!copy $? $(WWWROOT)\SDK\$(Proj)
# ISAPI sources to web roots
.Mak{$(WWWROOT)\SDK\$(Proj)}.Mak:
$(MkWWWDest)
!copy $? $(WWWROOT)\SDK\$(Proj)
#*********************************************
#
# Make Targets
#
#*********************************************
#---------------------------------------------
# List Output Files
#---------------------------------------------
ListDir:
dir $(ObjDir)
#---------------------------------------------
# Display Output Listing File
#---------------------------------------------
!ifndef ERRVIEW
ERRVIEW=start notepad.exe
!endif
ListOut:
$(ERRVIEW) $(ObjDir)\$(Proj).out
#---------------------------------------------
# Delete Output Listing File
#---------------------------------------------
DelOut:
del $(ObjDir)\$(Proj).out
#---------------------------------------------
# Clean Output Directories
#---------------------------------------------
clean:
$(MkDest)
!if "$(OS)" == "Windows_NT"
del /q $(ObjDir)\*.obj \
$(ObjDir)\*.out \
$(ObjDir)\*.h \
$(ObjDir)\*.dbg \
$(ObjDir)\*.ocx \
$(ObjDir)\*.log \
$(ObjDir)\*.lib \
$(ObjDir)\*.exe \
$(ObjDir)\*.dll \
$(ObjDir)\*.map \
$(ObjDir)\*.res \
$(ObjDir)\*.rc \
$(ObjDir)\*.bin \
$(ObjDir)\*.lst \
$(ObjDir)\*.blt \
$(ObjDir)\*.hlp \
$(ObjDir)\*.srl \
$(ObjDir)\*.exp >NUL 2>NUL
!else # Win95 doesn't support "2>" on command line, multiple files on a Del command, or /q
erase $(ObjDir)\*.obj >NUL
erase $(ObjDir)\*.out >NUL
erase $(ObjDir)\*.h >NUL
erase $(ObjDir)\*.dbg >NUL
erase $(ObjDir)\*.ocx >NUL
erase $(ObjDir)\*.log >NUL
erase $(ObjDir)\*.lib >NUL
erase $(ObjDir)\*.exe >NUL
erase $(ObjDir)\*.dll >NUL
erase $(ObjDir)\*.map >NUL
erase $(ObjDir)\*.res >NUL
erase $(ObjDir)\*.rc >NUL
erase $(ObjDir)\*.bin >NUL
erase $(ObjDir)\*.lst >NUL
erase $(ObjDir)\*.blt >NUL
erase $(ObjDir)\*.hlp >NUL
erase $(ObjDir)\*.srl >NUL
erase $(ObjDir)\*.exp >NUL
!endif # OS == Windows_NT
!endif # _INETSDK_MAK_
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -