windows-nt/Source/XPSP1/NT/mergedcomponents/advapi32/sources
2020-09-26 16:20:57 +08:00

130 lines
3 KiB
Plaintext

TARGETNAME=advapi32
TARGETPATH=obj
TARGETTYPE=DYNLINK
DLLENTRY=DllInitialize
DLLDEF=$(O)\advapi32.def
LINKLIBS= \
$(ADMIN_LIB_PATH)\idletskc.lib \
$(DS_LIB_PATH)\sys003.lib \
$(DS_LIB_PATH)\randlibn.lib \
$(DS_LIB_PATH)\lsaudll.lib \
$(DS_LIB_PATH)\appmgmt.lib \
$(DS_LIB_PATH)\winsafer.lib \
$(DS_LIB_PATH)\accsrc.lib \
$(BASE_LIB_PATH)\wmiclnt.lib \
$(BASE_LIB_PATH)\winreg.lib \
$(BASE_LIB_PATH)\svcctrl.lib \
$(SDK_LIB_PATH)\wintrust.lib \
$(BASE_LIB_PATH)\wow64reg.lib \
$(DS_LIB_PATH)\rsa32.lib \
$(SDK_LIB_PATH)\elfapi.lib
TARGETLIBS= \
$(DS_LIB_PATH)\lsacomm.lib \
$(DS_LIB_PATH)\seclogon_c.lib \
$(BASE_LIB_PATH)\sclib.lib \
$(BASE_LIB_PATH)\localreg.lib \
$(BASE_LIB_PATH)\perflib.lib \
$(BASE_LIB_PATH)\regconn.lib \
$(BASE_LIB_PATH)\wrlib.lib \
$(SDK_LIB_PATH)\kernl32p.lib \
$(SDK_LIB_PATH)\rpcrt4.lib \
$(SDK_LIB_PATH)\rpcndr.lib \
$(SDK_LIB_PATH)\rpcutil.lib \
$(SDK_LIB_PATH)\secur32.lib \
$(SDK_LIB_PATH)\winspool.lib
INCLUDES=\
$(DS_INC_PATH); \
$(WINDOWS_INC_PATH);\
$(BASE_INC_PATH);\
$(NET_INC_PATH);\
$(TERMSRV_INC_PATH); \
$(DS_INC_PATH)\crypto;
!ifdef TEST_BUILD_EXPONENT
! if "$(TEST_BUILD_EXPONENT)" == "$(TEST_BUILD_EXPONENT:0x=)"
! error TEST_BUILD_EXPONENT value must start with 0x
! endif
C_DEFINES=$(C_DEFINES) -DTEST_BUILD_EXPONENT=$(TEST_BUILD_EXPONENT)
!endif
# Turn this on before shipping.
# !if "" == "$(OFFICIAL_BUILD_MACHINE)"
# If this isn't an official build lab, allow unsigned CSPs.
# C_DEFINES=$(C_DEFINES) -DPROMISCUOUS_ADVAPI
# !endif
# Don't allow both Enigma and Vaultsign to be enabled
!if "1" == "$(ENIGMA)"
! if "1" == "$(VAULTSIGN)"
! error Both Enigma and VaultSign are defined in the build environment
! endif
!endif
!if "1" != "$(ENIGMA)"
! if "1" != "$(VAULTSIGN)"
# No signing flag is set, so allows unsigned CSP's
C_DEFINES=$(C_DEFINES) -DPROMISCUOUS_ADVAPI
! else
# VAULTSIGN is set so binplace a marker to flag this case
MISCFILES=advapi_vaultsign.txt
! endif
!else
# ENIGMA is set so binplace a marker to flag this case
MISCFILES=advapi_enigma.txt
!endif
C_DEFINES=$(C_DEFINES) -D_ADVAPI32_ -DNTCRYPTO
# Be sure to build with VaultSign for shipping binaries!
!if "1" != "$(VAULTSIGN)"
C_DEFINES=$(C_DEFINES) -DMS_INTERNAL_KEY
!endif
USE_NTDLL=1
PASS0_SOURCEDIR=$(O)
PASS0_HEADERDIR=$(O)
SOURCES= \
advapi32.rc \
win31evt.mc \
init.c \
eventapi.c \
pnpapi.c \
security.c \
username.c \
win31io.c \
group32.c \
group16.c \
isuni.c \
logon32.c \
cryptapi.c \
regdat16.c \
cseclogn.cxx \
efs.c \
sddl.c \
termutil.c \
mschapp.c
UMTYPE=console
OPTIONAL_UMTEST=tuser
#
# We need to build a private advapi32 library
NTTARGETFILES=$(O)\advapip.lib
PASS1_PUBLISH=\
{$(O)\advapi32.lib=$(SDK_LIB_PATH)\advapi32.lib} \
{$(O)\advapip.lib=$(SDK_LIB_PATH)\advapip.lib}
DELAYLOAD=secur32.dll;wintrust.dll
DLOAD_ERROR_HANDLER=kernel32