165 lines
3.4 KiB
Makefile
165 lines
3.4 KiB
Makefile
##########################################################################
|
|
#
|
|
# Microsoft Confidential
|
|
# Copyright (C) Microsoft Corporation 1991-96
|
|
# All Rights Reserved.
|
|
#
|
|
##########################################################################
|
|
|
|
!ifdef NTMAKEENV # Prevent NT's build.exe from executing this makefile
|
|
|
|
clean :
|
|
|
|
!else # NTMAKEENV
|
|
|
|
|
|
RES_DIR = ..
|
|
PRIVINC = priv
|
|
ROOT = ..\..
|
|
CCSHELL_DIR = $(ROOT)\shell
|
|
|
|
# Define VCDEBUG to build a version that can be debugged under VC++
|
|
|
|
!if (defined(VCDEBUG) && ("$(VERDIR)" == "retail")) || !defined(VCDEBUG)
|
|
DLLBASE = PREFBASE
|
|
!endif
|
|
|
|
!ifdef VERDIR
|
|
|
|
ROOT = ..\$(ROOT)
|
|
WIN32 = TRUE
|
|
CLEANLIST = *.pdb *.rlb *.rxp
|
|
|
|
!else
|
|
|
|
VERSIONLIST = debug retail
|
|
!if "$(BUILD)" == "clean"
|
|
VERSIONLIST = $(VERSIONLIST) debug retail
|
|
!endif
|
|
|
|
!endif # VERDIR
|
|
|
|
BUILDDLL = TRUE
|
|
NAME = shlwapi
|
|
RESNAME = shlwapi.res
|
|
RCNAME = shlwapi.rc
|
|
RCVNAME = shlwapi.rcv
|
|
DLLENTRY = DllMain
|
|
|
|
!if 0
|
|
!ifndef ILINK
|
|
L32FLAGS = /ORDER:@..\..\shlwapi.ord
|
|
!endif
|
|
!endif
|
|
|
|
CFLAGS = $(CFLAGS) -Gy
|
|
!ifdef DBCS
|
|
CFLAGS = $(CFLAGS) -DFE_IME
|
|
!endif
|
|
|
|
AFLAGS = $(AFLAGS)
|
|
|
|
!ifdef LIST
|
|
MAKELIST = TRUE
|
|
!endif
|
|
|
|
PCHOBJ1 = dll.obj debug.obj strings.obj reg.obj url.obj
|
|
PCHOBJ0 = strtable.obj reginst.obj inf.obj infcmd.obj eproc.obj convert.obj
|
|
|
|
MISCOBJ0 = patha.obj pathw.obj
|
|
|
|
#
|
|
# As you may or may not know, the order of this lib list is significant
|
|
# in two ways.
|
|
# (1) If there are duplicates, we pick the one from the lib on left.
|
|
# (2) Rellocation tables for the right most libs are placed at the lower
|
|
# address.
|
|
#
|
|
LIB0 = kernel32.lib gdi32.lib user32.lib advapi32.lib
|
|
!if defined(VERDIR) && "$(VERDIR)" == "debug"
|
|
LIB1 = $(CCSHELL_DIR)\lib\$(VERDIR)\stocklib.lib
|
|
!endif
|
|
!if "$(VERDIR)" == "debug"
|
|
LIB0 = $(LIB0) libcmt.lib
|
|
!endif
|
|
|
|
#========================================================================
|
|
|
|
!include $(ROOT)\shell\common.mk
|
|
|
|
!ifdef VERDIR
|
|
|
|
!if !exist($(CCSHELL_DIR)\lib\$(VERDIR)\stocklib.lib)
|
|
!message ****
|
|
!message **** Warning: You need to ssync -ur ccshell\lib
|
|
!message ****
|
|
!error
|
|
!endif
|
|
|
|
$(SRCDIR)\shlwapi.def: $(SRCDIR)\shlwapi.src
|
|
cl -EP $? > $@
|
|
|
|
$(SRCDIR)\patha.c: $(SRCDIR)\path.c
|
|
echo #undef UNICODE > $@
|
|
type $? >> $@
|
|
|
|
$(SRCDIR)\pathw.c: $(SRCDIR)\path.c
|
|
echo #define UNICODE > $@
|
|
type $? >> $@
|
|
|
|
#
|
|
# Rule to generate source file dependencies
|
|
#
|
|
|
|
$(SRCDIR)\depend.mk::
|
|
!if "$(BUILD)" == "depend"
|
|
echo # > $@
|
|
echo # Warning: This file is generated automatically. >> $@
|
|
echo # >> $@
|
|
echo. >> $@
|
|
$(INCLUDES) $(INCLUDES_SWITCHES) @<< | sed "s/pch.obj/pch.obj .\\priv.pch/" >> $@
|
|
-D..\..
|
|
pch.c
|
|
<<
|
|
$(INCLUDES) $(INCLUDES_SWITCHES) @<< >> $@
|
|
-D..\..
|
|
-npriv.h ..\..\*.c ..\..\*.asm
|
|
<<
|
|
!if exist($(SRCDIR)\$(NAME).rc)
|
|
$(INCLUDES) $(INCLUDES_SWITCHES) -C=acl -C=dlg -C=mnu -C=rc -C=stb -C=ver -sres @<< >> $@
|
|
-D..\..
|
|
$(NAME).rc
|
|
<<
|
|
!endif
|
|
!else
|
|
@echo Use "nmake BUILD=depend" to build dependencies.
|
|
!endif
|
|
|
|
|
|
!else
|
|
|
|
!if "$(BUILD)" != "clean"
|
|
all: debug retail
|
|
|
|
!if "$(BUILD)" == "debug"
|
|
default: debug
|
|
!endif
|
|
|
|
!if "$(BUILD)" == "retail"
|
|
default: retail
|
|
!endif
|
|
|
|
!endif
|
|
|
|
.w.h:
|
|
$(DEVROOT)\tools\binw\hsplit -o $*.h $(*)p.h $*.w
|
|
|
|
|
|
.pef.def:
|
|
$(DEVROOT)\tools\binw\hsplit -o $*.def $(*)p.def $*.pef
|
|
|
|
|
|
!endif # !VERDIR
|
|
|
|
!endif # NTMAKEENV
|