Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

195 lines
4.8 KiB

##########################################################################
#
# Shell DLL Makefile
# Microsoft Confidential
# Copyright (C) Microsoft Corporation 1991
# All Rights Reserved.
#
##########################################################################
!ifdef NTMAKEENV
#
# Build using BUILD.EXE (Do not edit this section of this file, edit SOURCES)
#
!INCLUDE $(NTMAKEENV)\makefile.def
!else # NTMAKEENV
#
# Build using NMAKE.EXE
#
RES_DIR=..
PRIVINC=shellprv
ROOT=..\..\..\..
DLLBASE=PREFBASE
!ifdef VERDIR
ROOT=..\$(ROOT)
WIN32=TRUE
!else
VERSIONLIST=debug retail
!endif
NAME=shell32
RESNAME=shell2.res
DEFNAME=shell232.def
RCNAME=shell232.rc
RCVNAME=shell2.rcv
RCFLAGS=$(RCFLAGS) -DWIN32
###############################
###############################L32FLAGS=$(L32FLAGS) /FIXED
###############################
!ifndef ILINK
!if "$(VERDIR)" == "retail"
L32FLAGS=$(L32FLAGS) /ORDER:@..\shelldll.ord
!endif
!endif
CFLAGS=$(CFLAGS) -Gy
DLLENTRY = LibMain
## MYWIN32S=1
!IFDEF MYWIN32S
CFLAGS = $(CFLAGS) -DWIN32S
W32SYS = w32sysh
!ENDIF
WATSON=1
!IFDEF WATSON
CFLAGS = $(CFLAGS) -DWATSON
RFLAGS = -DWATSON
!ENDIF
!ifndef NOFILESYNC
# By default, the briefcase is enabled now
CFLAGS=$(CFLAGS) -DSYNC_BRIEFCASE
RCFLAGS=$(RCFLAGS) -DSYNC_BRIEFCASE
!endif
# Note that no segment is specified; each object will go in its own segment
#-------------------------------------------------------------------------
# WIN32 object files and libraries
#-------------------------------------------------------------------------
#CFLAGS=$(CFLAGS)
#RCFLAGS=$(RCFLAGS)
#
# list all .cpp files here, they will use a different precompiled header
# file than all the .c files.
#
#CPPOBJS=fstream.obj
MISCOBJ0=fstream.obj shlunimp.obj
PCHOBJ0=defxicon.obj newmenu.obj defcm.obj fsmenu.obj defviewx.obj idmk.obj idlist.obj idldata.obj rdrag.obj
PCHOBJ1= \
binder.obj link.obj exec.obj ole2dup.obj version.obj \
fileop.obj \
shlexec.obj shlexec2.obj shlink.obj lnktrack.obj \
path.obj debug.obj \
cstrings.obj shguid.obj
MISCOBJ2=shl1632.obj shl3216.obj
PCHOBJ2=init.obj
PCHOBJ3=restart.obj mulprsht.obj fileicon.obj rundlg.obj filetbl.obj \
smrttile.obj proxypg.obj psxa.obj \
pickicon.obj expenv.obj extract.obj
PCHOBJ4=msgbox.obj commobj.obj \
stream.obj fsnotify.obj \
futil.obj os.obj util.obj
PCHOBJ5=copy.obj copyhook.obj dragdrop.obj lvutil.obj undo.obj bitbuck.obj \
reglist.obj
PCHOBJ6=control.obj control1.obj cplobj.obj \
printer.obj printer1.obj printobj.obj prqwnd.obj prtprop.obj \
prcache.obj wcommobj.obj commui.obj
PCHOBJ7=drivesx.obj idldrop.obj \
ultrootx.obj netviewx.obj shitemid.obj fstreex.obj fsassoc.obj\
shlnot.obj shprsht.obj drawpie.obj regitms.obj viewcomm.obj
PCHOBJ8=docfindx.obj docfind2.obj netfind.obj \
grepfind.obj grepqmt.obj grepsrch.obj grepstrs.obj
PCHOBJ9=rundll32.obj defclsf.obj help.obj \
clsobj.obj defext.obj shlobjs.obj ole2dup2.obj malloc.obj \
oledrag.obj viewer.obj about.obj ole2def.obj bookmk.obj hash.obj
STATOBJ0=shlguid.obj
# Note that VERSION needs to come before KERNEL32 because VerLanguageName is
# also exported from KERNEL32, but is not implemented
# WARNING:: Dont blindly add libs here as every ... app will pull those in!
LIB0= user32.lib kernel32.lib gdi32.lib comctl32.lib advapi32.lib libcmt.lib
LIB1= uuid.lib
#-------------------------------------------------------------------------
BUILDDLL=TRUE
!include $(ROOT)\win\core\shell\common.mk
!ifdef VERDIR
!include $(SRCDIR)\depend.mk
$(RESNAME): $(SRCDIR)\defview.h $(SRCDIR)\ids.h
THUNKDIR=$(ROOT)\win\core\thunk
shlguid.obj: $(PRIVINC).pch
set OLDCL=%CL%
set CL=$(CL:-Zi =)
$(CC) -Yu$(PRIVINC).h -Fo$*.obj $(SRCDIR)\shguid.c
set CL=%OLDCL%
shl1632.obj: $(THUNKDIR)\$(VERDIR)\$(@B).asm $(THUNKDIR)\$(@B).inc $(THUNKDIR)\fltthk.inc
set OLDML=%ML%
set OLDINCLUDE=%INCLUDE%
set ML=$(AFLAGS) -DIS_32 -nologo -W2 -Zd -c -Cx -DMASM6 -DDEBLEVEL=1 $(DDEBUG) -Gc
set INCLUDE=$(THUNKDIR);$(INCLUDE)
mlx -Fo$@ $(THUNKDIR)\$(VERDIR)\$(@B).asm
set ML=%OLDML%
set INCLUDE=%OLDINCLUDE%
shl3216.obj: $(THUNKDIR)\$(VERDIR)\$(@B).asm
set OLDML=%ML%
set OLDINCLUDE=%INCLUDE%
set ML=$(AFLAGS) -DIS_32 -nologo -W2 -Zd -c -Cx -DMASM6 -Gc
set INCLUDE=$(THUNKDIR);$(INCLUDE)
mlx -Fo$@ $(THUNKDIR)\$(VERDIR)\$(@B).asm
set ML=%OLDML%
set INCLUDE=%OLDINCLUDE%
AFLAGS32 = -Gz -Zp4 -DSTD_CALL -DM4
init32.obj: ..\$(@B).asm
set OLDML=%ML%
set ML=$(AFLAGS) $(AFLAGS32)
set INCLUDE=$(THUNKDIR);$(INCLUDE)
mlx -Fo$@ ..\$(@B).asm
set ML=%OLDML%
!else #VERDIR
!if "$(BUILD)" != "clean"
all: rundll
rundll:
cd rundll
nmake BUILD="$(BUILD)"
cd ..
!endif
!endif # !VERDIR
!endif # NTMAKEENV