?? inetsdk.mak
字號(hào):
#----------------------------------------------------------------------------
#
# Description:
# Make File Header for Internet Software Development Kit
# Based in large part on BkOffice.Mak from the BackOffice SDK
#
# Copyright:
# Copyright (C) Microsoft Corp. 1995-1997. All Rights Reserved.
#
#----------------------------------------------------------------------------
!ifndef _INETSDK_MAK_ # Prevent multiple inclusions
_INETSDK_MAK_ = 1
#*********************************************
#
# Parameter Checking and Defaults
#
#*********************************************
!ifndef Proj
! ERROR Component name (Proj) has not been defined.
!endif
!ifndef INCLUDE
! ERROR INCLUDE variable is empty; must include at least system include directory
!endif
!ifndef LIB
! ERROR LIB variable is empty; must include at least system lib directory
!endif
!ifdef USE_ISAPI
!ifndef WWWSCRIPTS
! MESSAGE WWWSCRIPTS environment variable is empty; defaulting to .
WWWSCRIPTS = .
!endif
!ifndef WWWROOT
! MESSAGE WWWROOT environment variable is empty; defaulting to .
WWWROOT = .
!endif
!endif # USE_ISAPI
!if defined(clean)
$(Proj): Clean
!else
$(Proj): All
!endif
!if defined(nodebug)
BLDTYPE=Retail
!endif
!if "$(BLDTYPE)" == "Retail" | "$(BLDTYPE)" == "RETAIL" | "$(BLDTYPE)" == "retail" | "$(BLDTYPE)" == "RTL" | "$(BLDTYPE)" == "rtl"
BLDTYPE=Retail
!else if "$(BLDTYPE)" == "Profile" | "$(BLDTYPE)" == "PROFILE" | "$(BLDTYPE)" == "profile"
BLDTYPE=Profile
!else if "$(BLDTYPE)" == "Debug" | "$(BLDTYPE)" == "DEBUG" | "$(BLDTYPE)" == "debug" | "$(BLDTYPE)" == "DBG" | "$(BLDTYPE)" == "dbg"
BLDTYPE=Debug
!else ifndef BLDTYPE
BLDTYPE=Debug
!else
! ERROR BLDTYPE must be either Retail, Profile or Debug.
!endif
!if "$(BLDTYPE)" == "Retail"
nodebug=1
!endif
!ifndef CALL
CALL=C
!endif
!ifndef PACK
PACK=YES
!endif
!ifndef LOG
LOG=NO
!endif
!ifndef WARNING_LEVEL
WARNING_LEVEL=3
!endif
!ifndef PROCESSOR_ARCHITECTURE
PROCESSOR_ARCHITECTURE = x86
!endif # default to x86
!ifndef CPU
CPU=$(PROCESSOR_ARCHITECTURE)
!if "$(CPU)"=="x86" | "$(CPU)"=="X86"
CPU = i386
!endif
!endif
!ifndef APPVER
APPVER=4.0
!endif
!ifndef USE_EXCHANGE
!include <win32.mak>
!endif
# Save build args for any recursive nmakes
BLDARGS= BLDTYPE=$(BLDTYPE) LOG=$(LOG) CPU=$(CPU)
#*********************************************
#
# Paths
#
#*********************************************
!ifndef BKOFFICE
!ifdef PROJROOT
BKOFFICE=$(PROJROOT)\ # must add trailing backslash
!else
BKOFFICE=\BkOffice\ # assume a reasonable default
!endif
!endif
!ifdef MAKEDIRS
MkDest=
!include $(MAKEDIRS)
!else
ResDir=.
ObjDir=$(BLDTYPE)
IncDir=$(BKOFFICE)Include
LibDir=$(BKOFFICE)Lib
INCLUDE=$(ObjDir);$(IncDir);$(INCLUDE);
LIB=$(LibDir);$(LIB);
# Win95 doesn't support "&" on command line
MkDest=@if not exist $(ObjDir) md $(ObjDir)
MkWWWDest=@for %d in ($(WWWROOT)\SDK $(WWWROOT)\SDK\$(Proj) $(WWWSCRIPTS)\SDK) do @$(COMSPEC) /c if not exist %d md %d
!endif
# ObjList is used for making .Libs from .Defs, and as a convenience in other places.
!ifndef ObjList
ObjList=$(ObjDir)\$(@B).OBJ
!endif
#*********************************************
#
# Tools
#
#*********************************************
MAKEEXE = nmake
IMPLIB = lib
CC = cl
LIBU = lib
LINK = link
RC = rc
MC = mc
HC = start /wait hcrtf
#*********************************************
#
# Flags
#
#*********************************************
# CL is for all C and C++ files
# -WX Warnings as errors
# -J char becomes unsigned char
#
CL=$(cflags) -c -W$(WARNING_LEVEL) -J -Fo$@ /nologo $(CL)
# LFLAGS is for all links
LFLAGS=-nologo -nodefaultlib -machine:$(CPU) -out:$@ -incremental:no -pdb:none $(LFLAGS)
# DLLFLAGS is for linking DLLs
DLLFLAGS=-dll -map:$(ObjDir)\$(@B).map $(DLLFLAGS)
# LIBFLAGS is for making libraries
LIBFLAGS=-nologo -machine:$(CPU) -out:$@ $(LIBFLAGS)
# RFLAGS is for Windows resources
RFLAGS= -I$(ResDir) -fo$@ -DWIN32 $(noansi) -r -D_WIN32 $(RFLAGS)
# MFLAGS is for the message compiler
MFLAGS=-v -c -s -h $(ObjDir) -r $(ObjDir) -x $(ObjDir) $(MFLAGS)
# MRFLAGS is for the resource compiler when used after the message compiler
MRFLAGS=-l 409 -r -x -i$(ObjDir) $(MRFLAGS)
# HFLAGS is for the help compiler
HFLAGS=-xn
#---------------------------------------------
# Calling convention Flag
#---------------------------------------------
!if "$(CALL)"=="PASCAL"
CL=-Gc $(CL)
!endif
#---------------------------------------------
# Function Packaging Flag
#---------------------------------------------
!if "$(PACK)" == "YES"
CL=-Gy $(CL)
cDefines=-Gy $(cDefines)
!endif
#---------------------------------------------
# Output Redirection
#---------------------------------------------
!if "$(LOG)" == "NO"
LogCmd=
!else
LogCmd= >> $(ObjDir)\$(Proj).Out
!endif
#---------------------------------------------
# Optimization Flags
#---------------------------------------------
!if "$(BLDTYPE)" == "Retail"
CL=-O2 $(CL)
!else if "$(BLDTYPE)" == "Profile"
CL=-Od -Z7 -Gh $(CL)
!else
CL=-Od -Z7 $(CL)
!endif
#---------------------------------------------
# CPU specific Flags
#---------------------------------------------
!if "$(CPU)" == "I386"
CL = $(CL) -D_X86_=1
scall = -Gz
lflags = $(lflags) -align:0x1000
!endif
!if "$(CPU)" == "MIPS"
CL = $(CL) -D_MIPS_=1
scall =
!endif
!if "$(CPU)" == "PPC"
CL = $(CL) -D_PPC_=1
scall =
lflags = $(lflags) -ignore:4078
!endif
!if "$(CPU)" == "ALPHA"
CL = $(CL) -D_ALPHA_=1
scall =
!endif
#---------------------------------------------
# Windows version
#---------------------------------------------
!if "$(APPVER)" == "4.0"
CL = $(CL) -DWINVER=0x0400
rflags=$(rflags) -DWINVER=0x0400
!endif
#---------------------------------------------
# Additional MFC Flags
#---------------------------------------------
!ifdef Use_MFC
CL= $(CL) /GX /DSTRICT /DWIN32 /D_WINDOWS /D_MBCS /D_WINDLL
CL= $(CL) /D_USRDLL -D_AFX_NO_BSTR_SUPPORT /D_AFXDLL
RFLAGS = $(RFLAGS) /DSTRICT /DWIN32 /D_WINDOWS /D_MBCS /D_WINDLL /D_USRDLL -D_AFX_NO_BSTR_SUPPORT /D_AFXDLL
!if "$(BLDTYPE)"=="Debug"
CL= $(CL) /D_DEBUG
RFLAGS = $(RFLAGS) /D_DEBUG
!endif # BLDTYPE == Debug
!ifdef crtdll # Use DLL CRT? (which is multithreaded)
crtflags = -MD$(DbgLibFlag) $(crtflags)
!elseif defined(crtst) && !defined(crtflags) # use Single Threaded CRT?
crtflags = -ML$(DbgLibFlag) $(crtflags)
!elseif defined(crtmt) # use Multithreaded CRT?
crtflags = -MT$(DbgLibFlag) $(crtflags)
!else # default to crtdll
crtflags = -MD$(DbgLibFlag) $(crtflags)
!endif # ifdef crtdll/else crtst/crtmt/else
!endif # Use_MFC
#---------------------------------------------
# BaseCtl Framework Flags
#---------------------------------------------
!ifdef USE_BASECTL
# flags to support the BaseCtl framework. Only DLLs are supported.
dll = 1
# These are "extra" libs beyond the standard set that BaseCtl controls need
libs= urlmon.lib wininet.lib shell32.lib oleaut32.lib
!ifdef nodebug
libs = $(libs) CtlFwR32.Lib
!else
libs = $(libs) CtlFwD32.Lib
!endif
# Commands to be added to the compile line... in this case to locate headers and to
# override the warning level on certain behaviors that VC++ 4.1 started flagging as
# warnings that causes warnigns in system headers.
cDefines= -I$(INETSDK)\Samples\COM\ActiveXControl\BaseCtl\Include -I..\include -I..\BaseCtl\Include $(cDefines) -FI VC41Warn.h
RFLAGS= -I$(INETSDK)\Samples\COM\ActiveXControl\BaseCtl\Include -I..\include -I..\BaseCtl\Include $(RFLAGS)
linkflags = $(linkflags) -Def:$(Proj).Def
Register: $(ObjDir)\$(Proj).Ocx
regsvr32 /s $?
# provide a standard rule for Odl generated headers named $(ObjDir)\$(Proj)Ifc.h
$(ObjDir)\$(Proj)Ifc.h $(ObjDir)\$(Proj).Tlb: $(Proj).Odl
$(MkDest)
mktyplib /DWIN32 -I$(INETSDK)\Samples\COM\ActiveXControl\BaseCtl\Include -I..\include /h $(ObjDir)\$(Proj)Ifc.h /tlb $(ObjDir)\$(Proj).tlb $(Proj).Odl
!endif # USE_BASECTL
#---------------------------------------------
# Build Type Flags (Retail/Debug)
#---------------------------------------------
!if "$(BLDTYPE)"=="Retail"
CL=-DSHIP $(CL)
LFLAGS = $(LFLAGS) -release
!else if "$(BLDTYPE)"=="Profile"
CL=-DDEBUG -DTEST -DPROFILE $(CL)
LFLAGS = $(LFLAGS) -debug:mapped,partial -debugtype:coff -PROFILE
libs = $(libs) CAP.LIB
!else
CL=-DDEBUG -DTEST $(CL)
LFLAGS = $(LFLAGS) -debug:full -debugtype:cv
!endif
#---------------------------------------------
# Determine CRT Flags
#---------------------------------------------
!ifdef crtdll # Use DLL CRT? (which is multithreaded)
crtflags = -DWIN32 $(noansi) -D_WIN32 -D_MT -D_DLL
!elseif defined(crtst) && !defined(crtflags) # use Single Threaded CRT?
crtflags = -DWIN32 $(noansi) -D_WIN32
!elseif defined(crtmt) # use Multithreaded CRT?
crtflags = -DWIN32 $(noansi) -D_WIN32 -D_MT
!else # default to crtdll
crtflags = -DWIN32 $(noansi) -D_WIN32 -D_MT -D_DLL
!endif # ifdef crtdll/else crtst/crtmt/else
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -