home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgLangD.iso / C++-7 / DISK4 / SAMPLES / CPPTUTOR / OOD / OODEMO.MA$ / OODEMO
Encoding:
Text File  |  1992-03-08  |  6.7 KB  |  358 lines

  1. ORIGIN = PWB
  2. ORIGIN_VER = 2.0
  3. PROJ = oodemo
  4. PROJFILE = oodemo.mak
  5. DEBUG = 0
  6.  
  7. BSCMAKE  = bscmake
  8. SBRPACK  = sbrpack
  9. NMAKEBSC1  = set
  10. NMAKEBSC2  = nmake
  11. CC  = cl
  12. CFLAGS_G  = /W2 /BATCH /FR$*.sbr
  13. CFLAGS_D  = /f /Zi /Od
  14. CFLAGS_R  = /f- /Ot /Oi /Ol /Oe /Og /Gs
  15. CXX  = cl
  16. CXXFLAGS_G  = /W3 /BATCH /FR$*.sbr
  17. CXXFLAGS_D  = /f /Od /Zi
  18. CXXFLAGS_R  = /f- /Ot /Ol /Og /Oe /Oi /Gs
  19. MAPFILE_D  = NUL
  20. MAPFILE_R  = NUL
  21. LFLAGS_G  = /NOI /BATCH /ONERROR:NOEXE
  22. LFLAGS_D  = /CO /FAR /PACKC
  23. LFLAGS_R  = /EXE /FAR /PACKC
  24. LINKER    = link
  25. ILINK  = ilink
  26. LRF  = echo > NUL
  27. ILFLAGS  = /a /e
  28. BRFLAGS  =  /o $(PROJ).bsc
  29. BROWSE    = 1
  30. PACK_SBRS  = 1
  31.  
  32. FILES  = PRIM.CPP MISC.CPP EVENT.CPP LIST.CPP INTERACT.CPP TEXTWIN.CPP\
  33.     LIFEWIN.CPP WINMGR.CPP OODEMO.CPP
  34. OBJS  = PRIM.obj MISC.obj EVENT.obj LIST.obj INTERACT.obj TEXTWIN.obj\
  35.     LIFEWIN.obj WINMGR.obj OODEMO.obj
  36. SBRS  = PRIM.sbr MISC.sbr EVENT.sbr LIST.sbr INTERACT.sbr TEXTWIN.sbr\
  37.     LIFEWIN.sbr WINMGR.sbr OODEMO.sbr
  38.  
  39. all: $(PROJ).exe
  40.  
  41. .SUFFIXES:
  42. .SUFFIXES:
  43. .SUFFIXES: .sbr .obj .cpp
  44.  
  45. PRIM.obj : PRIM.CPP prim.h
  46. !IF $(DEBUG)
  47.     @$(CXX) @<<$(PROJ).rsp
  48. /c $(CXXFLAGS_G)
  49. $(CXXFLAGS_D) /FoPRIM.obj PRIM.CPP
  50. <<
  51. !ELSE
  52.     @$(CXX) @<<$(PROJ).rsp
  53. /c $(CXXFLAGS_G)
  54. $(CXXFLAGS_R) /FoPRIM.obj PRIM.CPP
  55. <<
  56. !ENDIF
  57.  
  58. PRIM.sbr : PRIM.CPP prim.h
  59. !IF $(DEBUG)
  60.     @$(CXX) @<<$(PROJ).rsp
  61. /Zs $(CXXFLAGS_G)
  62. $(CXXFLAGS_D) /FRPRIM.sbr PRIM.CPP
  63. <<
  64. !ELSE
  65.     @$(CXX) @<<$(PROJ).rsp
  66. /Zs $(CXXFLAGS_G)
  67. $(CXXFLAGS_R) /FRPRIM.sbr PRIM.CPP
  68. <<
  69. !ENDIF
  70.  
  71. MISC.obj : MISC.CPP misc.h prim.h
  72. !IF $(DEBUG)
  73.     @$(CXX) @<<$(PROJ).rsp
  74. /c $(CXXFLAGS_G)
  75. $(CXXFLAGS_D) /FoMISC.obj MISC.CPP
  76. <<
  77. !ELSE
  78.     @$(CXX) @<<$(PROJ).rsp
  79. /c $(CXXFLAGS_G)
  80. $(CXXFLAGS_R) /FoMISC.obj MISC.CPP
  81. <<
  82. !ENDIF
  83.  
  84. MISC.sbr : MISC.CPP misc.h prim.h
  85. !IF $(DEBUG)
  86.     @$(CXX) @<<$(PROJ).rsp
  87. /Zs $(CXXFLAGS_G)
  88. $(CXXFLAGS_D) /FRMISC.sbr MISC.CPP
  89. <<
  90. !ELSE
  91.     @$(CXX) @<<$(PROJ).rsp
  92. /Zs $(CXXFLAGS_G)
  93. $(CXXFLAGS_R) /FRMISC.sbr MISC.CPP
  94. <<
  95. !ENDIF
  96.  
  97. EVENT.obj : EVENT.CPP event.h misc.h prim.h
  98. !IF $(DEBUG)
  99.     @$(CXX) @<<$(PROJ).rsp
  100. /c $(CXXFLAGS_G)
  101. $(CXXFLAGS_D) /FoEVENT.obj EVENT.CPP
  102. <<
  103. !ELSE
  104.     @$(CXX) @<<$(PROJ).rsp
  105. /c $(CXXFLAGS_G)
  106. $(CXXFLAGS_R) /FoEVENT.obj EVENT.CPP
  107. <<
  108. !ENDIF
  109.  
  110. EVENT.sbr : EVENT.CPP event.h misc.h prim.h
  111. !IF $(DEBUG)
  112.     @$(CXX) @<<$(PROJ).rsp
  113. /Zs $(CXXFLAGS_G)
  114. $(CXXFLAGS_D) /FREVENT.sbr EVENT.CPP
  115. <<
  116. !ELSE
  117.     @$(CXX) @<<$(PROJ).rsp
  118. /Zs $(CXXFLAGS_G)
  119. $(CXXFLAGS_R) /FREVENT.sbr EVENT.CPP
  120. <<
  121. !ENDIF
  122.  
  123. LIST.obj : LIST.CPP list.h
  124. !IF $(DEBUG)
  125.     @$(CXX) @<<$(PROJ).rsp
  126. /c $(CXXFLAGS_G)
  127. $(CXXFLAGS_D) /FoLIST.obj LIST.CPP
  128. <<
  129. !ELSE
  130.     @$(CXX) @<<$(PROJ).rsp
  131. /c $(CXXFLAGS_G)
  132. $(CXXFLAGS_R) /FoLIST.obj LIST.CPP
  133. <<
  134. !ENDIF
  135.  
  136. LIST.sbr : LIST.CPP list.h
  137. !IF $(DEBUG)
  138.     @$(CXX) @<<$(PROJ).rsp
  139. /Zs $(CXXFLAGS_G)
  140. $(CXXFLAGS_D) /FRLIST.sbr LIST.CPP
  141. <<
  142. !ELSE
  143.     @$(CXX) @<<$(PROJ).rsp
  144. /Zs $(CXXFLAGS_G)
  145. $(CXXFLAGS_R) /FRLIST.sbr LIST.CPP
  146. <<
  147. !ENDIF
  148.  
  149. INTERACT.obj : INTERACT.CPP interact.h list.h event.h misc.h prim.h
  150. !IF $(DEBUG)
  151.     @$(CXX) @<<$(PROJ).rsp
  152. /c $(CXXFLAGS_G)
  153. $(CXXFLAGS_D) /FoINTERACT.obj INTERACT.CPP
  154. <<
  155. !ELSE
  156.     @$(CXX) @<<$(PROJ).rsp
  157. /c $(CXXFLAGS_G)
  158. $(CXXFLAGS_R) /FoINTERACT.obj INTERACT.CPP
  159. <<
  160. !ENDIF
  161.  
  162. INTERACT.sbr : INTERACT.CPP interact.h list.h event.h misc.h prim.h
  163. !IF $(DEBUG)
  164.     @$(CXX) @<<$(PROJ).rsp
  165. /Zs $(CXXFLAGS_G)
  166. $(CXXFLAGS_D) /FRINTERACT.sbr INTERACT.CPP
  167. <<
  168. !ELSE
  169.     @$(CXX) @<<$(PROJ).rsp
  170. /Zs $(CXXFLAGS_G)
  171. $(CXXFLAGS_R) /FRINTERACT.sbr INTERACT.CPP
  172. <<
  173. !ENDIF
  174.  
  175. TEXTWIN.obj : TEXTWIN.CPP textwin.h interact.h list.h event.h misc.h prim.h
  176. !IF $(DEBUG)
  177.     @$(CXX) @<<$(PROJ).rsp
  178. /c $(CXXFLAGS_G)
  179. $(CXXFLAGS_D) /FoTEXTWIN.obj TEXTWIN.CPP
  180. <<
  181. !ELSE
  182.     @$(CXX) @<<$(PROJ).rsp
  183. /c $(CXXFLAGS_G)
  184. $(CXXFLAGS_R) /FoTEXTWIN.obj TEXTWIN.CPP
  185. <<
  186. !ENDIF
  187.  
  188. TEXTWIN.sbr : TEXTWIN.CPP textwin.h interact.h list.h event.h misc.h prim.h
  189. !IF $(DEBUG)
  190.     @$(CXX) @<<$(PROJ).rsp
  191. /Zs $(CXXFLAGS_G)
  192. $(CXXFLAGS_D) /FRTEXTWIN.sbr TEXTWIN.CPP
  193. <<
  194. !ELSE
  195.     @$(CXX) @<<$(PROJ).rsp
  196. /Zs $(CXXFLAGS_G)
  197. $(CXXFLAGS_R) /FRTEXTWIN.sbr TEXTWIN.CPP
  198. <<
  199. !ENDIF
  200.  
  201. LIFEWIN.obj : LIFEWIN.CPP lifewin.h textwin.h interact.h list.h event.h misc.h\
  202.     prim.h
  203. !IF $(DEBUG)
  204.     @$(CXX) @<<$(PROJ).rsp
  205. /c $(CXXFLAGS_G)
  206. $(CXXFLAGS_D) /FoLIFEWIN.obj LIFEWIN.CPP
  207. <<
  208. !ELSE
  209.     @$(CXX) @<<$(PROJ).rsp
  210. /c $(CXXFLAGS_G)
  211. $(CXXFLAGS_R) /FoLIFEWIN.obj LIFEWIN.CPP
  212. <<
  213. !ENDIF
  214.  
  215. LIFEWIN.sbr : LIFEWIN.CPP lifewin.h textwin.h interact.h list.h event.h misc.h\
  216.     prim.h
  217. !IF $(DEBUG)
  218.     @$(CXX) @<<$(PROJ).rsp
  219. /Zs $(CXXFLAGS_G)
  220. $(CXXFLAGS_D) /FRLIFEWIN.sbr LIFEWIN.CPP
  221. <<
  222. !ELSE
  223.     @$(CXX) @<<$(PROJ).rsp
  224. /Zs $(CXXFLAGS_G)
  225. $(CXXFLAGS_R) /FRLIFEWIN.sbr LIFEWIN.CPP
  226. <<
  227. !ENDIF
  228.  
  229. WINMGR.obj : WINMGR.CPP winmgr.h interact.h list.h event.h misc.h prim.h
  230. !IF $(DEBUG)
  231.     @$(CXX) @<<$(PROJ).rsp
  232. /c $(CXXFLAGS_G)
  233. $(CXXFLAGS_D) /FoWINMGR.obj WINMGR.CPP
  234. <<
  235. !ELSE
  236.     @$(CXX) @<<$(PROJ).rsp
  237. /c $(CXXFLAGS_G)
  238. $(CXXFLAGS_R) /FoWINMGR.obj WINMGR.CPP
  239. <<
  240. !ENDIF
  241.  
  242. WINMGR.sbr : WINMGR.CPP winmgr.h interact.h list.h event.h misc.h prim.h
  243. !IF $(DEBUG)
  244.     @$(CXX) @<<$(PROJ).rsp
  245. /Zs $(CXXFLAGS_G)
  246. $(CXXFLAGS_D) /FRWINMGR.sbr WINMGR.CPP
  247. <<
  248. !ELSE
  249.     @$(CXX) @<<$(PROJ).rsp
  250. /Zs $(CXXFLAGS_G)
  251. $(CXXFLAGS_R) /FRWINMGR.sbr WINMGR.CPP
  252. <<
  253. !ENDIF
  254.  
  255. OODEMO.obj : OODEMO.CPP winmgr.h textwin.h lifewin.h interact.h list.h event.h\
  256.     misc.h prim.h
  257. !IF $(DEBUG)
  258.     @$(CXX) @<<$(PROJ).rsp
  259. /c $(CXXFLAGS_G)
  260. $(CXXFLAGS_D) /FoOODEMO.obj OODEMO.CPP
  261. <<
  262. !ELSE
  263.     @$(CXX) @<<$(PROJ).rsp
  264. /c $(CXXFLAGS_G)
  265. $(CXXFLAGS_R) /FoOODEMO.obj OODEMO.CPP
  266. <<
  267. !ENDIF
  268.  
  269. OODEMO.sbr : OODEMO.CPP winmgr.h textwin.h lifewin.h interact.h list.h event.h\
  270.     misc.h prim.h
  271. !IF $(DEBUG)
  272.     @$(CXX) @<<$(PROJ).rsp
  273. /Zs $(CXXFLAGS_G)
  274. $(CXXFLAGS_D) /FROODEMO.sbr OODEMO.CPP
  275. <<
  276. !ELSE
  277.     @$(CXX) @<<$(PROJ).rsp
  278. /Zs $(CXXFLAGS_G)
  279. $(CXXFLAGS_R) /FROODEMO.sbr OODEMO.CPP
  280. <<
  281. !ENDIF
  282.  
  283.  
  284. $(PROJ).bsc : $(SBRS)
  285.     $(BSCMAKE) @<<
  286. $(BRFLAGS) $(SBRS)
  287. <<
  288.  
  289. $(PROJ).exe : $(OBJS)
  290.     -$(NMAKEBSC1) MAKEFLAGS=
  291.     -$(NMAKEBSC2) $(NMFLAGS) -f $(PROJFILE) $(PROJ).bsc
  292. !IF $(DEBUG)
  293.     $(LRF) @<<$(PROJ).lrf
  294. $(RT_OBJS: = +^
  295. ) $(OBJS: = +^
  296. )
  297. $@
  298. $(MAPFILE_D)
  299. $(LIBS: = +^
  300. ) +
  301. $(LLIBS_G: = +^
  302. ) +
  303. $(LLIBS_D: = +^
  304. )
  305. $(DEF_FILE) $(LFLAGS_G) $(LFLAGS_D);
  306. <<
  307. !ELSE
  308.     $(LRF) @<<$(PROJ).lrf
  309. $(RT_OBJS: = +^
  310. ) $(OBJS: = +^
  311. )
  312. $@
  313. $(MAPFILE_R)
  314. $(LIBS: = +^
  315. ) +
  316. $(LLIBS_G: = +^
  317. ) +
  318. $(LLIBS_R: = +^
  319. )
  320. $(DEF_FILE) $(LFLAGS_G) $(LFLAGS_R);
  321. <<
  322. !ENDIF
  323.     $(LINKER) @$(PROJ).lrf
  324.  
  325.  
  326. .cpp.sbr :
  327. !IF $(DEBUG)
  328.     @$(CXX) @<<$(PROJ).rsp
  329. /Zs $(CXXFLAGS_G)
  330. $(CXXFLAGS_D) /FR$@ $<
  331. <<
  332. !ELSE
  333.     @$(CXX) @<<$(PROJ).rsp
  334. /Zs $(CXXFLAGS_G)
  335. $(CXXFLAGS_R) /FR$@ $<
  336. <<
  337. !ENDIF
  338.  
  339. .cpp.obj :
  340. !IF $(DEBUG)
  341.     @$(CXX) @<<$(PROJ).rsp
  342. /c $(CXXFLAGS_G)
  343. $(CXXFLAGS_D) /Fo$@ $<
  344. <<
  345. !ELSE
  346.     @$(CXX) @<<$(PROJ).rsp
  347. /c $(CXXFLAGS_G)
  348. $(CXXFLAGS_R) /Fo$@ $<
  349. <<
  350. !ENDIF
  351.  
  352.  
  353. run: $(PROJ).exe
  354.     $(PROJ).exe $(RUNFLAGS)
  355.  
  356. debug: $(PROJ).exe
  357.     CV $(CVFLAGS) $(PROJ).exe $(RUNFLAGS)
  358.