📄 makefile.def
字号:
MFC_LIBS=$(SDK_LIB_PATH)\nafxcw.lib
! endif
! endif
! else # USE_STATIC_MFC
! ifdef DEBUG_CRTS
! ifdef USE_MFCUNICODE
MFC_STATIC_LIB = $(SDK_LIB_PATH)\mfcs$(MFC_VER)ud.lib
MFC_LIBS=$(SDK_LIB_PATH)\mfc$(MFC_VER)ud.lib \
$(SDK_LIB_PATH)\mfcd$(MFC_VER)ud.lib \
$(SDK_LIB_PATH)\mfcn$(MFC_VER)ud.lib \
$(SDK_LIB_PATH)\mfco$(MFC_VER)ud.lib
! else
MFC_STATIC_LIB = $(SDK_LIB_PATH)\mfcs$(MFC_VER)d.lib
MFC_LIBS=$(SDK_LIB_PATH)\mfc$(MFC_VER)d.lib \
$(SDK_LIB_PATH)\mfcd$(MFC_VER)d.lib \
$(SDK_LIB_PATH)\mfcn$(MFC_VER)d.lib \
$(SDK_LIB_PATH)\mfco$(MFC_VER)d.lib
! endif
! else
! ifdef USE_MFCUNICODE
MFC_STATIC_LIB = $(SDK_LIB_PATH)\mfcs$(MFC_VER)u.lib
MFC_LIBS=$(SDK_LIB_PATH)\mfc$(MFC_VER)u.lib
! else
MFC_STATIC_LIB = $(SDK_LIB_PATH)\mfcs$(MFC_VER).lib
MFC_LIBS=$(SDK_LIB_PATH)\mfc$(MFC_VER).lib
! endif
! endif
MFC_LIBS=$(MFC_STATIC_LIB) $(MFC_LIBS)
! endif # USE_STATIC_MFC
! endif # MFC_LIBS
!endif # USE_MFC
!IFNDEF UMTYPE
!if "$(TARGETTYPE)" == "DYNLINK"
UMTYPE=console
!ifndef SUBSYSTEM_VERSION
SUBSYSTEM_VERSION=$(SUBSYSTEM_VERSION_CURRENT)
!endif
!else
UMTYPE=nt
!endif
!ENDIF
!ifdef USE_MFC30
LIBC_DEFINES=
!else
! ifdef DEBUG_CRTS
DCRT=d
LIBC_DEFINES = -D_DEBUG
! else
DCRT=
LIBC_DEFINES = -DNDEBUG
! endif
!endif
# For all but X86, MSVCRT20==MSVCRT40==CRTDLL==MSVCRT
!if "$(TARGET_DIRECTORY)" != "i386"
! if defined(USE_MSVCRT20)
USE_MSVCRT=1
! undef USE_MSVCRT20
! elseif defined(USE_MSVCRT40)
USE_MSVCRT=1
! undef USE_MSVCRT40
! elseif defined(USE_CRTDLL)
USE_MSVCRT=1
! undef USE_CRTDLL
! endif
!endif
!if defined(USE_CRTDLL) || defined(USE_MSVCRT)
! if !$(MPPC)
LIBC_LIB=$(CRT_LIB_PATH)\msvcrt$(DCRT).lib
! if defined(USE_IOSTREAM)
LIBC_LIB=$(LIBC_LIB) $(CRT_LIB_PATH)\msvcirt$(DCRT).lib
! endif
! if defined(USE_STL)
LIBC_LIB=$(LIBC_LIB) $(CRT_LIB_PATH)\msvcprt$(DCRT).lib
! endif
LIBC_DEFINES=$(LIBC_DEFINES) -D_DLL=1 -D_MT=1
! endif
!elseif defined(USE_IERT)
LIBC_LIB=$(CRT_LIB_PATH)\iert.lib
LIBC_DEFINES=$(LIBC_DEFINES) -D_MT=1
!elseif defined(USE_LIBCMT)
LIBC_LIB=$(CRT_LIB_PATH)\libcmt$(DCRT).lib
! if defined(USE_IOSTREAM)
LIBC_LIB=$(LIBC_LIB) $(CRT_LIB_PATH)\libcimt$(DCRT).lib
! endif
! if defined(USE_STL)
LIBC_LIB=$(LIBC_LIB) $(CRT_LIB_PATH)\libcpmt$(DCRT).lib
! endif
LIBC_DEFINES=$(LIBC_DEFINES) -D_MT=1
!elseif defined(USE_LIBCNTPR)
LIBC_LIB=$(CRT_LIB_PATH)\libcntpr.lib
!elseif (defined(USE_NTDLL) || \
"$(TARGETTYPE)" == "DRIVER" || \
"$(TARGETTYPE)" == "EXPORT_DRIVER" || \
defined(USE_SYSDLL) )
LIBC_DEFINES=$(LIBC_DEFINES) -D_DLL=1
LIBC_LIB=
!elseif defined(USE_NOLIBS) || \
"$(TARGETTYPE)" == "HAL" || \
"$(TARGETTYPE)" == "GDI_DRIVER"
NO_NTDLL=1
LIBC_LIB=
!elseif defined(USE_MSVCRT20)
LIBC_LIB=$(CRT_LIB_PATH)\msvcrt2$(DCRT).lib
LIBC_DEFINES=$(LIBC_DEFINES) -D_DLL=1 -D_MT=1
!elseif defined(USE_MSVCRT40)
LIBC_LIB=$(CRT_LIB_PATH)\msvcrt4$(DCRT).lib
LIBC_DEFINES=$(LIBC_DEFINES) -D_DLL=1 -D_MT=1
!else
LIBC_LIB=$(CRT_LIB_PATH)\libc$(DCRT).lib
! if defined(USE_IOSTREAM)
LIBC_LIB=$(LIBC_LIB) $(CRT_LIB_PATH)\libci$(DCRT).lib
! endif
! if defined(USE_STL)
LIBC_LIB=$(LIBC_LIB) $(CRT_LIB_PATH)\libcp$(DCRT).lib
! endif
!endif
!if defined(USE_VCCOM)
LIBC_LIB = $(LIBC_LIB) $(SDK_LIB_PATH)\vccomsup.lib
!endif
!IFNDEF GPSIZE
GPSIZE= 0
!ENDIF
!ifdef NTLIBPATH
LIBRARY_PATH = $(NTLIBPATH)\*\lib
!else
LIBRARY_PATH = $(SDK_LIB_PATH)
!endif
!if defined(USE_MFC) || defined(USE_MFCUNICODE)
LIBC_LIB = $(MFC_LIBS) $(LIBC_LIB)
!endif
!if defined(USE_ATL) || defined(USE_STATIC_ATL)
LIBC_LIB = $(LIBC_LIB) $(ATL_LIBS)
# Piggy back on MFC_DEFINES for now.
MFC_DEFINES = $(MFC_DEFINES) $(ATL_DEFINES)
!endif
NT_LIBS=$(LIBRARY_PATH)\ntdll.lib
GUI32_LIBS=$(LIBRARY_PATH)\gdi32.lib \
$(LIBRARY_PATH)\user32.lib
NT_CRT=$(LIBRARY_PATH)\nt.lib
WIN32_LIBS=$(LIBC_LIB) \
$(LIBRARY_PATH)\advapi32.lib \
$(LIBRARY_PATH)\kernel32.lib
NTSS_LIBS=$(NT_LIBS) $(NT_CRT) $(SDK_LIB_PATH)\smdll.lib
OS2_LIBS=$(NT_LIBS) $(SDK_LIB_PATH)\os2dll.lib
POSIX_LIBS=$(NT_LIBS) $(SDK_LIB_PATH)\libcpsx.lib \
$(SDK_LIB_PATH)\psxdll.lib \
$(SDK_LIB_PATH)\psxrtl.lib
!if "$(DRIVERTYPE)" == "wdm" || "$(DRIVERTYPE)" == "WDM"
# Building a WDM driver. Default the subsystem version to the DDK version # (currently 1.0)
! ifndef SUBSYSTEM_VERSION
SUBSYSTEM_VERSION=1.10
! endif
!endif
!ifndef SUBSYSTEM_VERSION
! ifndef EXPECTED_WINVER
SUBSYSTEM_WINVER = ,4.00
! else
SUBSYSTEM_WINVER = ,$(EXPECTED_WINVER)
! endif
SUBSYSTEM_CONVER = ,4.00
SUBSYSTEM_OS2VER =
SUBSYSTEM_POSIXVER =
SUBSYSTEM_NATVER = ,5.00
!else
SUBSYSTEM_WINVER = ,$(SUBSYSTEM_VERSION)
SUBSYSTEM_CONVER = ,$(SUBSYSTEM_VERSION)
SUBSYSTEM_OS2VER = ,$(SUBSYSTEM_VERSION)
SUBSYSTEM_POSIXVER = ,$(SUBSYSTEM_VERSION)
SUBSYSTEM_NATVER = ,$(SUBSYSTEM_VERSION)
# Set the appropriate default WIN32_xxxxx values
! if "$(SUBSYSTEM_VERSION)" == "4.00"
! ifndef WIN32_WINNT_VERSION
WIN32_WINNT_VERSION=0x0400
! endif
! ifndef WIN32_WINNT_VERSION
WIN32_WIN95_VERSION=0x0400
! endif
! ifndef WIN32_IE_VERSION
WIN32_IE_VERSION=0x0300
! endif
! elseif "$(SUBSYSTEM_VERSION)" == "3.51"
! ifndef WIN32_WINNT_VERSION
WIN32_WINNT_VERSION=0x0351
! endif
! ifndef WIN32_WIN95_VERSION
WIN32_WIN95_VERSION=0x0300
! endif
! ifndef WIN32_IE_VERSION
WIN32_IE_VERSION=0x0200
! endif
! ifndef WINVER_VERSION
WINVER_VERSION=0x0400 # Special case - WINVER was 4.00 for NT 3.51
! endif
! elseif "$(SUBSYSTEM_VERSION)" == "3.50"
! ifndef WIN32_WINNT_VERSION
WIN32_WINNT_VERSION=0x0350
! endif
! ifndef WIN32_WIN95_VERSION
WIN32_WIN95_VERSION=0x0300
! endif
! ifndef WIN32_IE_VERSION
WIN32_IE_VERSION=0x0100
! endif
! ifndef WINVER_VERSION
WINVER_VERSION=0x0400 # Special case - WINVER was 4.00 for NT 3.50
! endif
! endif
!endif
!IF "$(UMTYPE)" == "nt"
SUBSYSTEM=native$(SUBSYSTEM_NATVER)
UMINCL=$(CRT_INC_PATH)
STD_CALL_ENTRY=1
UMENTRY=-entry:NtProcessStartup
UMLIBS=$(UMLIBS) $(NT_LIBS) $(NT_CRT)
NOT_TERMINAL_SERVER_AWARE=1
!ELSEIF "$(UMTYPE)" == "windows"
SUBSYSTEM=windows$(SUBSYSTEM_WINVER)
UMINCL=$(CRT_INC_PATH)
! IF "$(UMENTRY)" == "winmain"
UMENTRY=-entry:WinMainCRTStartup
! ELSEIF "$(UMENTRY)" == "wwinmain"
UMENTRY=-entry:wWinMainCRTStartup
! ELSEIF "$(UMENTRY)" == "wmain"
UMENTRY=-entry:wmainCRTStartup
! ELSEIF "$(UMENTRYABS)" == ""
UMENTRY=-entry:mainCRTStartup
! ELSE
UMENTRY=-entry:$(UMENTRYABS)
! ENDIF
UMLIBS=$(UMLIBS) $(WIN32_LIBS) $(GUI32_LIBS)
!ELSEIF "$(UMTYPE)" == "console"
SUBSYSTEM=console$(SUBSYSTEM_CONVER)
UMINCL=$(CRT_INC_PATH)
! IF "$(UMENTRY)" == "winmain"
UMENTRY=-entry:WinMainCRTStartup
! ELSEIF "$(UMENTRY)" == "wwinmain"
UMENTRY=-entry:wWinMainCRTStartup
! ELSEIF "$(UMENTRY)" == "wmain"
UMENTRY=-entry:wmainCRTStartup
! ELSEIF "$(UMENTRYABS)" == ""
UMENTRY=-entry:mainCRTStartup
! ELSE
UMENTRY=-entry:$(UMENTRYABS)
! ENDIF
!IF !$(MPPC)
UMLIBS=$(UMLIBS) $(WIN32_LIBS)
!ENDIF
!ELSEIF "$(UMTYPE)" == "ntss"
SUBSYSTEM=native$(SUBSYSTEM_NATVER)
UMINCL=$(CRT_INC_PATH)
STD_CALL_ENTRY=1
UMENTRY=-entry:NtProcessStartup
NOT_TERMINAL_SERVER_AWARE=1
!IF !$(MPPC)
UMLIBS=$(UMLIBS) $(NTSS_LIBS)
!ENDIF
!ELSEIF "$(UMTYPE)" == "os2"
SUBSYSTEM=os2$(SUBSYSTEM_OS2VER)
UMINCL=$(SDK_INC_PATH)\os2;$(CRT_INC_PATH)
STD_CALL_ENTRY=1
UMENTRY=-entry:NtProcessStartup
UMLIBS=$(UMLIBS) $(OS2_LIBS)
!ELSEIF "$(UMTYPE)" == "posix"
SUBSYSTEM=posix$(SUBSYSTEM_POSIXVER)
UMINCL=$(SDK_INC_PATH)\posix;$(CRT_INC_PATH)
UMENTRY=-entry:__PosixProcessStartup
UMLIBS=$(UMLIBS) $(POSIX_LIBS)
!ELSE
! ERROR Invalid UMTYPE value - $(UMTYPE)
!ENDIF # UMTYPE tests
#
# If you edit this line you need to modify $(BASEDIR)\private\sdktools\build\build.c
#
NTINCLUDES=$(OAK_INC_PATH);$(SDK_INC_PATH)
#
# Let drivers include files such as ntddk.h.
# WDM drivers\libs can only include wdm.h type of files though ...
# DDK_INC_PATH must be first for precedence.
#
!IF "$(DRIVERTYPE)" == "wdm" || "$(DRIVERTYPE)" == "WDM"
NTINCLUDES=$(NTINCLUDES);$(WDM_INC_PATH)
!ELSEIF "$(TARGETTYPE)" == "DRIVER" || \
"$(TARGETTYPE)" == "EXPORT_DRIVER" || \
"$(TARGETTYPE)" == "MINIPORT" || \
"$(TARGETTYPE)" == "DRIVER_LIBRARY"
NTINCLUDES=$(NTINCLUDES);$(DDK_INC_PATH);$(WDM_INC_PATH)
!ENDIF
!IFNDEF CBSTRING
! IF "$(MAJORCOMP)" == "ntos" || \
"$(MAJORCOMP)" == "NTOS" || \
"$(TARGETTYPE)" == "DRIVER" || \
"$(TARGETTYPE)" == "DRIVER_LIBRARY" || \
"$(TARGETTYPE)" == "GDI_DRIVER" || \
"$(TARGETTYPE)" == "HAL" || \
"$(TARGETTYPE)" == "EXPORT_DRIVER" || \
"$(TARGETTYPE)" == "MINIPORT"
CBSTRING= -cbstring
! ELSE
CBSTRING=
! ENDIF
!ENDIF
!if "$(TARGETTYPE)" == "DRIVER_LIBRARY"
TARGETTYPE=LIBRARY
!endif
#
# Add PRIVATE_INC_PATH to NTINCLUDES, if NO_PRIVATE_INC is not set
#
!IFNDEF NO_PRIVATE_INC
NTINCLUDES= $(NTINCLUDES);$(PRIVATE_INC_PATH)
!ENDIF
!IFNDEF COMPILER_WARNINGS
COMPILER_WARNINGS=-FI$(SDK_INC_PATH)\warning.h
!ifdef USE_LINT
LINT_FORCEDINCS=$(LINT_FORCEDINCS) -header($(SDK_INC_PATH)\warning.h)
!endif
!ENDIF
# If you change this to 600, fix MIDL_OPTIMIZATION default below.
!ifndef WIN32_WINNT_VERSION
WIN32_WINNT_VERSION=$(LATEST_WIN32_WINNT_VERSION)
!endif
!ifndef WIN32_WIN95_VERSION
WIN32_WIN95_VERSION=$(LATEST_WIN32_WIN95_VERSION)
!endif
!ifndef WIN32_IE_VERSION
WIN32_IE_VERSION=$(LATEST_WIN32_IE_VERSION)
!endif
!ifndef WINVER_VERSION
!ifdef CHICAGO_PRODUCT
WINVER_VERSION=$(WIN32_WIN95_VERSION)
!else
WINVER_VERSION=$(WIN32_WINNT_VERSION)
!endif
!endif
!IF defined(CHICAGO_PRODUCT)
NO_NTDLL=1
! IFNDEF WIN32_DEFINE
WIN32_DEFINE=-DWIN32=200 -D_CHICAGO_=200 -D_WIN32_WINDOWS=$(WIN32_WIN95_VERSION) -DWINVER=$(WINVER_VERSION)
! ENDIF
!ELSEIF $(MPPC)
! IFNDEF MAC_INCLUDES
MAC_INCLUDES=$(BASEDIR)\private\macdcom\dll\src\inc;
MAC_INCLUDES=$(MAC_INCLUDES); $(BASEDIR)\public\sdk\inc\mppc;
MAC_INCLUDES=$(MAC_INCLUDES); $(_NTDRIVE)\nt\public\sdk\inc;
MAC_INCLUDES=$(MAC_INCLUDES); $(BASEDIR)\public\sdk\inc\mppc\macos;
MAC_INCLUDES=$(MAC_INCLUDES); $(BASEDIR)\public\sdk\inc\mppc\mrc;
! ENDIF
NTINCLUDES= $(MAC_INCLUDES);$(NTINCLUDES);
NO_NTDLL=1
WIN32_DEFINE=-DPOWERMAC=1
!ELSE
WIN32_DEFINE=-DWIN32=100 -D_NT1X_=100 -DWINNT=1 -D_WIN32_WINNT=$(WIN32_WINNT_VERSION) -DWINVER=$(WINVER_VERSION)
!ENDIF
WIN32_DEFINE = $(WIN32_DEFINE) -D_WIN32_IE=$(WIN32_IE_VERSION)
INCLUDES = $(INCLUDES: =)
NTINCLUDES = $(NTINCLUDES: =)
UMINCL = $(UMINCL: =)
MFC_INCLUDES = $(MFC_INCLUDES: =)
USER_INCLUDES =$(USER_INCLUDES: =)
ATL_INCLUDES = $(ATL_INCLUDES: =)
# MFC, ATL, and USER first
INCPATH0=-I$(MFC_INCLUDES:;= -I) -I$(ATL_INCLUDES:;= -I) -I$(USER_INCLUDES:;= -I)
INCPATH1=-I$(MFC_INCLUDES:;= -I) -I$(ATL_INCLUDES:;= -I) -I$(USER_INCLUDES:;= -I)
# INCLUDES if set
!ifdef INCLUDES
INCPATH0 = $(INCPATH0) -I$(INCLUDES:;= -I)
INCPATH1 = $(INCPATH1) -I$(INCLUDES:;= -I)
!endif
# Finally NT and UM
INCPATH0=$(INCPATH0) -I$(NTINCLUDES:;= -I) -I$(UMINCL:;= -I)
INCPATH1=$(INCPATH1) -I$(NTINCLUDES:;= -I) -I$(UMINCL:;= -I)
# Remove empty "-I " settings (INCL/NTINCLUDES/UMINCL/MFC_INCLUDES macros may be empty above)
INCPATH0=$(INCPATH0:-I =)
INCPATH1=$(INCPATH1:-I =)
!ifdef USE_LINT
LINT_INCLUDES=-i$(TARGET_DIRECTORY)\ -i. $(LINT_PRECOMPPATH) $(INCPATH1:-I=-i)
!endif
!IFNDEF DLLENTRY
DLLENTRY=-noentry
!ELSE
! if "$(DLLENTRY:-entry:=)" == "$(DLLENTRY)"
DLLENTRY=-entry:$(DLLENTRY)
! endif
!ENDIF
!IF $(MPPC)
DLLENTRY=-noentry
!ENDIF
!IFNDEF DLLBASE
! IFDEF COFFBASE
DLLBASE=@$(COFFBASE_TXT_FILE),$(COFFBASE)
! ELSE
DLLBASE=@$(COFFBASE_TXT_FILE),$(TARGETNAME)
! ENDIF
!ENDIF
!IFNDEF DLLDEF
DLLDEF=$(@B).def
!ENDIF
!IFNDEF BOOTBASE
! IFDEF FRAZZLE
BOOTBASE=0xd0100000,0xd0104000
! ELSE
BOOTBASE=0xd0ff0000,0xd0ff4000
! ENDIF
!ENDIF
!IFNDEF DRIVERBASE
DRIVERBASE=0x10000
!ENDIF
!IFNDEF HALBASE
HALBASE=0x80010000
!ENDIF
#
# Map lower case to upper case for variables that can be specified from the
# command line.
#
!IFDEF nttest
NTTEST=$(nttest)
!ENDIF
!IFDEF makedll
MAKEDLL=$(makedll)
!ENDIF
!IFDEF umtest
UMTEST=$(umtest)
!ENDIF
#
# Include the list of object files (defined as the OBJECTS macro) that was
# built by BUILD program, using the SOURCES= macro defined in the sources.
# file. Use macro substitution to build the supported target objects.
#
!INCLUDE obj\_objects.mac
!IF $(386)
OBJECTS=$(386_OBJECTS)
DLLLIBOBJECTS=$(DLLLIBOBJECTS) $(386_DLLLIBOBJECTS)
!ELSEIF $(AXP64)
OBJECTS=$(AXP64_OBJECTS)
DLLLIBOBJECTS=$(DLLLIBOBJECTS) $(AXP64_DLLLIBOBJECTS)
!ELSEIF $(ALPHA)
OBJECTS=$(ALPHA_OBJECTS)
DLLLIBOBJECTS=$(DLLLIBOBJECTS) $(ALPHA_DLLLIBOBJECTS)
!ELSEIF $(MPPC)
OBJECTS=$(MPPC_OBJECTS)
DLLLIBOBJECTS=$(DLLLIBOBJECTS) $(MPPC_DLLLIBOBJECTS)
!ELSEIF $(IA64)
OBJECTS=$(IA64_OBJECTS)
DLLLIBOBJECTS=$(DLLLIBOBJECTS) $(IA64_DLLLIBOBJECTS)
!ENDIF
!ifdef MAC_RESOURCE
MAC_RESOURCE_OBJECT=$(_OBJ_DIR)\$(TARGET_DIRECTORY)\$(MAC_RESOURCE:.r=.rsc)
OBJECTS=$(OBJECTS) $(MAC_RESOURCE_OBJECT)
!endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -