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.

181 lines
3.9 KiB

  1. !if "$(NTMAKEENV)" != ""
  2. !INCLUDE $(NTMAKEENV)\makefile.def
  3. !else
  4. #===========================================================================;
  5. #
  6. # LANGPLAY -- Movie Player Application that handles multiple langauge tracks
  7. #
  8. #############################################################################
  9. #
  10. # THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  11. # KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  12. # IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  13. # PURPOSE.
  14. #
  15. # Copyright (c) 1992, 1993 Microsoft Corporation. All Rights Reserved.
  16. #
  17. #############################################################################
  18. # to make a NON-DEBUG build, type the following line:
  19. # nmake DEBUG=NO
  20. # just typing 'nmake' will build a DEBUG build
  21. #
  22. # You can also set the environment variable DEBUG to NO
  23. #
  24. #===========================================================================;
  25. TARGETNAME = langplay
  26. TARGETEXT = exe
  27. TARGETTYPE = WINAPP # WINAPP[ST], WINDLL
  28. TARGETMODEL = MEDIUM # SMALL, MEDIUM
  29. TARGETAPI = -DWIN31 # -DWIN30, -DWIN31, -DWIN4
  30. TARGETWARN = -W3
  31. ########## Platform dependence ############
  32. WIN16 = 1
  33. TARGETOPTZ = -Ox -G2sw $(TARGETWARN)
  34. !if ("$(TARGETMODEL)" != "SMALL") && ("$(TARGETMODEL)" != "MEDIUM")
  35. !error Invalid TARGETMODEL environment variable: specify SMALL or MEDIUM!
  36. !endif
  37. #### Default executable and flag declarations ####
  38. CVARS = -DWIN16 -DSTRICT $(TARGETAPI)
  39. CC = cl
  40. CFLAGS = -c -Zp $(TARGETOPTZ)
  41. RC = rc
  42. RFLAGS =
  43. LN = link
  44. LFLAGS = /NOPACKC/NOD/NOE/MAP/AL:16/ONERROR:NOEXE
  45. LB = lib
  46. LBFLAGS =
  47. CRFLAGS =
  48. !if "$(DEBUG)" != "NO"
  49. CVARS = $(CVARS) -DDEBUG
  50. CFLAGS = $(CFLAGS) -Zid
  51. LFLAGS = $(LFLAGS) /CO/LI
  52. !endif
  53. ############ Standard library stuff ##############
  54. #
  55. # WINLFLAGS:
  56. WINLIBSBASE = libw commdlg shell mmsystem vfw
  57. !if "$(TARGETMODEL)" == "SMALL"
  58. WINLIBSST = slibcew.lib $(WINLIBSBASE)
  59. WINLIBSMT =
  60. WINLIBSDLL = sdllcew.lib $(WINLIBSBASE)
  61. !endif
  62. !if "$(TARGETMODEL)" == "MEDIUM"
  63. WINLIBSST = mlibcew.lib $(WINLIBSBASE)
  64. WINLIBSMT =
  65. WINLIBSDLL = mdllcew.lib $(WINLIBSBASE)
  66. !endif
  67. #
  68. #
  69. #
  70. #
  71. !if ("$(TARGETTYPE)" == "WINAPPST") || ("$(TARGETTYPE)" == "WINAPP")
  72. !if "$(TARGETMODEL)" == "SMALL"
  73. CFLAGS = $(CFLAGS) -AS
  74. !endif
  75. !if "$(TARGETMODEL)" == "MEDIUM"
  76. CFLAGS = $(CFLAGS) -AM
  77. !endif
  78. CVARS = $(CVARS)
  79. WINLIBS = $(WINLIBSST)
  80. !endif
  81. !if "$(TARGETTYPE)" == "WINDLL"
  82. !if "$(TARGETMODEL)" == "SMALL"
  83. CFLAGS = $(CFLAGS) -Asnw
  84. !endif
  85. !if "$(TARGETMODEL)" == "MEDIUM"
  86. CFLAGS = $(CFLAGS) -Alnw
  87. !endif
  88. CVARS = $(CVARS) -D_DLL -D_WINDLL
  89. WINLIBS = $(WINLIBSDLL)
  90. !endif
  91. TARGETLIBS = $(WINLIBS)
  92. TARGETDEF = $(TARGETNAME)16
  93. ############ Goals and objects ############
  94. GOALS = $(TARGETNAME).$(TARGETEXT)
  95. OBJ1 = $(TARGETNAME).obj
  96. goal: $(GOALS)
  97. @echo ***** Finished building $(TARGETNAME).$(TARGETEXT) *****
  98. ################ Build rules ##############
  99. $(TARGETNAME).$(TARGETEXT): $(OBJ1) $(TARGETNAME).res $(TARGETNAME).def
  100. $(LN) @<<
  101. $(LFLAGS) $(WINLFLAGS)+
  102. $(OBJ1),
  103. $(@R).$(TARGETEXT),
  104. $(@R).map,
  105. $(TARGETLIBS),
  106. $(TARGETNAME).def
  107. <<
  108. mapsym $(@R).map
  109. $(RC) -t -31 $(TARGETNAME).res $(@R).$(TARGETEXT)
  110. $(TARGETNAME).res: $(TARGETNAME).rc $(TARGETNAME).ico $(TARGETNAME).h
  111. $(RC) -r $(RFLAGS) $(CVARS) -Fo $@ $(TARGETNAME).rc
  112. $(TARGETNAME).obj: $$(@B).c $(TARGETNAME).h
  113. $(CC) $(CFLAGS) $(CVARS) -Fo$@ $(@B).c
  114. ############### Clean ###############
  115. clean:
  116. @echo y >y.zyz
  117. @del *.exe <y.zyz >nul
  118. @del *.res <y.zyz >nul
  119. @del *.map <y.zyz >nul
  120. @del *.sym <y.zyz >nul
  121. @del *.obj <y.zyz >nul
  122. @del *.pdb <y.zyz >nul
  123. @del y.zyz
  124. @echo ***** Finished cleaning $(TARGETNAME) *****
  125. copy:
  126. copy $(TARGETNAME).$(TARGETEXT) ..\..\bin
  127. copy $(TARGETNAME).sym ..\..\bin
  128. !endif