130 lines
3 KiB
Plaintext
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
|
|
|