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
|
||
|
|