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

  1. # USER16 makefile
  2. #
  3. # Copyright (c) 1991, Microsoft Corporation
  4. #
  5. # History:
  6. # 26-Jan-1991 Jeff Parsons (jeffpar)
  7. # Created.
  8. #
  9. !INCLUDE ..\makefile.inc
  10. !IFNDEF ALT_PROJECT
  11. ALT_PROJECT=USA
  12. ALT_PROJECT_TARGET=.
  13. DEFINES=
  14. !ENDIF
  15. # WOW matches 32bit WINVER value this was built for.
  16. DEFINES = -DWOW=0x500 -DBUILDDLL
  17. !if "$(MVDMFLAGS)" != ""
  18. DEFINES = $(DEFINES) $(MVDMFLAGS)
  19. !endif
  20. OBJ386 =
  21. DEFINES = $(DEFINES) $(DBCS_FLAGS)
  22. AOBJ = -Mx -t $(DEFINES) $(INCS)
  23. CW16 = -ASw -G2cs -W2 $(DEFINES)
  24. CW16L = $(CW16) -B1 c1l.exe -B2 c2l.exe -B3 c3l.exe
  25. LINKOPTS = /map /align:16 /batch /onerror:noexe
  26. !if !$(FREEBUILD)
  27. AOBJ = $(AOBJ) -Zd
  28. CW16 = $(CW16) /Odi /Zdp -DWOWDBG
  29. LINKOPTS = $(LINKOPTS) /LI
  30. !else
  31. CW16 = $(CW16) /Os /Zp
  32. !endif
  33. W16LIBS = ..\lib\sdllcew.lib
  34. 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
  35. 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
  36. 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
  37. 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
  38. OBJ1l = user.obj user1a.obj user2.obj user2a.obj user3.obj user3a.obj user4.obj user95.obj winrect.obj
  39. OBJ2l = layer.obj msglayer.obj init.obj rmload.obj wsprintf.obj wclass.obj fastres.obj wowcomm.obj usercli.obj
  40. OBJ3l = wsphelp.obj net.obj winnet.obj inuserds.obj intds.obj drvr.obj drvrrare.obj winq.obj debug.obj
  41. OBJ4l = winlang.obj winstr.obj winstack.obj helpcall.obj winhook.obj winmisc2.obj rmcreate.obj fmtmsg.obj
  42. .asm{$(DEST)\}.obj:
  43. $(ASM) $(AOBJ) $<,$*;
  44. .asm.obj:
  45. $(ASM) $(AOBJ) $*;
  46. .asm.lst:
  47. $(ASM) $(AOBJ) -l $*,nul,$*.lst;
  48. .c{$(DEST)\}.obj:
  49. set include=$(ENVINCS);$(INCLUDE)
  50. $(CL) -c $(CW16) /Fo$*.obj $<
  51. .c.obj:
  52. set include=$(ENVINCS);$(INCLUDE)
  53. $(CL) -c $(CW16) $*.c
  54. .c.lst:
  55. set include=$(ENVINCS);$(INCLUDE)
  56. $(CL) -c $(CW16) -Fonul -Fc$*.lst $*.c
  57. .def.lib:
  58. implib $*.lib $*.def
  59. {$(DEST)\}.map{$(DEST)\}.sym:
  60. cd $(DEST)
  61. mapsym $(*F).map
  62. cd $(MAKEDIR)
  63. .rc{$(DEST)\}.res:
  64. set include=$(ENVINCS);$(INCLUDE)
  65. $(RC) -r -fo $*.res -D_$(ALT_PROJECT)_ $<
  66. # Check to see if we're being invoked from ntuser\client
  67. !IFDEF NTUSERK
  68. !UNDEF TUKWILA
  69. !ENDIF
  70. all: $(DEST)\user.exe $(DEST)\user.sym $(DEST)\user.map
  71. -binplace -O $(ALT_PROJECT_TARGET) $(DEST)\user.exe
  72. -binplace -O $(ALT_PROJECT_TARGET) $(DEST)\user.sym
  73. -binplace -O $(ALT_PROJECT_TARGET) $(DEST)\user.map
  74. clean: cleanup all
  75. cleanup:
  76. if exist $(DEST)\*.lrf del $(DEST)\*.lrf
  77. if exist $(DEST)\*.obj del $(DEST)\*.obj
  78. if exist $(DEST)\*.exe del $(DEST)\*.exe
  79. if exist $(DEST)\*.map del $(DEST)\*.map
  80. if exist $(DEST)\*.sym del $(DEST)\*.sym
  81. if exist $(DEST)\*.res del $(DEST)\*.res
  82. $(DEST)\debug.obj: debug.c user.h
  83. $(DEST)\drvr.obj: drvr.c user.h
  84. $(DEST)\drvrrare.obj: drvrrare.c user.h
  85. $(DEST)\fastres.obj: fastres.c user.h
  86. $(DEST)\helpcall.obj: helpcall.c user.h
  87. $(DEST)\init.obj: init.c user.h
  88. $(DEST)\intds.obj: intds.asm user.inc
  89. $(DEST)\inuserds.obj: inuserds.c user.h
  90. $(DEST)\layer.obj: layer.asm user.inc ..\inc\layer.inc user.api
  91. $(DEST)\msglayer.obj: msglayer.asm user.inc ..\inc\layer.inc messages.api msglayer.inc
  92. $(DEST)\net.obj: net.c user.h netdlg.h ..\inc\winnet.h
  93. $(DEST)\rmcreate.obj: rmcreate.c user.h
  94. $(DEST)\rmload.obj: rmload.c user.h ..\inc\multires.h
  95. $(DEST)\user.obj: user.asm user.inc ..\..\inc\wow.inc ..\..\inc\wowusr.inc
  96. $(DEST)\user1a.obj: user1a.asm user.inc ..\..\inc\wow.inc ..\..\inc\wowusr.inc
  97. $(DEST)\user2.obj: user2.asm user.inc ..\..\inc\wow.inc ..\..\inc\wowusr.inc
  98. $(DEST)\user2a.obj: user2a.asm user.inc ..\..\inc\wow.inc ..\..\inc\wowusr.inc
  99. $(DEST)\user3.obj: user3.asm user.inc ..\..\inc\wow.inc ..\..\inc\wowusr.inc
  100. $(DEST)\user3a.obj: user3a.asm user.inc ..\..\inc\wow.inc ..\..\inc\wowusr.inc
  101. $(DEST)\user4.obj: user4.asm user.inc ..\..\inc\wow.inc ..\..\inc\wowusr.inc
  102. $(DEST)\user95.obj: user95.asm user.inc ..\..\inc\wow.inc ..\..\inc\wowusr.inc
  103. $(DEST)\usercli.obj: usercli.asm user.inc ..\..\inc\wow.inc ..\..\inc\wowusr.inc
  104. $(DEST)\wclass.obj: wclass.asm
  105. $(DEST)\winhook.obj: winhook.asm user.inc ..\inc\newexe.inc
  106. $(DEST)\winlang.obj: winlang.asm user.inc
  107. $(DEST)\winmisc2.obj: winmisc2.asm user.inc
  108. $(DEST)\winrect.obj: winrect.asm user.inc ..\..\inc\wow.inc ..\..\inc\wowusr.inc
  109. $(DEST)\winq.obj: winq.asm user.inc
  110. $(DEST)\winstack.obj: winstack.asm user.inc
  111. $(DEST)\winstr.obj: winstr.asm user.inc
  112. $(DEST)\winnet.obj: winnet.asm
  113. $(ASM) -DSEGNAME=TEXT $(AOBJ) $(@B).asm,$*;
  114. $(DEST)\wowcomm.obj: wowcomm.c ..\inc\windows.h ..\..\inc\wowcomm.h
  115. $(DEST)\wsphelp.obj: wsphelp.asm
  116. $(DEST)\wsprintf.obj: wsprintf.c ..\inc\windows.h ..\inc\winexp.h
  117. $(DEST)\fmtmsg.obj: fmtmsg.c user.h
  118. $(DEST)\user.res: user.rc user.rcv ..\inc\common.ver
  119. $(DEST)\user.sym: $(DEST)\user.map
  120. $(DEST)\userk.lrf: makefile.sub
  121. echo $(OBJ386l) $(OBJ1l)+>$(DEST)\userk.lrf
  122. echo $(OBJ2l)+>>$(DEST)\userk.lrf
  123. echo $(OBJ3l)+>>$(DEST)\userk.lrf
  124. echo $(OBJ4l)>>$(DEST)\userk.lrf
  125. echo user.exe>>$(DEST)\userk.lrf
  126. echo user.map $(LINKOPTS)>>$(DEST)\userk.lrf
  127. echo ..\..\..\..\lib\$(ALT_PROJECT)\libw.lib ..\..\..\..\lib\$(DEST)\system.lib /nod >>$(DEST)\userk.lrf
  128. echo ..\..\..\user;>>$(DEST)\userk.lrf
  129. $(DEST)\user.exe $(DEST)\user.map: $(OBJ1) $(OBJ2) $(OBJ3) $(OBJ4) $(DEST)\userk.lrf user.def $(DEST)\user.res $(OBJ386)
  130. cd $(DEST)
  131. $(LINK) @userk.lrf;
  132. $(RC) -t user.res user.exe
  133. cd ..\..\..