Leaked source code of windows server 2003
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.

198 lines
3.4 KiB

  1. #
  2. # 16- or 32-bit compilation. Put WIN32=TRUE on nmake command
  3. # line for 32-bit. (e.g. nmake /f make32c WIN32=TRUE)
  4. #
  5. #
  6. !if "$(WIN32)" != "TRUE"
  7. WIN16 =TRUE
  8. !endif
  9. #
  10. # Debug options
  11. #
  12. !if ("$(DEBUG)" == "retail")
  13. DEF =
  14. CDEBUG =$(DEF)
  15. ADEBUG =$(DEF)
  16. RDEBUG =$(DEF)
  17. L16DEBUG=
  18. L32DEBUG=-debug:none
  19. !else
  20. !if ("$(DEBUG)" == "debug")
  21. DEF =-DRDEBUG
  22. CDEBUG =$(DEF)
  23. ADEBUG =$(DEF)
  24. RDEBUG =$(DEF)
  25. L16DEBUG=
  26. L32DEBUG=-debug:none
  27. !else
  28. DEF =-DDEBUG
  29. CDEBUG =$(DEF)
  30. ADEBUG =-Zi $(DEF)
  31. RDEBUG =$(DEF)
  32. L16DEBUG=/CO/LI
  33. L32DEBUG=-debug:full -debugtype:cv
  34. !endif
  35. !endif
  36. #
  37. # Strict type checking option
  38. #
  39. #
  40. !if "$(STRICT)" == "NO"
  41. ZSTRICT =
  42. !else
  43. !if "$(STRICT)" == "FULL"
  44. ZSTRICT = -DSTRICT -Tp
  45. !else
  46. ZSTRICT = -DSTRICT
  47. !endif
  48. !endif
  49. #
  50. #
  51. #
  52. BASE = mciavi
  53. !if "$(WIN32)" == "TRUE"
  54. NAME =$(BASE)32
  55. DEFFILE =$(BASE)32
  56. EXT =dll
  57. !else
  58. NAME =$(BASE)
  59. DEFFILE = $(BASE)
  60. EXT =drv
  61. !endif
  62. #ROOT =..\..\..
  63. #
  64. #
  65. #
  66. !if "$(WIN32)" == "TRUE"
  67. OBJ1 = avidraw.obj aviplay.obj avisound.obj avitask.obj aviopen.obj common.obj mciup32.obj
  68. OBJ2 = config.obj device.obj drvproc.obj graphic.obj window.obj fullproc.obj aviread.obj drawproc.obj profile.obj init.obj
  69. !else
  70. OBJ1 = libinit.obj graph16.obj mciup16.obj init.obj
  71. OBJ2 =
  72. !endif
  73. !if ("$(DEBUG)" == "retail") || ("$(DEBUG)" == "debug")
  74. OBJDEB =
  75. !else
  76. OBJDEB =
  77. !endif
  78. OBJS = $(OBJ1) $(OBJ2) $(OBJDEB)
  79. #
  80. #
  81. #
  82. !if "$(WIN32)" == "TRUE"
  83. LIBS =gdi32.lib user32.lib kernel32.lib winmm.lib msvfw32.lib advapi32.lib crtdll.lib
  84. !else
  85. LIBS =libw.lib mdllcew.lib mmsystem.lib
  86. !endif
  87. #
  88. #
  89. #
  90. GOALS =$(PBIN)\$(NAME).$(EXT) $(PBIN)\$(NAME).sym $(PLIB)\$(NAME).lib $(PINC)\mciavi.H
  91. #
  92. #
  93. #
  94. !if "$(WIN32)" == "TRUE"
  95. #
  96. # Chicago 32-bit build
  97. #
  98. CFLAGS =-Oxt -Gf -Zp -D_X86_ -D_MT -DWIN32 -DWINVER=0x0400 -DWIN4 $(CDEBUG) -I$(LRES) -Fo$@
  99. AFLAGS =$(ADEBUG)
  100. RCFLAGS =-v -DWIN32 -DWINVER=0x400 $(RDEBUG)
  101. L32FLAGS=$(L32DEBUG)
  102. IS_32 =TRUE
  103. WANT_C832 = TRUE
  104. !else
  105. #
  106. # Chicago 16-bit build
  107. #
  108. CFLAGS =-GD -Oxwt -Alnw -DWINVER=0x400 -DWIN4 $(CDEBUG) -I$(PVER) -Fo$@
  109. #CFLAGS =-GD -Oxwt -Alnw -DWINVER=0x30a $(CDEBUG) -I$(PVER) -Fo$@
  110. AFLAGS =-D?MEDIUM -D?QUIET $(ADEBUG)
  111. RCFLAGS =-z $(RDEBUG) -v -DWINVER=0X400
  112. #RCFLAGS =-z $(RDEBUG) -v -DWINVER=0X30a
  113. L16FLAGS=/AL:16/NOD $(L16DEBUG)
  114. RESFLAGS=
  115. IS_16 =TRUE
  116. !endif
  117. WANT_MASM61 = TRUE
  118. IS_OEM =TRUE
  119. !include $(ROOT)\build\project.mk
  120. #
  121. #
  122. #
  123. # Dependencies
  124. #
  125. #
  126. #
  127. !ifdef WIN32
  128. SEG=
  129. !else
  130. SEG= -NT S
  131. !endif
  132. #
  133. # Chicago thunk module
  134. #
  135. types.thk: ..\..\$$@
  136. copy %s $@
  137. mciup.asm: types.thk ..\..\mciup.thk
  138. thunk -t mciup -o mciup.asm ..\..\mciup.thk
  139. mciup16.obj: mciup.asm
  140. ml -c -DIS_16 -W3 -Zi -nologo -Fo mciup16.obj mciup.asm
  141. mciup32.obj: mciup.asm
  142. ml -c -DIS_32 -W3 -Zi -nologo -Fo mciup32.obj mciup.asm
  143. #
  144. #
  145. #
  146. $(BASE).res: ..\..\$$(@B).rc ..\..\$$(@B).h \
  147. $(PVER)\verinfo.h $(PVER)\verinfo.ver
  148. @$(RC) $(RCFLAGS) -fo$@ -I$(PVER) -I..\.. ..\..\$(@B).rc
  149. $(NAME).$(EXT) $(NAME).map: $(OBJS) $(BASE).res ..\..\$(DEFFILE).def
  150. !if "$(WIN32)" == "TRUE"
  151. @$(LINK32) $(L32FLAGS) @<<
  152. -out:$(@B).$(EXT)
  153. -machine:$(OS)
  154. -subsystem:windows,4.0
  155. -dll
  156. -entry:DllEntryPoint
  157. -base:0x40010000
  158. -map:$(@B).map
  159. -def:..\..\$(DEFFILE).def
  160. $(BASE).res
  161. $(LIBS)
  162. $(OBJS)
  163. <<
  164. !else
  165. $(LINK16) @<<
  166. $(OBJ1) +
  167. $(OBJ2) +
  168. $(OBJDEB),
  169. $(@B).$(EXT) $(L16FLAGS),
  170. $(@B).map,
  171. $(LIBS),
  172. ..\..\$(DEFFILE).def
  173. <<
  174. $(RC) $(RESFLAGS) $(BASE).res $*.$(EXT)
  175. !endif