MAKEFILE 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950
  1. #
  2. # Command & Conquer(tm)
  3. # Copyright 2025 Electronic Arts Inc.
  4. #
  5. # This program is free software: you can redistribute it and/or modify
  6. # it under the terms of the GNU General Public License as published by
  7. # the Free Software Foundation, either version 3 of the License, or
  8. # (at your option) any later version.
  9. #
  10. # This program is distributed in the hope that it will be useful,
  11. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. # GNU General Public License for more details.
  14. #
  15. # You should have received a copy of the GNU General Public License
  16. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  17. #
  18. #* $Header$
  19. #***********************************************************************************************
  20. #*** C O N F I D E N T I A L --- W E S T W O O D S T U D I O S ***
  21. #***********************************************************************************************
  22. #* *
  23. #* Project Name : Command & Conquer *
  24. #* *
  25. #* File Name : MAKEFILE *
  26. #* *
  27. #* Programmer : Joe L. Bostic *
  28. #* *
  29. #* Start Date : 03/02/95 *
  30. #* *
  31. #* Last Update : March 2, 1995 [JLB] *
  32. #* *
  33. #*---------------------------------------------------------------------------------------------*
  34. #* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *
  35. .SILENT
  36. .OPTIMIZE
  37. .ERASE
  38. #---------------------------------------------------------------------------
  39. # Verify user's environment
  40. #---------------------------------------------------------------------------
  41. !ifndef %WWFLAT
  42. !error WWFLAT must be set to the root of the library directory.
  43. !else
  44. WWFLAT=$(%WWFLAT)
  45. !endif
  46. !ifndef %WATCOM
  47. #WATCOM=c:\projects\c&c\code\watcom
  48. !error WATCOM must be set to the Watcom root directory.
  49. !else
  50. WATCOM=$(%WATCOM)
  51. !endif
  52. !ifndef %CODEDIR
  53. #CODEDIR=c:\projects\code
  54. !error CODEDIR must be set to the root code directory.
  55. !else
  56. CODEDIR=$(%CODEDIR)
  57. !endif
  58. !ifndef %CDDIR
  59. !error CODEDIR must be set.
  60. #CDDIR=..\cd
  61. !else
  62. CDDIR=$(%CDDIR)
  63. !endif
  64. !ifndef %VQDIR
  65. #VQDIR=c:\VQA
  66. !error VQDIR must be set to the root VQ directory.
  67. !else
  68. VQDIR=$(%VQDIR)
  69. !endif
  70. #---------------------------------------------------------------------------
  71. # Path macros: one path for each file type.
  72. # These paths are used to tell make where to find/put each file type.
  73. #---------------------------------------------------------------------------
  74. .asm: .
  75. .c: .
  76. .cpp: .
  77. .h: .
  78. .obj: $(%WWOBJ)obj
  79. .lib: $(WWFLAT)\lib
  80. .exe: ..\run
  81. #===========================================================================
  82. # Compiler and assembler flags.
  83. #===========================================================================
  84. CC_CFG = /i=$(VQDIR)\include # Includes player (VQ) directory.
  85. CC_CFG += /i=$(WWFLAT)\INCLUDE # Normal library include directory.
  86. CC_CFG += /i=$(WATCOM)\H\nt # Normal Watcom include directory.
  87. CC_CFG += /i=$(WATCOM)\H # Normal Watcom include directory.
  88. CC_CFG += /i=..\gcl510\H # Includes Greenleaf headers.
  89. VCT_CFG = /i=$(VQDIR)\include # Includes player (VQ) directory.
  90. VCT_CFG += /i=$(WWFLAT)\INCLUDE # Normal library include directory.
  91. VCT_CFG += /i=$(WATCOM)\H\nt # Normal Watcom include directory.
  92. VCT_CFG += /i=$(WATCOM)\H # Normal Watcom include directory.
  93. VCT_CFG += /i=..\gcl510\H # Includes Greenleaf headers.
  94. #CC_CFG += /DDOS4G # Must be defined for Greenleaf
  95. #CC_CFG += /DGF_WATCOM_S # Must be defined for Greenleaf with /3s
  96. #CC_CFG += /d3 # Debugging information.
  97. #CC_CFG += /d1 # Debugging information.
  98. #CC_CFG += /of+ # Generate traceable stack frames.
  99. #CC_CFG += /DOPTION=$(%OPTION) # Optional option define.
  100. #CC_CFG += /zp1 # Pack structures on byte boundary.
  101. #CC_CFG += /5s # Pentium optimized stack calling conventions.
  102. #CC_CFG += /xs # Exception handling enabled.
  103. #CC_CFG += /s # Remove stack check calls.
  104. #CC_CFG += /j # char is now signed.
  105. #CC_CFG += /fh=$(%WWOBJ)conquer.pch # Use precompiled headers.
  106. #CC_CFG += /we # Treat all warnings as errors.
  107. #CC_CFG += /w8 # Most warnings enabled.
  108. #CC_CFG += /ri # char and shorts are returned as int.
  109. CC_CFG += /zq # Operate quietly.
  110. #CC_CFG += /zm # Each routine to be in its own segment.
  111. #CC_CFG += /zld # Disable autodependency information in object file.
  112. #CC_CFG += /bm # build target is a multi-thread environment
  113. #CC_CFG += /mf # flat model
  114. #CC_CFG += /ze # enable language extensions
  115. #CC_CFG += /zw # create windows code
  116. #CC_CFG += /od # *** Disable all optimizations ***
  117. #CC_CFG += /ol # Loop optimizations enabled.
  118. #CC_CFG += /or # Reorder instructions for best pipeline usage.
  119. #CC_CFG += /oe # Inline is enabled.
  120. #CC_CFG += /oi # Expand intrisic functions inline.
  121. #CC_CFG += /on # Allow numerically unstable operations.
  122. #CC_CFG += /oo # Compile even if low on memory (i.e. less than 64meg).
  123. #CC_CFG += /oa # Relax aliasing constraints.
  124. #CC_CFG += -bt=NT /i=q:\include -j -os -zz -W3 -d1 /5 -s -fh=c:\projects\code\conquer.pch
  125. #CC_CFG += -bt=NT /i=q:\include -j -otexan -ol+ -zz -W3 -d1 /5 -s -fh=c:\projects\code\conquer.pch
  126. #CC_CFG += -bt=NT /i=q:\include -zq -j -zz -W3 -d1 /5 -s -fh=c:\projects\code\conquer.pch
  127. CC_CFG += -bt=NT /i=q:\include -j -W3 -zz -d1 -otxan -ol+ /5 -s -fh=d:\projects\ccgold\code\conquer.pch
  128. #CC_CFG += -bt=NT /i=q:\include -j -W3 -zz -d2 -od /5 -s -fh=c:\projects\code\conquer.pch
  129. #CC_CFG += -bt=95 /i=q:\include -j -W3 -hc -od -d3 /4 -s
  130. #CC_CFG += -bt=NT /i=q:\include -j -W3 -d1 -orilt /4 -s -fh=c:\projects\code\conquer.pch -fhq
  131. #CC_CFG += -bt=NT /i=q:\include -j -W3 -d2 -orilt /4 -s -ep -ee -fh=c:\projects\code\conquer.pch -fhq
  132. ASM_CFG = /i$(WWFLAT)\INCLUDE # Include directory.
  133. ASM_CFG += /zd # Debugging information line numbers.
  134. ASM_CFG += /t # Quiet operation.
  135. ASM_CFG += /m # Allow multiple passes.
  136. ASM_CFG += /w+ # Enable maximum warnings.
  137. ASM_CFG += /jJUMPS # Enable jump optimizations.
  138. ASM_CFG += /ml # Case sensitivity on code.
  139. #ASM_CFG += /zi # Full debugging information.
  140. VCT_CFG += -bt=NT /i=q:\include -j -W3 -zz -d2 -od /5 -s -fh=d:\projects\ccgold\code\conquer.pch
  141. #---------------------------------------------------------------------------
  142. # Implicit rules
  143. # Compiler:
  144. # ($< = full dependent with path)
  145. # Assembler:
  146. # output obj's are constructed from .obj: & the $& macro
  147. # ($< = full dependent with path)
  148. # tasm's cfg file is not invoked as a response file.
  149. #---------------------------------------------------------------------------
  150. .c.obj:#.AUTODEPEND
  151. echo Compiling $<
  152. *watcom\wcc $(C_CFG) -fo$(%WWOBJ)obj\$^. $<
  153. .cpp.obj: #.AUTODEPEND
  154. echo Compiling $<
  155. !ifdef %NETWORK
  156. f:\projects\c&c95\slaves\NETEXEC /v f:\projects\c&c95\slaves\$(%NETWHO)c $^&
  157. if exist $(%CCNETDIR)\code\netmake.err %abort
  158. !else
  159. *$(WATCOM)\binnt\wpp386 $(CC_CFG) -fo$(%WWOBJ)obj\$^. $(CODEDIR)\$<
  160. !endif
  161. .asm.obj:
  162. echo Assembling $<
  163. !ifdef %NETWORK
  164. f:\projects\c&c95\slaves\NETEXEC /v f:\projects\c&c95\slaves\$(%NETWHO)a $^&
  165. !else
  166. tasm $(ASM_CFG) $<, $(%WWOBJ)obj\$^.
  167. !endif
  168. #---------------------------------------------------------------------------
  169. # Project-dependent variables
  170. #---------------------------------------------------------------------------
  171. OBJECTS = &
  172. SUPER.OBJ &
  173. AADATA.OBJ &
  174. WINSTUB.OBJ &
  175. WINASM.OBJ &
  176. ABSTRACT.OBJ &
  177. ADATA.OBJ &
  178. AIRCRAFT.OBJ &
  179. ANIM.OBJ &
  180. AUDIO.OBJ &
  181. BASE.OBJ &
  182. BBDATA.OBJ &
  183. BDATA.OBJ &
  184. BUILDING.OBJ &
  185. BULLET.OBJ &
  186. CARGO.OBJ &
  187. CCFILE.OBJ &
  188. CDATA.OBJ &
  189. CDFILE.OBJ &
  190. CELL.OBJ &
  191. CHECKBOX.OBJ &
  192. CHEKLIST.OBJ &
  193. COLRLIST.OBJ &
  194. COMBAT.OBJ &
  195. COMBUF.OBJ &
  196. CONFDLG.OBJ &
  197. CONNECT.OBJ &
  198. CONQUER.OBJ &
  199. CONST.OBJ &
  200. CONTROL.OBJ &
  201. COORD.OBJ &
  202. CREDITS.OBJ &
  203. CREW.OBJ &
  204. DEBUG.OBJ &
  205. DIAL8.OBJ &
  206. DIALOG.OBJ &
  207. DISPLAY.OBJ &
  208. DOOR.OBJ &
  209. DRIVE.OBJ &
  210. EDIT.OBJ &
  211. EVENT.OBJ &
  212. ENDING.OBJ &
  213. EXPAND.OBJ &
  214. FACING.OBJ &
  215. FACTORY.OBJ &
  216. FINDPATH.OBJ &
  217. FLASHER.OBJ &
  218. FLY.OBJ &
  219. FOOT.OBJ &
  220. FUSE.OBJ &
  221. GADGET.OBJ &
  222. GAMEDLG.OBJ &
  223. GAUGE.OBJ &
  224. GLOBALS.OBJ &
  225. GOPTIONS.OBJ &
  226. GSCREEN.OBJ &
  227. HDATA.OBJ &
  228. HEAP.OBJ &
  229. HELP.OBJ &
  230. HOUSE.OBJ &
  231. IDATA.OBJ &
  232. INFANTRY.OBJ &
  233. INI.OBJ &
  234. INIT.OBJ &
  235. INTERNET.OBJ &
  236. INTERPAL.OBJ &
  237. INTRO.OBJ &
  238. IOMAP.OBJ &
  239. IOOBJ.OBJ &
  240. IPX.OBJ &
  241. IPXADDR.OBJ &
  242. IPXCONN.OBJ &
  243. IPXGCONN.OBJ &
  244. IPXMGR.OBJ &
  245. IPX95.OBJ &
  246. JSHELL.OBJ &
  247. KEYFBUFF.OBJ &
  248. KEYFRAME.OBJ &
  249. LAYER.OBJ &
  250. LINK.OBJ &
  251. LIST.OBJ &
  252. LOADDLG.OBJ &
  253. LOGIC.OBJ &
  254. MAP.OBJ &
  255. MAPEDDLG.OBJ &
  256. MAPEDIT.OBJ &
  257. MAPEDPLC.OBJ &
  258. MAPEDTM.OBJ &
  259. MAPSEL.OBJ &
  260. MENUS.OBJ &
  261. MISSION.OBJ &
  262. MIXFILE.OBJ &
  263. MOUSE.OBJ &
  264. MPLAYER.OBJ &
  265. MSGBOX.OBJ &
  266. MSGLIST.OBJ &
  267. NETDLG.OBJ &
  268. NOSEQCON.OBJ &
  269. NULLCONN.OBJ &
  270. NULLDLG.OBJ &
  271. NULLMGR.OBJ &
  272. OBJECT.OBJ &
  273. ODATA.OBJ &
  274. OPTIONS.OBJ &
  275. OVERLAY.OBJ &
  276. POWER.OBJ &
  277. PROFILE.OBJ &
  278. QUEUE.OBJ &
  279. RADAR.OBJ &
  280. RADIO.OBJ &
  281. RAND.OBJ &
  282. REINF.OBJ &
  283. SAVELOAD.OBJ &
  284. SCENARIO.OBJ &
  285. SCORE.OBJ &
  286. SCROLL.OBJ &
  287. SDATA.OBJ &
  288. SHAPEBTN.OBJ &
  289. SIDEBAR.OBJ &
  290. SLIDER.OBJ &
  291. SMUDGE.OBJ &
  292. SOUNDDLG.OBJ &
  293. SPECIAL.OBJ &
  294. STARTUP.OBJ &
  295. SUPPORT.OBJ &
  296. TAB.OBJ &
  297. TARCOM.OBJ &
  298. TARGET.OBJ &
  299. TCPIP.OBJ &
  300. TDATA.OBJ &
  301. TEAM.OBJ &
  302. TEAMTYPE.OBJ &
  303. TECHNO.OBJ &
  304. TEMPLATE.OBJ &
  305. TERRAIN.OBJ &
  306. TEXTBTN.OBJ &
  307. THEME.OBJ &
  308. TOGGLE.OBJ &
  309. TRIGGER.OBJ &
  310. TURRET.OBJ &
  311. TXTLABEL.OBJ &
  312. TXTPRNT.OBJ &
  313. UDATA.OBJ &
  314. UNIT.OBJ &
  315. VECTOR.OBJ &
  316. VISUDLG.OBJ &
  317. UTRACKER.OBJ &
  318. PACKET.OBJ &
  319. FIELD.OBJ &
  320. STATS.OBJ &
  321. CCDDE.OBJ &
  322. DDE.OBJ &
  323. # ALLOC.OBJ
  324. # DESCDLG.OBJ &
  325. # COORDA.OBJ &
  326. PROJ_LIBS =# &
  327. #wwflat32.lib
  328. VQ_LIBS = &
  329. vqa32wp.lib &
  330. vqm32wp.lib
  331. GCL_LIBS = &
  332. gclfr3s.lib
  333. ############################################################################
  334. # Pre-compilation process. Move old files to backup directory and switch
  335. # to monochrome screen.
  336. .BEFORE
  337. !ifndef %SLAVE
  338. # mode mono
  339. !endif
  340. -if exist $(%WWOBJ)*.pch del $(%WWOBJ)*.pch
  341. -if exist $(%CCNETDIR)\code\netmake.err del $(%CCNETDIR)\code\netmake.err
  342. -if exist *.bak move *.bak bak
  343. # Switch back to normal screen at compilation end.
  344. .AFTER
  345. !ifndef %SLAVE
  346. # mode co80
  347. # ncc /50
  348. !endif
  349. # Switch back to normal screen if there was an error.
  350. .ERROR
  351. !ifndef %SLAVE
  352. # mode co80
  353. # ncc /50
  354. !endif
  355. #############################################################################
  356. # Default target
  357. all: conquer.exe
  358. #############################################################################
  359. # Builds the stub replacement program.
  360. CWSTUB.OBJ: CWSTUB.C
  361. *watcom\wcc /i=watcom\h /dQUIET /dVMM /ms /zQ -fo$(%WWOBJ)obj\$^. $<
  362. CWSTUB.EXE: CWSTUB.OBJ
  363. *watcom\wlink system dos file $(%WWOBJ)obj\cwstub.obj name cwstub.exe option quiet library watcom\lib286\dos\clibs.lib, watcom\lib286\math87s.lib, watcom\lib286\dos\emu87.lib
  364. #############################################################################
  365. # Build the EXE
  366. conquer.exe: $(OBJECTS) obj\mmx.obj conquer.lnk $(WWFLAT)\lib\win32lib.lib $(VQDIR)\lib\vqa32wp.lib $(VQDIR)\lib\vqm32wp.lib
  367. Echo "conquer.exe" linking phase.
  368. !ifdef %NETWORK
  369. echo Waiting for objects...
  370. for %index in ($(OBJECTS)) do f:\projects\c&c95\slaves\WAITFILE $(%CCNETDIR)\code\obj\%index
  371. ndos.com /c copy $(%CCNETDIR)\code\obj\*.obj $(%CCLOCALDIR)\code\obj /U
  372. !endif
  373. echo Linking the executable.
  374. $(WATCOM)\binnt\wlink name ..\run\$@ @conquer.lnk
  375. $(WATCOM)\binnt\WRC cc_icon ..\run\conquer.exe
  376. Echo "conquer.exe" executable completed.
  377. !ifdef %WWOBJ
  378. xcopy /M e:\obj\*.* c:\projects\c&c\code\obj
  379. !endif
  380. # watcom\wlink $(LINK_CFG) name ..\run\$@ @conquer.lnk
  381. #############################################################################
  382. # This creates the linker command file.
  383. conquer.lnk : makefile
  384. %create $^@
  385. %append $^@ system win95
  386. %append $^@ option stack=128k
  387. %append $^@ option redefsok
  388. %append $^@ option quiet
  389. %append $^@ option map
  390. # %append $^@ option cache
  391. %append $^@ option eliminate
  392. %append $^@ option caseexact
  393. # %append $^@ option stub=cwstub.exe
  394. # %append $^@ debug all
  395. %append $^@ debug all
  396. for %index in ($(OBJECTS)) do %append $^@ file $(%WWOBJ)obj\%index
  397. %append $^@ file $(%WWOBJ)obj\mmx.obj
  398. # %append $^@ file $(%WWOBJ)obj\vector.obj
  399. # for %index in ($(PROJ_LIBS)) do %append $^@ library $(WWFLAT)\lib\%index
  400. # for %index in ($(VQ_LIBS)) do %append $^@ library ..\vq\lib\%index
  401. # for %index in ($(GCL_LIBS)) do %append $^@ library ..\gcl510\w10\%index
  402. %append $^@ library $(WWFLAT)\lib\ddraw.lib
  403. %append $^@ library $(WWFLAT)\lib\dsound.lib
  404. %append $^@ library $(WWFLAT)\lib\keyboard.lib
  405. %append $^@ library $(WWFLAT)\lib\win32lib.lib
  406. %append $^@ library $(VQDIR)\lib\vqa32wp.lib
  407. %append $^@ library $(VQDIR)\lib\vqm32wp.lib
  408. %append $^@ library ipx\wwipx32.lib
  409. ##############################################################################
  410. # Creates a symbol-less executable and copies it to the net cd directories
  411. cd: .SYMBOLIC
  412. -wstrip ..\run\conquer.exe ..\run\c&c95.exe
  413. -copy ..\run\c&c95.exe f:\projects\c&c95\setup\data
  414. ##################################################################
  415. #
  416. # The MMX stuff requires MASM 6.11d so it needs its own rule
  417. #
  418. obj\mmx.obj: mmx.asm mmx.inc
  419. d:\masm611\bin\ml /I. /c /Cx /Zd /Cp /Flmmx.txt /Sc /Foobj\mmx.obj mmx.asm
  420. #############################################################
  421. # Creates a bound executable in the install directory.
  422. bind: .SYMBOLIC
  423. -copy ..\run\conquer.exe ..\run\temp.exe
  424. -wstrip ..\run\temp.exe
  425. -watcom\4gwbind watcom\4gwpro.exe ..\run\temp.exe ..\cd1\install\c&c.exe -f
  426. -copy ..\cd1\install\c&c.exe ..\cd2\install /u /v
  427. -del ..\run\temp.exe
  428. #############################################################
  429. # Update source and art to network.
  430. update: bind .SYMBOLIC
  431. !ifdef %CDDIR
  432. -copy ..\cd1\*.* $(CDDIR)cd1 /v /u /s
  433. -copy ..\cd2\*.* $(CDDIR)cd2 /v /u /s
  434. -copy $(CDDIR)cd1\*.* f:\projects\c&c\cd\cd1 /v /u /s
  435. -copy $(CDDIR)cd2\*.* f:\projects\c&c\cd\cd2 /v /u /s
  436. !else
  437. -copy ..\cd1\*.* f:\projects\c&c\cd\cd1 /v /u /s
  438. -copy ..\cd2\*.* f:\projects\c&c\cd\cd2 /v /u /s
  439. !endif
  440. -copy watcom\dos4gw.exe f:\projects\c&c\playtest
  441. -copy ..\run\conquer.exe f:\projects\c&c\playtest /u /v
  442. -copy conquer.map f:\projects\c&c\playtest /u /v
  443. -mkdir f:\projects\c&c\playtest\%_DATE
  444. -copy ..\run\conquer.exe f:\projects\c&c\playtest\%_DATE /u /v
  445. -copy conquer.map f:\projects\c&c\playtest\%_DATE /u /v
  446. -copy ..\art\ingame\*.* f:\projects\c&c\art\ingame /u /v /s
  447. -copy *.* f:\projects\c&c\code /v /s /u
  448. #############################################################################
  449. # Explicit rules to build the master zip files (used by Codewrite merge).
  450. BILL_R.ZIP: pkzip.dat .SYMBOLIC
  451. -del f:\projects\c&c\bill_r.zip
  452. -pkzip -p -u [email protected] f:\projects\c&c\bill_r.zip *.* eng\*.*
  453. MARIA_L.ZIP: pkzip.dat .SYMBOLIC
  454. -del f:\projects\c&c\maria_l.zip
  455. -pkzip -p -u [email protected] f:\projects\c&c\maria_l.zip *.* eng\*.*
  456. BARRY_G.ZIP: pkzip.dat .SYMBOLIC
  457. -del f:\projects\c&c\barry_g.zip
  458. -pkzip -p -u [email protected] f:\projects\c&c\barry_g.zip *.* eng\*.*
  459. PHIL_G.ZIP: pkzip.dat .SYMBOLIC
  460. -del f:\projects\c&c95\phil_g.zip
  461. -pkzip -p -u [email protected] f:\projects\c&c95\phil_g.zip *.*
  462. win32lib.ZIP: pkzip.dat .SYMBOLIC
  463. -del f:\projects\c&c95\win32lib.zip
  464. -pkzip -p -r f:\projects\c&c95\win32lib.zip d:\win32lib\*.*
  465. DAVID_D.ZIP: pkzip.dat .SYMBOLIC
  466. -del f:\projects\c&c\david_d.zip
  467. -pkzip -p -u [email protected] f:\projects\c&c\david_d.zip *.* eng\*.*
  468. BILL_P.ZIP: pkzip.dat .SYMBOLIC
  469. -del f:\projects\c&c\bill_p.zip
  470. -pkzip -p -u [email protected] f:\projects\c&c\bill_p.zip *.* eng\*.*
  471. # Special "mega-zip" process.
  472. JOE_B.ZIP: pkzip.dat .SYMBOLIC
  473. -pkzip -rp -u -xcps\*.* [email protected] f:\projects\c&c\joe_b.zip
  474. #############################################################################
  475. # Rebuilds the master zip control file. This is used by the zip process.
  476. PKZIP.DAT: makefile .SYMBOLIC
  477. %create $^@
  478. %append $^@ *.000
  479. %append $^@ *.@@@
  480. %append $^@ *.bak
  481. %append $^@ *.bat
  482. %append $^@ *.cfg
  483. %append $^@ *.dat
  484. %append $^@ *.def
  485. %append $^@ *.doc
  486. %append $^@ *.dsw
  487. %append $^@ *.err
  488. %append $^@ *.ewp
  489. %append $^@ *.ext
  490. %append $^@ *.i
  491. %append $^@ *.ide
  492. %append $^@ *.lnk
  493. %append $^@ *.log
  494. %append $^@ *.lst
  495. %append $^@ *.mac
  496. %append $^@ *.map
  497. %append $^@ *.mk
  498. %append $^@ *.mk1
  499. %append $^@ *.obj
  500. %append $^@ *.out
  501. %append $^@ *.pch
  502. %append $^@ *.pfs
  503. %append $^@ *.pif
  504. %append $^@ *.pjt
  505. %append $^@ *.prf
  506. %append $^@ *.pro
  507. %append $^@ *.ptg
  508. %append $^@ *.rc
  509. %append $^@ *.rep
  510. %append $^@ *.rpt
  511. %append $^@ *.rst
  512. %append $^@ *.sym
  513. %append $^@ *.tag
  514. %append $^@ *.td
  515. %append $^@ *.td
  516. %append $^@ *.tgt
  517. %append $^@ *.tmp
  518. %append $^@ *.tr
  519. %append $^@ *.tr
  520. %append $^@ *.vec
  521. %append $^@ *.wpj
  522. %append $^@ *.zip
  523. %append $^@ state.rst
  524. #---------------------------------------------------------------------------
  525. # Dependency macros (makes defining dependencies easier)
  526. #---------------------------------------------------------------------------
  527. GENERAL_H = defines.h function.h externs.h conquer.h vector.h heap.h &
  528. debug.h jshell.h compat.h
  529. TECHNO_H = facing.h techno.h mission.h stage.h cargo.h object.h abstract.h
  530. UNIT_H = unit.h tarcom.h turret.h drive.h foot.h radio.h $(TECHNO_H)
  531. INFANTRY_H = infantry.h foot.h radio.h $(TECHNO_H)
  532. AIRCRAFT_H = aircraft.h fly.h radio.h $(TECHNO_H)
  533. BUILDING_H = building.h radio.h $(TECHNO_H)
  534. BULLET_H = bullet.h fly.h fuse.h object.h abstract.h
  535. OBJ_H = $(UNIT_H) $(INFANTRY_H) $(AIRCRAFT_H) $(BUILDING_H) $(BULLET_H)
  536. MAP_H = base.h mapedit.h mouse.h scroll.h help.h tab.h power.h sidebar.h &
  537. radar.h display.h map.h gscreen.h cell.h
  538. GADGET_H = textbtn.h shapebtn.h slider.h gauge.h dial8.h edit.h &
  539. toggle.h list.h cheklist.h control.h gadget.h link.h
  540. FILE_H = ccfile.h cdfile.h mixfile.h rawfile.h wwfile.h link.h
  541. TEAM_H = team.h teamtype.h trigger.h
  542. IPX_H = ipx.h ipxaddr.h
  543. NET_H = combuf.h connect.h connmgr.h ipx.h ipxaddr.h ipxconn.h ipxgconn.h &
  544. ipxmgr.h noseqcon.h nullconn.h nullmgr.h
  545. MISC_H = ftimer.h logic.h score.h theme.h event.h queue.h special.h
  546. #---------------------------------------------------------------------------
  547. # Dependencies (This is not totally accurate; if you're not sure, rebuild
  548. # everything!)
  549. #---------------------------------------------------------------------------
  550. aadata.obj: aadata.cpp $(GENERAL_H) type.h
  551. winstub.obj: winstub.cpp tcpip.h $(GENERAL_H)
  552. winasm.obj: winasm.asm
  553. abstract.obj: abstract.cpp $(GENERAL_H) abstract.h
  554. adata.obj: adata.cpp $(GENERAL_H) type.h
  555. aircraft.obj: aircraft.cpp $(GENERAL_H) $(AIRCRAFT_H)
  556. anim.obj: anim.cpp $(GENERAL_H) anim.h stage.h object.h
  557. audio.obj: audio.cpp $(GENERAL_H) audio.h
  558. base.obj: base.cpp $(GENERAL_H) type.h
  559. bbdata.obj: bbdata.cpp $(GENERAL_H) type.h
  560. bdata.obj: bdata.cpp $(GENERAL_H) type.h
  561. building.obj: building.cpp $(GENERAL_H) $(BUILDING_H)
  562. bullet.obj: bullet.cpp $(GENERAL_H) $(BULLET_H)
  563. cargo.obj: cargo.cpp $(GENERAL_H) $(TECHNO_H) cargo.h
  564. ccfile.obj: ccfile.cpp $(GENERAL_H) $(FILE_H)
  565. cdata.obj: cdata.cpp $(GENERAL_H) type.h
  566. cdfile.obj: cdfile.cpp $(GENERAL_H) $(FILE_H)
  567. cell.obj: cell.cpp $(GENERAL_H) $(MAP_H)
  568. checkbox.obj: checkbox.cpp $(GENERAL_H) $(GADGET_H)
  569. cheklist.obj: cheklist.cpp $(GENERAL_H) $(GADGET_H)
  570. colrlist.obj: colrlist.cpp $(GENERAL_H) $(GADGET_H)
  571. combat.obj: combat.cpp $(GENERAL_H)
  572. combuf.obj: combuf.cpp $(GENERAL_H) combuf.h
  573. confdlg.obj: confdlg.cpp $(GENERAL_H) $(GADGET_H)
  574. connect.obj: connect.cpp $(GENERAL_H) connect.h combuf.h
  575. conquer.obj: conquer.cpp $(GENERAL_H) $(MISC_H) $(OBJ_H) tcpip.h ccdde.h
  576. const.obj: const.cpp $(GENERAL_H)
  577. control.obj: control.cpp $(GENERAL_H) $(GADGET_H)
  578. coord.obj: coord.cpp $(GENERAL_H)
  579. coorda.obj: coorda.asm
  580. credits.obj: credits.cpp $(GENERAL_H) credits.h
  581. crew.obj: crew.cpp $(GENERAL_H) crew.h
  582. debug.obj: debug.cpp $(GENERAL_H) debug.h
  583. deldlg.obj: deldlg.cpp $(GENERAL_H) $(GADGET_H)
  584. #descdlg.obj: descdlg.cpp $(GENERAL_H) $(GADGET_H)
  585. dial8.obj: dial8.cpp $(GENERAL_H) $(GADGET_H)
  586. dialog.obj: dialog.cpp $(GENERAL_H)
  587. display.obj: display.cpp $(GENERAL_H) $(MAP_H)
  588. door.obj: door.cpp $(GENERAL_H)
  589. drive.obj: drive.cpp $(GENERAL_H) $(TECHNO_H)
  590. edit.obj: edit.cpp $(GENERAL_H) $(GADGET_H)
  591. event.obj: event.cpp $(GENERAL_H) $(MISC_H) ccdde.h
  592. ending.obj: ending.cpp $(GENERAL_H) $(MISC_H)
  593. expand.obj: expand.cpp $(GENERAL)
  594. facing.obj: facing.cpp $(GENERAL_H) facing.h
  595. factory.obj: factory.cpp $(GENERAL_H) factory.h
  596. findpath.obj: findpath.cpp $(GENERAL_H)
  597. flasher.obj: flasher.cpp $(GENERAL_H) flasher.h
  598. fly.obj: fly.cpp $(GENERAL_H) fly.h
  599. foot.obj: foot.cpp $(GENERAL_H) $(INFANTRY_H)
  600. fuse.obj: fuse.cpp $(GENERAL_H) fuse.h
  601. gadget.obj: gadget.cpp $(GENERAL_H) $(GADGET_H)
  602. gamedlg.obj: gamedlg.cpp $(GENERAL_H) $(GADGET_H)
  603. gauge.obj: gauge.cpp $(GENERAL_H) $(GADGET_H)
  604. globals.obj: globals.cpp $(GENERAL_H)
  605. goptions.obj: goptions.cpp $(GENERAL_H) $(GADGET_H)
  606. gscreen.obj: gscreen.cpp $(GENERAL_H) $(MAP_H)
  607. hdata.obj: hdata.cpp $(GENERAL_H) type.h
  608. heap.obj: heap.cpp $(GENERAL_H) $(MISC_H)
  609. help.obj: help.cpp $(GENERAL_H) $(MAP_H)
  610. house.obj: house.cpp $(GENERAL_H) house.h
  611. idata.obj: idata.cpp $(GENERAL_H) type.h
  612. infantry.obj: infantry.cpp $(GENERAL_H) $(INFANTRY_H)
  613. ini.obj: ini.cpp $(GENERAL_H) $(MISC_H)
  614. init.obj: init.cpp $(GENERAL_H) $(MISC_H) $(OBJ_H) tcpip.h ccdde.h
  615. internet.obj: internet.cpp $(GENERAL_H) $(MISC_H) tcpip.h ccdde.h
  616. interpal.obj: interpal.cpp $(GENERAL_H) $(MISC_H)
  617. intro.obj: intro.cpp $(GENERAL_H) $(MISC_H)
  618. iomap.obj: iomap.cpp $(GENERAL_H) $(MAP_H) $(FILE_H)
  619. ioobj.obj: ioobj.cpp $(GENERAL_H) $(FILE_H) $(OBJ_H)
  620. ipx.obj: ipx.cpp $(GENERAL_H) $(IPX_H)
  621. ipxaddr.obj: ipxaddr.cpp $(GENERAL_H) $(IPX_H)
  622. ipxconn.obj: ipxconn.cpp $(GENERAL_H) $(NET_H)
  623. ipxgconn.obj: ipxgconn.cpp $(GENERAL_H) $(NET_H)
  624. ipxmgr.obj: ipxmgr.cpp $(GENERAL_H) $(NET_H)
  625. ipx95.obj: ipx95.cpp $(GENERAL_H) $(NET_H)
  626. jshell.obj: jshell.cpp $(GENERAL_H) $(MISC_H)
  627. keyfbuff.obj: keyfbuff.asm
  628. keyframe.obj: keyframe.cpp $(GENERAL_H)
  629. layer.obj: layer.cpp $(GENERAL_H) $(MISC_H)
  630. link.obj: link.cpp $(GENERAL_H) link.h
  631. list.obj: list.cpp $(GENERAL_H) $(GADGET_H)
  632. loaddlg.obj: loaddlg.cpp $(GENERAL_H) $(GADGET_H)
  633. logic.obj: logic.cpp $(GENERAL_H) $(MISC_H)
  634. map.obj: map.cpp $(GENERAL_H) $(MAP_H)
  635. mapsel.obj: mapsel.cpp $(GENERAL_H)
  636. mapeddlg.obj: mapeddlg.cpp $(GENERAL_H) $(MAP_H) $(OBJ_H)
  637. mapedit.obj: mapedit.cpp mapedsel.cpp $(GENERAL_H) $(MAP_H) $(OBJ_H)
  638. mapedplc.obj: mapedplc.cpp $(GENERAL_H) $(MAP_H) $(OBJ_H)
  639. mapedtm.obj: mapedtm.cpp $(GENERAL_H) $(MAP_H) $(OBJ_H)
  640. menus.obj: menus.cpp $(GENERAL_H) ccdde.h
  641. mission.obj: mission.cpp $(GENERAL_H) mission.h stage.h cargo.h object.h abstract.h
  642. mixfile.obj: mixfile.cpp $(GENERAL_H) $(FILE_H)
  643. monoc.obj: monoc.cpp $(GENERAL_H)
  644. mouse.obj: mouse.cpp $(GENERAL_H) $(MAP_H)
  645. mplayer.obj: mplayer.cpp tcpip.h $(GENERAL_H)
  646. msgbox.obj: msgbox.cpp $(GENERAL_H) $(GADGET_H)
  647. msglist.obj: msglist.cpp $(GENERAL_H) $(GADGET_H)
  648. netdlg.obj: netdlg.cpp $(GENERAL_H) $(GADGET_H) $(NET_H)
  649. noseqcon.obj: noseqcon.cpp $(GENERAL_H) noseqcon.h connect.h combuf.h
  650. nullconn.obj: nullconn.cpp $(GENERAL_H) nullconn.h noseqcon.h connect.h combuf.h tcpip.h
  651. nulldlg.obj: nulldlg.cpp $(GENERAL_H) nullmgr.h nullconn.h connmgr.h noseqcon.h connect.h combuf.h tcpip.h
  652. nullmgr.obj: nullmgr.cpp $(GENERAL_H) nullmgr.h nullconn.h connmgr.h noseqcon.h connect.h combuf.h tcpip.h
  653. object.obj: object.cpp $(GENERAL_H) object.h abstract.h
  654. odata.obj: odata.cpp $(GENERAL_H) type.h
  655. options.obj: options.cpp $(GENERAL_H) $(GADGET_H)
  656. overlay.obj: overlay.cpp $(GENERAL_H) overlay.h object.h
  657. power.obj: power.cpp $(GENERAL_H) $(MAP_H)
  658. profile.obj: profile.cpp $(GENERAL_H)
  659. queue.obj: queue.cpp $(GENERAL_H) $(MISC_H) tcpip.h
  660. rand.obj: rand.cpp $(GENERAL_H)
  661. radar.obj: radar.cpp $(GENERAL_H) $(MAP_H)
  662. radio.obj: radio.cpp $(GENERAL_H) $(TECHNO_H)
  663. reinf.obj: reinf.cpp $(GENERAL_H) $(MISC_H) $(TEAM_H)
  664. savedlg.obj: savedlg.cpp $(GENERAL_H) $(GADGET_H)
  665. saveload.obj: saveload.cpp $(GENERAL_H) $(MISC_H)
  666. scenario.obj: scenario.cpp $(GENERAL_H) $(MISC_H)
  667. score.obj: score.cpp $(GENERAL_H)
  668. scroll.obj: scroll.cpp $(GENERAL_H) $(MAP_H)
  669. sdata.obj: sdata.cpp $(GENERAL_H) type.h
  670. shapebtn.obj: shapebtn.cpp $(GENERAL_H) $(GADGET_H)
  671. sidebar.obj: sidebar.cpp $(GENERAL_H) $(MAP_H)
  672. slider.obj: slider.cpp $(GENERAL_H) $(GADGET_H)
  673. smudge.obj: smudge.cpp $(GENERAL_H) smudge.h object.h
  674. sounddlg.obj: sounddlg.cpp $(GENERAL_H) $(GADGET_H) sounddlg.h
  675. special.obj: special.cpp $(GENERAL_H) $(GADGET_H) special.h
  676. startup.obj: startup.cpp $(GENERAL_H) ccdde.h
  677. stuff.obj: stuff.cpp $(GENERAL_H) $(MISC_H)
  678. support.obj: support.asm
  679. super.obj: super.cpp $(GENERAL_H) $(MISC_H)
  680. tab.obj: tab.cpp $(GENERAL_H) $(MAP_H)
  681. tarcom.obj: tarcom.cpp $(GENERAL_H) $(UNIT_H)
  682. target.obj: target.cpp $(GENERAL_H) target.h
  683. tcpip.obj: tcpip.cpp $(GENERAL_H) tcpip.h
  684. tdata.obj: tdata.cpp $(GENERAL_H) type.h
  685. team.obj: team.cpp $(GENERAL_H) $(TEAM_H)
  686. teamtype.obj: teamtype.cpp $(GENERAL_H) $(TEAM_H)
  687. techno.obj: techno.cpp $(GENERAL_H) $(TECHNO_H)
  688. template.obj: template.cpp $(GENERAL_H) template.h object.h
  689. terrain.obj: terrain.cpp $(GENERAL_H) terrain.h stage.h object.h
  690. textbtn.obj: textbtn.cpp $(GENERAL_H) $(GADGET_H)
  691. theme.obj: theme.cpp $(GENERAL_H) theme.h
  692. toggle.obj: toggle.cpp $(GENERAL_H) $(GADGET_H)
  693. trigger.obj: trigger.cpp $(GENERAL_H) $(TEAM_H)
  694. turret.obj: turret.cpp $(GENERAL_H) $(UNIT_H)
  695. txtlabel.obj: txtlabel.cpp $(GENERAL_H) $(GADGET_H)
  696. txtprnt.obj: txtprnt.asm
  697. udata.obj: udata.cpp $(GENERAL_H) type.h
  698. unit.obj: unit.cpp $(GENERAL_H) $(UNIT_H)
  699. visudlg.obj: visudlg.cpp $(GENERAL_H) $(GADGET_H)
  700. utracker.obj: utracker.cpp utracker.h
  701. packet.obj: packet.cpp packet.h field.h
  702. field.obj: field.cpp field.h
  703. stats.obj: stats.cpp $(GENERAL_H) packet.h field.h ccdde.h
  704. ccdde.obj: ccdde.cpp ccdde.h dde.h
  705. dde.obj: dde.cpp dde.h
  706. vector.obj: vector.cpp $(GENERAL_H) $(MISC_H)
  707. *$(WATCOM)\binnt\wpp386 $(VCT_CFG) -foobj\vector.obj vector.cpp
  708. #**************************** End of makefile ******************************