Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

129 lines
3.0 KiB

  1. TARGETNAME=advapi32
  2. TARGETPATH=obj
  3. TARGETTYPE=DYNLINK
  4. DLLENTRY=DllInitialize
  5. DLLDEF=$(O)\advapi32.def
  6. LINKLIBS= \
  7. $(ADMIN_LIB_PATH)\idletskc.lib \
  8. $(DS_LIB_PATH)\sys003.lib \
  9. $(DS_LIB_PATH)\randlibn.lib \
  10. $(DS_LIB_PATH)\lsaudll.lib \
  11. $(DS_LIB_PATH)\appmgmt.lib \
  12. $(DS_LIB_PATH)\winsafer.lib \
  13. $(DS_LIB_PATH)\accsrc.lib \
  14. $(BASE_LIB_PATH)\wmiclnt.lib \
  15. $(BASE_LIB_PATH)\winreg.lib \
  16. $(BASE_LIB_PATH)\svcctrl.lib \
  17. $(SDK_LIB_PATH)\wintrust.lib \
  18. $(BASE_LIB_PATH)\wow64reg.lib \
  19. $(DS_LIB_PATH)\rsa32.lib \
  20. $(SDK_LIB_PATH)\elfapi.lib
  21. TARGETLIBS= \
  22. $(DS_LIB_PATH)\lsacomm.lib \
  23. $(DS_LIB_PATH)\seclogon_c.lib \
  24. $(BASE_LIB_PATH)\sclib.lib \
  25. $(BASE_LIB_PATH)\localreg.lib \
  26. $(BASE_LIB_PATH)\perflib.lib \
  27. $(BASE_LIB_PATH)\regconn.lib \
  28. $(BASE_LIB_PATH)\wrlib.lib \
  29. $(SDK_LIB_PATH)\kernl32p.lib \
  30. $(SDK_LIB_PATH)\rpcrt4.lib \
  31. $(SDK_LIB_PATH)\rpcndr.lib \
  32. $(SDK_LIB_PATH)\rpcutil.lib \
  33. $(SDK_LIB_PATH)\secur32.lib \
  34. $(SDK_LIB_PATH)\winspool.lib
  35. INCLUDES=\
  36. $(DS_INC_PATH); \
  37. $(WINDOWS_INC_PATH);\
  38. $(BASE_INC_PATH);\
  39. $(NET_INC_PATH);\
  40. $(TERMSRV_INC_PATH); \
  41. $(DS_INC_PATH)\crypto;
  42. !ifdef TEST_BUILD_EXPONENT
  43. ! if "$(TEST_BUILD_EXPONENT)" == "$(TEST_BUILD_EXPONENT:0x=)"
  44. ! error TEST_BUILD_EXPONENT value must start with 0x
  45. ! endif
  46. C_DEFINES=$(C_DEFINES) -DTEST_BUILD_EXPONENT=$(TEST_BUILD_EXPONENT)
  47. !endif
  48. # Turn this on before shipping.
  49. # !if "" == "$(OFFICIAL_BUILD_MACHINE)"
  50. # If this isn't an official build lab, allow unsigned CSPs.
  51. # C_DEFINES=$(C_DEFINES) -DPROMISCUOUS_ADVAPI
  52. # !endif
  53. # Don't allow both Enigma and Vaultsign to be enabled
  54. !if "1" == "$(ENIGMA)"
  55. ! if "1" == "$(VAULTSIGN)"
  56. ! error Both Enigma and VaultSign are defined in the build environment
  57. ! endif
  58. !endif
  59. !if "1" != "$(ENIGMA)"
  60. ! if "1" != "$(VAULTSIGN)"
  61. # No signing flag is set, so allows unsigned CSP's
  62. C_DEFINES=$(C_DEFINES) -DPROMISCUOUS_ADVAPI
  63. ! else
  64. # VAULTSIGN is set so binplace a marker to flag this case
  65. MISCFILES=advapi_vaultsign.txt
  66. ! endif
  67. !else
  68. # ENIGMA is set so binplace a marker to flag this case
  69. MISCFILES=advapi_enigma.txt
  70. !endif
  71. C_DEFINES=$(C_DEFINES) -D_ADVAPI32_ -DNTCRYPTO
  72. # Be sure to build with VaultSign for shipping binaries!
  73. !if "1" != "$(VAULTSIGN)"
  74. C_DEFINES=$(C_DEFINES) -DMS_INTERNAL_KEY
  75. !endif
  76. USE_NTDLL=1
  77. PASS0_SOURCEDIR=$(O)
  78. PASS0_HEADERDIR=$(O)
  79. SOURCES= \
  80. advapi32.rc \
  81. win31evt.mc \
  82. init.c \
  83. eventapi.c \
  84. pnpapi.c \
  85. security.c \
  86. username.c \
  87. win31io.c \
  88. group32.c \
  89. group16.c \
  90. isuni.c \
  91. logon32.c \
  92. cryptapi.c \
  93. regdat16.c \
  94. cseclogn.cxx \
  95. efs.c \
  96. sddl.c \
  97. termutil.c \
  98. mschapp.c
  99. UMTYPE=console
  100. OPTIONAL_UMTEST=tuser
  101. #
  102. # We need to build a private advapi32 library
  103. NTTARGETFILES=$(O)\advapip.lib
  104. PASS1_PUBLISH=\
  105. {$(O)\advapi32.lib=$(SDK_LIB_PATH)\advapi32.lib} \
  106. {$(O)\advapip.lib=$(SDK_LIB_PATH)\advapip.lib}
  107. DELAYLOAD=secur32.dll;wintrust.dll
  108. DLOAD_ERROR_HANDLER=kernel32