########################################################################## # # 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