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.

130 lines
3.3 KiB

  1. !INCLUDE ..\makefile.inc
  2. WINLIB=..\lib
  3. INCLUDE=-I..\inc -I..\..\inc
  4. INCLUDES=..\inc;..\..\inc;$(SDK_INC_PATH)
  5. !if !$(FREEBUILD)
  6. CDEBUG=-Odi -Zped
  7. LDEBUG=/LI/MAP
  8. MDEBUG=-Zd
  9. !else
  10. CDEBUG=-Oas -Zpe
  11. !endif
  12. CC=$(CL)
  13. MASM=$(ASM) $(INCLUDE)
  14. LIBRARIAN=lib16
  15. RCFLAGS=$(INCLUDE)
  16. # with stack probes, medium model (need to set 'memM = 1' before
  17. # including normal cmacros in .A files as well, and link to m*.lib)
  18. #STDOPTS=-W4 -u -c -AMnw -PLM -G2w -Od -Zped
  19. # without stack probes, small model (normal build)
  20. STDOPTS=-W4 -u -c -Asnw -PLM -G2sw
  21. #Need for international version stamping
  22. !IFDEF INTL
  23. .rc{$(DEST)}.res:
  24. $(RC) $(RCFLAGS) -DINTL -r -fo$* $(*F)
  25. !ELSE
  26. .rc.res:
  27. $(RC) $(RCFLAGS) -r -fo$* $(*F)
  28. !ENDIF
  29. .c{$(DEST)}.obj:
  30. set INCLUDE=$(INCLUDES)
  31. $(CC) $(STDOPTS) $(CDEBUG) -Fo$* $(*F).c
  32. .asm{$(DEST)}.obj:
  33. $(MASM) $(MDEBUG) $(*F).asm,$*;
  34. #international mods
  35. #note INTL_SRC, and LANG are external macros set by international
  36. !IFNDEF LANG
  37. RES_DIR=.\messages\usa
  38. !ELSE
  39. RES_DIR=$(INTL_SRC)\$(LANG)\sdk\commdlg
  40. EXE_DIR=$(INTL_EXE)
  41. !ENDIF
  42. !IFNDEF LANG
  43. all: $(DEST)\commdlg.dll
  44. !ELSE
  45. all: $(DEST)\commdlg.$(LANG)
  46. !ENDIF
  47. clean: cleanup all
  48. cleanup:
  49. cd $(DEST)
  50. if exist *.res del *.res
  51. if exist sz.src del sz.src
  52. if exist *.obj del *.obj
  53. if exist stripped.def del stripped.def
  54. if exist *.sym del *.sym
  55. if exist *.map del *.map
  56. if exist *.dll del *.dll
  57. if exist *.lib del *.lib
  58. cd ..\..\..
  59. sz.src: $(RES_DIR)\sz.src
  60. copy $(RES_DIR)\sz.src
  61. commdlg.res: commdlg.rc fileopen.dlg prnsetup.dlg \
  62. font.dlg findtext.dlg color.dlg colordlg.h sz.src commdlg.rcv \
  63. ..\inc\common.ver
  64. $(DEST)\commdlg.obj: commdlg.asm ..\..\inc\wowcmdlg.inc
  65. $(MASM) commdlg.asm $@;
  66. $(DEST)\start.obj: start.asm
  67. $(MASM) start.asm $@;
  68. $(DEST)\dlgs.obj: dlgs.c xlib.h dlgs.h
  69. set INCLUDE=$(INCLUDES)
  70. $(CC) $(STDOPTS) -Fo$@ -NT _DLGS dlgs.c
  71. $(DEST)\parse.obj: parse.c parse.h dlgs.h
  72. set INCLUDE=$(INCLUDES)
  73. $(CC) $(STDOPTS) -Fo$@ -NT _FILEOPEN parse.c
  74. $(DEST)\font.obj: font.c xlib.h dlgs.h
  75. set INCLUDE=$(INCLUDES)
  76. $(CC) $(STDOPTS) -Fo$@ -NT _FONT font.c
  77. !IFDEF LANG
  78. $(DEST)\commdlg.$(LANG): commdlg.res
  79. copy $(INTL_EXE)\commdlg.dll commdlg.$(LANG)
  80. $(RC) -30 -t commdlg.res commdlg.$(LANG)
  81. !ENDIF
  82. $(DEST)\commdlg.dll: $(DEST)\commdlg.obj \
  83. $(DEST)\dlgs.obj \
  84. $(DEST)\start.obj \
  85. $(DEST)\parse.obj \
  86. $(DEST)\font.obj \
  87. $(DEST)\commdlg.res \
  88. commdlg.def
  89. $(LINK) @<<
  90. $(DEST)\start $(DEST)\commdlg $(DEST)\parse $(DEST)\font $(DEST)\dlgs
  91. $(DEST)\commdlg.dll/align:16/map
  92. $(DEST)\commdlg.map $(LDEBUG)
  93. $(WINLIB)\$(ALT_PROJECT)\libw $(WINLIB)\libh $(WINLIB)\snocrtd /NODEFAULT
  94. commdlg.def
  95. <<
  96. mapsym -o $(DEST)\commdlg.sym $(DEST)\commdlg
  97. mkpublic commdlg.def $(DEST)\stripped.def
  98. implib $(DEST)\commdlg.lib $(DEST)\stripped.def
  99. $(RC) -30 -t $(DEST)\commdlg.res $(DEST)\commdlg.dll
  100. binplace -o $(ALT_PROJECT_TARGET) $(DEST)\commdlg.dll $(DEST)\commdlg.map $(DEST)\commdlg.sym