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.
205 lines
6.0 KiB
205 lines
6.0 KiB
TARGETNAME=syssetup
|
|
TARGETPATH=obj
|
|
PASS1_PUBLISH={$(O)\$(TARGETNAME).lib=$(SDK_LIB_PATH)\$(TARGETNAME).lib}
|
|
TARGETTYPE=DYNLINK
|
|
|
|
DLLENTRY=_DllMainCRTStartup
|
|
#USE_MSVCRT=1
|
|
USE_LIBCMT=1
|
|
|
|
PASS0_HEADERDIR=$(O)
|
|
PASS0_SOURCEDIR=$(O)
|
|
|
|
!include $(PROJECT_ROOT)\headless\lib\sources.inc
|
|
INCLUDES=\
|
|
..\inc;\
|
|
..\ocmanage\inc;\
|
|
..\..\pchealth\sr\inc;\
|
|
$(NET_INC_PATH);\
|
|
$(WINDOWS_INC_PATH);\
|
|
$(SHELL_INC_PATH);\
|
|
$(BASE_INC_PATH);\
|
|
$(DS_INC_PATH);\
|
|
$(DDK_INC_PATH); \
|
|
$(DRIVERS_INC_PATH); \
|
|
$(PROJECT_ROOT)\ntos\inc; \
|
|
$(BASE_SAC_UMODE_C_API_INC);
|
|
|
|
C_DEFINES=-DUNICODE -D_OCM
|
|
USE_SETUP_PERF=1
|
|
!if "$(USE_SETUP_PERF)" == "1"
|
|
C_DEFINES=$(C_DEFINES) -D_SETUP_PERF_ -D_ENABLE_SAC_CHANNEL_LOGGING_
|
|
|
|
!endif
|
|
|
|
!include $(PROJECT_ROOT)\ntsetup\sources.inc
|
|
|
|
SOURCES=applyacl.c \
|
|
afpnp.c \
|
|
arc.c \
|
|
asrbkup.c \
|
|
asrclus.c \
|
|
asrrest.c \
|
|
billbrd.c \
|
|
clasinst.c \
|
|
clasprop.c \
|
|
cmdline.c \
|
|
copy.c \
|
|
crypto.c \
|
|
ctls.c \
|
|
debug.c \
|
|
dll.c \
|
|
dynupdt.c \
|
|
external.c \
|
|
extprog.c \
|
|
fileops.c \
|
|
inifile.c \
|
|
infcache.c \
|
|
intl.c \
|
|
log.c \
|
|
mainwind.c \
|
|
misc.c \
|
|
msg.mc \
|
|
names.c \
|
|
netdde.c \
|
|
ocm.c \
|
|
oobe.c \
|
|
optdirs.c \
|
|
pid.c \
|
|
preinst.c \
|
|
printer.c \
|
|
printupg.c \
|
|
ps2ppg.c \
|
|
registry.c \
|
|
repair.c \
|
|
resource.c \
|
|
sacchan.c \
|
|
security.c \
|
|
services.c \
|
|
setupasr.c \
|
|
sif.c \
|
|
storinst.c \
|
|
strtmenu.c \
|
|
syspnp.c \
|
|
syssec.c \
|
|
syssetup.c \
|
|
unattend.c \
|
|
userdiff.c \
|
|
vdm.c \
|
|
virtmem.c \
|
|
watch.c \
|
|
welcome.c \
|
|
wizard.c \
|
|
syssetup.rc \
|
|
utils.cpp \
|
|
_setup_browser.cxx
|
|
|
|
MIGSHARED_ROOT=$(PROJECT_ROOT)\ntsetup\migshared
|
|
MIGSHARED_BIN=$(MIGSHARED_ROOT)\$(O)
|
|
PCH_LIB_PATHA=$(MIGSHARED_ROOT)\pcha\$(O)\pcha.lib
|
|
PCH_LIB_PATHW=$(MIGSHARED_ROOT)\pchw\$(O)\pchw.lib
|
|
MIGSHARED_PRECOMPILED_LIBS=$(PCH_LIB_PATHA) $(PCH_LIB_PATHW)
|
|
|
|
HWDB_BIN=$(PROJECT_ROOT)\ntsetup\hwdb\lib\$(O)
|
|
|
|
|
|
LINKLIBS=$(PROJECT_LIB_PATH)\pnpsif.lib \
|
|
$(PROJECT_LIB_PATH)\pencrypt.lib\
|
|
..\excppkg\$(O)\excppkg.lib \
|
|
..\hwlog\$(O)\hwlog.lib \
|
|
$(HWDB_BIN)\hwdblib.lib \
|
|
$(MIGSHARED_PRECOMPILED_LIBS) \
|
|
$(MIGSHARED_BIN)\migutil.lib \
|
|
$(BASE_LIB_PATH)\spapip.lib \
|
|
|
|
# IMPORANT: spapip.lib is a superset of setupapi.lib and sputils?.lib. However,
|
|
# the initialization is in the DllMain function, so we include stub
|
|
# implementations of pSetupInitializeUtils and pSetupUninitializeUtils
|
|
# in syssetup.c.
|
|
|
|
|
|
TARGETLIBS=\
|
|
$(SDK_LIB_PATH)\advapi32.lib \
|
|
$(SDK_LIB_PATH)\comctl32.lib \
|
|
$(SDK_LIB_PATH)\crypt32.lib \
|
|
$(SDK_LIB_PATH)\dnsapi.lib \
|
|
$(SDK_LIB_PATH)\gdi32.lib \
|
|
$(SDK_LIB_PATH)\imagehlp.lib \
|
|
$(SDK_LIB_PATH)\kernel32.lib \
|
|
$(SDK_LIB_PATH)\kernl32p.lib \
|
|
$(SDK_LIB_PATH)\ole32.lib \
|
|
$(SDK_LIB_PATH)\powrprof.lib \
|
|
$(DS_LIB_PATH)\dpapi.lib \
|
|
$(SDK_LIB_PATH)\samlib.lib \
|
|
$(BASE_LIB_PATH)\spapip.lib \
|
|
$(BASE_LIB_PATH)\wow64reg.lib \
|
|
$(SDK_LIB_PATH)\user32.lib \
|
|
$(SDK_LIB_PATH)\userenv.lib \
|
|
$(SDK_LIB_PATH)\version.lib \
|
|
$(SDK_LIB_PATH)\winspool.lib \
|
|
$(SDK_LIB_PATH)\sfc.lib \
|
|
$(SDK_LIB_PATH)\sfcfiles.lib \
|
|
$(SDK_LIB_PATH)\shlwapi.lib \
|
|
$(PROJECT_ROOT)\ntsetup\ocmanage\$(O)\ocmanage.lib \
|
|
$(PROJECT_ROOT)\ntsetup\setuplog\unicode\$(O)\setuplgu.lib \
|
|
$(SDK_LIB_PATH)\cryptui.lib \
|
|
$(SDK_LIB_PATH)\rpcutil.lib \
|
|
$(SDK_LIB_PATH)\netapi32.lib \
|
|
$(SDK_LIB_PATH)\rpcrt4.lib \
|
|
$(DS_LIB_PATH)\rsa32.lib \
|
|
$(PROJECT_LIB_PATH)\encrypt.lib \
|
|
$(PROJECT_ROOT)\ntsetup\pidgen\lib\trial\$(O)\pidgen.lib \
|
|
$(SDK_LIB_PATH)\imm32.lib \
|
|
$(SDK_LIB_PATH)\wintrust.lib \
|
|
$(BASE_SAC_UMODE_C_API_LIB)
|
|
|
|
UMRES=$(O)\syssetup.res
|
|
|
|
DELAYLOAD=\
|
|
comctl32.dll; \
|
|
crypt32.dll; \
|
|
dnsapi.dll; \
|
|
imagehlp.dll; \
|
|
ocmanage.dll; \
|
|
ole32.dll; \
|
|
pidgen.dll; \
|
|
samlib.dll; \
|
|
userenv.dll; \
|
|
winspool.drv
|
|
|
|
!if $(WIN64)
|
|
DELAYLOAD=\
|
|
$(DELAYLOAD); \
|
|
shlwapi.dll
|
|
!endif
|
|
|
|
DLOAD_ERROR_HANDLER=kernel32.dll
|
|
|
|
PRECOMPILED_INCLUDE=setupp.h
|
|
PRECOMPILED_PCH=setupp.pch
|
|
PRECOMPILED_OBJ=setupp.obj
|
|
|
|
OPTIONAL_UMTEST=x
|
|
UMTYPE=windows
|
|
UMENTRY=wmain
|
|
UMLIBS=$(SDK_LIB_PATH)\syssetup.lib \
|
|
$(BASE_LIB_PATH)\spapip.lib \
|
|
$(SDK_LIB_PATH)\comctl32.lib
|
|
|
|
#
|
|
# This is an odd use of Sxs.
|
|
# Setup registers .dlls that depends on gdiplus.dll, which is in the
|
|
# system default context, but not (any longer) in system32.
|
|
# The system default context for the setup.exe process is created before
|
|
# we actually install the system default assembly. Creating the system
|
|
# default context silently fails if the system default assembly has
|
|
# not yet been installed, and is simply retried for every subsequent
|
|
# process create. "system default" is also known as "system compatible".
|
|
#
|
|
SXS_ASSEMBLY_LANGUAGE_INDEPENDENT=1
|
|
SXS_MANIFEST=SysSetup.Manifest
|
|
SXS_ASSEMBLY_NAME=Microsoft.Windows.Setup
|
|
SXS_NO_BINPLACE=1
|
|
SXS_MANIFEST_IN_RESOURCES=1
|
|
SXS_MANIFEST_RESOURCE_ID=1234
|
|
C_DEFINES=$(C_DEFINES) -DSXS_MANIFEST_RESOURCE_ID=MAKEINTRESOURCEW($(SXS_MANIFEST_RESOURCE_ID))
|