Source code of Windows XP (NT5)
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.
 
 
 
 
 
 

203 lines
5.7 KiB

# USER16 makefile
#
# Copyright (c) 1991, Microsoft Corporation
#
# History:
# 26-Jan-1991 Jeff Parsons (jeffpar)
# Created.
#
!INCLUDE ..\makefile.inc
!IFNDEF ALT_PROJECT
ALT_PROJECT=USA
ALT_PROJECT_TARGET=.
DEFINES=
!ENDIF
# WOW matches 32bit WINVER value this was built for.
DEFINES = -DWOW=0x500 -DBUILDDLL
!if "$(MVDMFLAGS)" != ""
DEFINES = $(DEFINES) $(MVDMFLAGS)
!endif
OBJ386 =
DEFINES = $(DEFINES) $(DBCS_FLAGS)
AOBJ = -Mx -t $(DEFINES) $(INCS)
CW16 = -ASw -G2cs -W2 $(DEFINES)
CW16L = $(CW16) -B1 c1l.exe -B2 c2l.exe -B3 c3l.exe
LINKOPTS = /map /align:16 /batch /onerror:noexe
!if !$(FREEBUILD)
AOBJ = $(AOBJ) -Zd
CW16 = $(CW16) /Odi /Zdp -DWOWDBG
LINKOPTS = $(LINKOPTS) /LI
!else
CW16 = $(CW16) /Os /Zp
!endif
W16LIBS = ..\lib\sdllcew.lib
OBJ1 = $(DEST)\user.obj $(DEST)\user1a.obj $(DEST)\user2.obj $(DEST)\user2a.obj $(DEST)\user3.obj $(DEST)\user3a.obj $(DEST)\user4.obj $(DEST)\user95.obj $(DEST)\winrect.obj
OBJ2 = $(DEST)\layer.obj $(DEST)\msglayer.obj $(DEST)\init.obj $(DEST)\rmload.obj $(DEST)\wsprintf.obj $(DEST)\wclass.obj $(DEST)\fastres.obj $(DEST)\wowcomm.obj $(DEST)\usercli.obj
OBJ3 = $(DEST)\wsphelp.obj $(DEST)\net.obj $(DEST)\winnet.obj $(DEST)\inuserds.obj $(DEST)\intds.obj $(DEST)\drvr.obj $(DEST)\drvrrare.obj $(DEST)\winq.obj $(DEST)\debug.obj
OBJ4 = $(DEST)\winlang.obj $(DEST)\winstr.obj $(DEST)\winstack.obj $(DEST)\helpcall.obj $(DEST)\winhook.obj $(DEST)\winmisc2.obj $(DEST)\rmcreate.obj $(DEST)\fmtmsg.obj
OBJ1l = user.obj user1a.obj user2.obj user2a.obj user3.obj user3a.obj user4.obj user95.obj winrect.obj
OBJ2l = layer.obj msglayer.obj init.obj rmload.obj wsprintf.obj wclass.obj fastres.obj wowcomm.obj usercli.obj
OBJ3l = wsphelp.obj net.obj winnet.obj inuserds.obj intds.obj drvr.obj drvrrare.obj winq.obj debug.obj
OBJ4l = winlang.obj winstr.obj winstack.obj helpcall.obj winhook.obj winmisc2.obj rmcreate.obj fmtmsg.obj
.asm{$(DEST)\}.obj:
$(ASM) $(AOBJ) $<,$*;
.asm.obj:
$(ASM) $(AOBJ) $*;
.asm.lst:
$(ASM) $(AOBJ) -l $*,nul,$*.lst;
.c{$(DEST)\}.obj:
set include=$(ENVINCS);$(INCLUDE)
$(CL) -c $(CW16) /Fo$*.obj $<
.c.obj:
set include=$(ENVINCS);$(INCLUDE)
$(CL) -c $(CW16) $*.c
.c.lst:
set include=$(ENVINCS);$(INCLUDE)
$(CL) -c $(CW16) -Fonul -Fc$*.lst $*.c
.def.lib:
implib $*.lib $*.def
{$(DEST)\}.map{$(DEST)\}.sym:
cd $(DEST)
mapsym $(*F).map
cd $(MAKEDIR)
.rc{$(DEST)\}.res:
set include=$(ENVINCS);$(INCLUDE)
$(RC) -r -fo $*.res -D_$(ALT_PROJECT)_ $<
# Check to see if we're being invoked from ntuser\client
!IFDEF NTUSERK
!UNDEF TUKWILA
!ENDIF
all: $(DEST)\user.exe $(DEST)\user.sym $(DEST)\user.map
-binplace -O $(ALT_PROJECT_TARGET) $(DEST)\user.exe
-binplace -O $(ALT_PROJECT_TARGET) $(DEST)\user.sym
-binplace -O $(ALT_PROJECT_TARGET) $(DEST)\user.map
clean: cleanup all
cleanup:
if exist $(DEST)\*.lrf del $(DEST)\*.lrf
if exist $(DEST)\*.obj del $(DEST)\*.obj
if exist $(DEST)\*.exe del $(DEST)\*.exe
if exist $(DEST)\*.map del $(DEST)\*.map
if exist $(DEST)\*.sym del $(DEST)\*.sym
if exist $(DEST)\*.res del $(DEST)\*.res
$(DEST)\debug.obj: debug.c user.h
$(DEST)\drvr.obj: drvr.c user.h
$(DEST)\drvrrare.obj: drvrrare.c user.h
$(DEST)\fastres.obj: fastres.c user.h
$(DEST)\helpcall.obj: helpcall.c user.h
$(DEST)\init.obj: init.c user.h
$(DEST)\intds.obj: intds.asm user.inc
$(DEST)\inuserds.obj: inuserds.c user.h
$(DEST)\layer.obj: layer.asm user.inc ..\inc\layer.inc user.api
$(DEST)\msglayer.obj: msglayer.asm user.inc ..\inc\layer.inc messages.api msglayer.inc
$(DEST)\net.obj: net.c user.h netdlg.h ..\inc\winnet.h
$(DEST)\rmcreate.obj: rmcreate.c user.h
$(DEST)\rmload.obj: rmload.c user.h ..\inc\multires.h
$(DEST)\user.obj: user.asm user.inc ..\..\inc\wow.inc ..\..\inc\wowusr.inc
$(DEST)\user1a.obj: user1a.asm user.inc ..\..\inc\wow.inc ..\..\inc\wowusr.inc
$(DEST)\user2.obj: user2.asm user.inc ..\..\inc\wow.inc ..\..\inc\wowusr.inc
$(DEST)\user2a.obj: user2a.asm user.inc ..\..\inc\wow.inc ..\..\inc\wowusr.inc
$(DEST)\user3.obj: user3.asm user.inc ..\..\inc\wow.inc ..\..\inc\wowusr.inc
$(DEST)\user3a.obj: user3a.asm user.inc ..\..\inc\wow.inc ..\..\inc\wowusr.inc
$(DEST)\user4.obj: user4.asm user.inc ..\..\inc\wow.inc ..\..\inc\wowusr.inc
$(DEST)\user95.obj: user95.asm user.inc ..\..\inc\wow.inc ..\..\inc\wowusr.inc
$(DEST)\usercli.obj: usercli.asm user.inc ..\..\inc\wow.inc ..\..\inc\wowusr.inc
$(DEST)\wclass.obj: wclass.asm
$(DEST)\winhook.obj: winhook.asm user.inc ..\inc\newexe.inc
$(DEST)\winlang.obj: winlang.asm user.inc
$(DEST)\winmisc2.obj: winmisc2.asm user.inc
$(DEST)\winrect.obj: winrect.asm user.inc ..\..\inc\wow.inc ..\..\inc\wowusr.inc
$(DEST)\winq.obj: winq.asm user.inc
$(DEST)\winstack.obj: winstack.asm user.inc
$(DEST)\winstr.obj: winstr.asm user.inc
$(DEST)\winnet.obj: winnet.asm
$(ASM) -DSEGNAME=TEXT $(AOBJ) $(@B).asm,$*;
$(DEST)\wowcomm.obj: wowcomm.c ..\inc\windows.h ..\..\inc\wowcomm.h
$(DEST)\wsphelp.obj: wsphelp.asm
$(DEST)\wsprintf.obj: wsprintf.c ..\inc\windows.h ..\inc\winexp.h
$(DEST)\fmtmsg.obj: fmtmsg.c user.h
$(DEST)\user.res: user.rc user.rcv ..\inc\common.ver
$(DEST)\user.sym: $(DEST)\user.map
$(DEST)\userk.lrf: makefile.sub
echo $(OBJ386l) $(OBJ1l)+>$(DEST)\userk.lrf
echo $(OBJ2l)+>>$(DEST)\userk.lrf
echo $(OBJ3l)+>>$(DEST)\userk.lrf
echo $(OBJ4l)>>$(DEST)\userk.lrf
echo user.exe>>$(DEST)\userk.lrf
echo user.map $(LINKOPTS)>>$(DEST)\userk.lrf
echo ..\..\..\..\lib\$(ALT_PROJECT)\libw.lib ..\..\..\..\lib\$(DEST)\system.lib /nod >>$(DEST)\userk.lrf
echo ..\..\..\user;>>$(DEST)\userk.lrf
$(DEST)\user.exe $(DEST)\user.map: $(OBJ1) $(OBJ2) $(OBJ3) $(OBJ4) $(DEST)\userk.lrf user.def $(DEST)\user.res $(OBJ386)
cd $(DEST)
$(LINK) @userk.lrf;
$(RC) -t user.res user.exe
cd ..\..\..