129 lines
4.8 KiB
Plaintext
129 lines
4.8 KiB
Plaintext
CCSHELL_DIR = $(PROJECT_ROOT)
|
|
|
|
TARGET_BOTH = 1
|
|
NOT_UNICODE = 1
|
|
BUILD_PRIVLIB = 1
|
|
|
|
# This directory needs to be build last
|
|
SYNCHRONIZE_DRAIN=1
|
|
|
|
!include $(CCSHELL_DIR)\shlwapi\shlwapi.inc
|
|
SOURCES_USED = $(SOURCES_USED) $(CCSHELL_DIR)\shlwapi\shlwapi.inc
|
|
|
|
TARGETNAME = shlwapi
|
|
TARGETPATH = obj
|
|
TARGETTYPE = DYNLINK
|
|
|
|
USE_MSVCRT = 1
|
|
#VERIFY_LC = 1
|
|
LC_PATH = $(PROJECT_ROOT)\lcinf
|
|
|
|
|
|
LINKER_FLAGS = $(LINKER_FLAGS) -ignore:4217
|
|
|
|
PASS1_PUBLISH= \
|
|
{$(O)\shlwapi.lib=$(SDK_LIB_PATH)\shlwapi.lib} \
|
|
{$(O)\shlwapip.lib=$(SHELL_LIB_PATH)\shlwapip.lib}
|
|
|
|
TARGETLIBS = \
|
|
$(SDK_LIB_PATH)\uuid.lib \
|
|
$(SDK_LIB_PATH)\htmlhelp.lib \
|
|
$(CCSHELL_DIR)\lib\$(O)\shguid.lib \
|
|
$(CCSHELL_DIR)\lib\$(O)\shguidp.lib \
|
|
$(DS_LIB_PATH)\rsa32.lib \
|
|
$(SDK_LIB_PATH)\ole32.lib \
|
|
$(WINDOWS_LIB_PATH)\apphelp.lib \
|
|
$(CCSHELL_DIR)\ext\mlang\dll\$(O)\mlang.lib \
|
|
$(SHELL_LIB_PATH)\comctlp.lib \
|
|
$(SDK_LIB_PATH)\comctl32.lib \
|
|
!if $(386)
|
|
$(SDK_LIB_DEST)\chicago\i386\mpr.lib \
|
|
!endif
|
|
$(SDK_LIB_PATH)\oleaut32.lib \
|
|
$(SDK_LIB_PATH)\msi.lib \
|
|
$(SDK_LIB_PATH)\setupapi.lib \
|
|
$(SDK_LIB_PATH)\userenv.lib
|
|
|
|
# Kernel32, Gdi32, User32, and Advapi32 go here because we forward to them.
|
|
LINKLIBS = ..\srca\$(O)\shlwansi.lib \
|
|
..\srcw\$(O)\shlwuni.lib \
|
|
..\srccpp\$(O)\srccpp.lib \
|
|
..\nt5api\$(O)\apithk.lib \
|
|
$(CCSHELL_DIR)\lib\$(O)\stock4.lib \
|
|
$(BASE_LIB_PATH)\dload.lib
|
|
|
|
#
|
|
# Since we use linker-forwarding for wrappers on IA64, we need the modules
|
|
# as LINKLIBS. On i386 we implement them, so we can get away with using TARGETLIBS.
|
|
#
|
|
# for DOJ compliance, don't link to private shell libs (shell32p.lib, comctlp.lib)
|
|
#
|
|
!if $(386)
|
|
TARGETLIBS = $(TARGETLIBS) \
|
|
$(SDK_LIB_PATH)\gdi32.lib \
|
|
$(SDK_LIB_PATH)\kernel32.lib \
|
|
$(SDK_LIB_PATH)\user32.lib \
|
|
$(SDK_LIB_PATH)\advapi32.lib \
|
|
$(SDK_LIB_PATH)\shell32.lib \
|
|
$(SHELL_LIB_PATH)\ieguidp.lib \
|
|
$(SDK_LIB_PATH)\winmm.lib \
|
|
$(SDK_LIB_PATH)\mpr.lib \
|
|
$(SDK_LIB_PATH)\version.lib \
|
|
$(SDK_LIB_PATH)\comdlg32.lib
|
|
!else
|
|
LINKLIBS = $(LINKLIBS) \
|
|
$(SDK_LIB_PATH)\gdi32.lib \
|
|
$(SDK_LIB_PATH)\kernel32.lib \
|
|
$(SDK_LIB_PATH)\user32.lib \
|
|
$(SDK_LIB_PATH)\advapi32.lib \
|
|
$(SDK_LIB_PATH)\shell32.lib \
|
|
$(SHELL_LIB_PATH)\ieguidp.lib \
|
|
$(SDK_LIB_PATH)\winmm.lib \
|
|
$(NET_LIB_PATH)\mprp.lib \
|
|
$(SDK_LIB_PATH)\version.lib \
|
|
$(SDK_LIB_PATH)\comdlg32.lib
|
|
!endif
|
|
|
|
# be careful here-- shlwapi has to run downlevel. Don't add anything to
|
|
# the delayload line that you absolutely depend on having downlevel!
|
|
DELAYLOAD = ole32.dll;oleaut32.dll;mlang.dll;comctl32.dll;shell32.dll;\
|
|
winmm.dll;mpr.dll;version.dll;msi.dll;comdlg32.dll;\
|
|
userenv.dll;setupapi.dll;apphelp.dll
|
|
|
|
DLOAD_ERROR_HANDLER = shlwapi
|
|
|
|
# we want to force dlcheck.exe to run on shlwapi even though we don't use kerne32
|
|
# as our delayload handler
|
|
DLOAD_FORCE_ERROR_CHECK = 1
|
|
|
|
DLLDEF = $(O)\shlwapi.def
|
|
|
|
DLLENTRY = DllMain
|
|
|
|
PRIVDEF = $(O)\shlwapip.def
|
|
PRIVDEFSRC = ..\shlwapi.src
|
|
PRIVLIB = shlwapip.lib
|
|
|
|
# Sort files alphabetically
|
|
SOURCES = \
|
|
..\shlwapi.rc \
|
|
..\color.c \
|
|
..\debug.c \
|
|
..\dll.c \
|
|
..\fda.c \
|
|
..\menu.c \
|
|
..\ole2dup.c \
|
|
..\palette.c \
|
|
..\reg.c \
|
|
..\shared.c \
|
|
..\shellacl.c \
|
|
..\shperf.c \
|
|
..\strings.c \
|
|
..\strtype.c \
|
|
..\uastrfnc.c \
|
|
..\uniansi.c \
|
|
..\wsprintf.c \
|
|
..\mirror.c
|
|
|
|
PRECOMPILED_INCLUDE = ..\priv.h
|