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