MAKEFILE 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755
  1. #
  2. # Command & Conquer Red Alert(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. # Working values depending on what target executable will be created.
  40. #---------------------------------------------------------------------------
  41. !ifdef GERMAN
  42. LANGUAGE=GERMAN
  43. !else
  44. !ifdef FRENCH
  45. LANGUAGE=FRENCH
  46. !else
  47. LANGUAGE=ENGLISH
  48. !endif
  49. !endif
  50. !ifdef WIN32
  51. WWFLAT=..\win32lib
  52. WWOBJ=obj\win32\$(LANGUAGE)
  53. LINKFILE=win95.lnk
  54. CC=..\watcom\binnt\wpp386
  55. LIB=..\watcom\binnt\wlib
  56. !else
  57. WWFLAT=..\wwflat32
  58. WWOBJ=obj\dos
  59. LINKFILE=conquer.lnk
  60. CC=..\watcom\binnt\wpp386
  61. LIB=..\watcom\binnt\wlib
  62. !endif
  63. #---------------------------------------------------------------------------
  64. # Path macros: one path for each file type.
  65. # These paths are used to tell make where to find/put each file type.
  66. #---------------------------------------------------------------------------
  67. .asm: .
  68. .c: .
  69. .cpp: .
  70. .h: .
  71. .obj: $(WWOBJ)
  72. .lib: $(WWFLAT)\lib
  73. .exe: ..\run
  74. #===========================================================================
  75. # Compiler and assembler flags.
  76. #===========================================================================
  77. !ifdef WIN32
  78. CC_CFG = /d0 # No debugging information ( else use /d1 )
  79. CC_CFG += /DWIN32=1
  80. CC_CFG += /D_WIN32
  81. CC_CFG += /DWOLAPI_INTEGRATION
  82. CC_CFG += /DWINSOCK_IPX
  83. CC_CFG += /D$(LANGUAGE)=1
  84. CC_CFG += /i=..\dxsdk\inc
  85. CC_CFG += /i=..\watcom\h\nt # NT include directory.
  86. CC_CFG += /i=..\watcom\H # Normal Watcom include directory.
  87. CC_CFG += /i=$(WWFLAT)\INCLUDE # Normal library include directory.
  88. CC_CFG += /i=..\winvq\include # Includes player (VQ) directory.
  89. CC_CFG += /bt=NT
  90. CC_CFG += /otxan
  91. CC_CFG += /5r # Pentium optimized register calling conventions.
  92. !else
  93. CC_CFG = /d1 # Partial debug (line numbers only)
  94. CC_CFG += /i=..\watcom\H # Normal Watcom include directory.
  95. CC_CFG += /i=$(WWFLAT)\INCLUDE # Normal library include directory.
  96. CC_CFG += /i=..\vq\include # Includes player (VQ) directory.
  97. CC_CFG += /DDOS4G # Must be defined for Greenleaf
  98. CC_CFG += /5s # Pentium optimized stack calling conventions.
  99. CC_CFG += /DGF_WATCOM_S # Must be defined for Greenleaf with /3s
  100. CC_CFG += /bt=DOS
  101. !endif
  102. CC_CFG += /i=..\gcl510\H # Includes Greenleaf headers.
  103. CC_CFG += /of+ # Generate traceable stack frames.
  104. CC_CFG += /zp1 # Pack structures on byte boundary.
  105. CC_CFG += /s # Remove stack check calls.
  106. CC_CFG += /j # char is now signed.
  107. CC_CFG += /fh=$(WWOBJ)\conquer.pch # Use precompiled headers.
  108. CC_CFG += /fhq
  109. CC_CFG += /we # Treat all warnings as errors.
  110. CC_CFG += /w8 # Most warnings enabled.
  111. CC_CFG += /ri # char and shorts are returned as int.
  112. CC_CFG += /zq # Operate quietly.
  113. ASM_CFG = /i$(WWFLAT)\INCLUDE # Include directory.
  114. ASM_CFG += /zd # Debugging information line numbers.
  115. ASM_CFG += /t # Quiet operation.
  116. ASM_CFG += /m # Allow multiple passes.
  117. ASM_CFG += /w+ # Enable maximum warnings.
  118. ASM_CFG += /jJUMPS # Enable jump optimizations.
  119. ASM_CFG += /ml # Case sensitivity on code.
  120. #---------------------------------------------------------------------------
  121. # Implicit rules
  122. # Compiler:
  123. # ($< = full dependent with path)
  124. # Assembler:
  125. # output obj's are constructed from .obj: & the $& macro
  126. # ($< = full dependent with path)
  127. # tasm's cfg file is not invoked as a response file.
  128. #---------------------------------------------------------------------------
  129. .c.obj: .AUTODEPEND
  130. echo Compiling $<
  131. *$(CC) $(CC_CFG) -fo$(WWOBJ)\$^. $<
  132. .cpp.obj: .AUTODEPEND
  133. echo Compiling $<
  134. *$(CC) $(CC_CFG) -fo$(WWOBJ)\$^. $<
  135. .asm.obj:
  136. echo Assembling $<
  137. utils\tasm $(ASM_CFG) $<, $(WWOBJ)\$^.
  138. #---------------------------------------------------------------------------
  139. # Object modules.
  140. #---------------------------------------------------------------------------
  141. OBJECTS = &
  142. AADATA.OBJ &
  143. ABSTRACT.OBJ &
  144. ADATA.OBJ &
  145. AIRCRAFT.OBJ &
  146. ANIM.OBJ &
  147. AUDIO.OBJ &
  148. BAR.OBJ &
  149. BASE.OBJ &
  150. BBDATA.OBJ &
  151. BDATA.OBJ &
  152. BUILDING.OBJ &
  153. BULLET.OBJ &
  154. CARGO.OBJ &
  155. CARRY.OBJ &
  156. CCFILE.OBJ &
  157. CCINI.OBJ &
  158. CCPTR.OBJ &
  159. CDATA.OBJ &
  160. CELL.OBJ &
  161. CHECKBOX.OBJ &
  162. CHEKLIST.OBJ &
  163. COLRLIST.OBJ &
  164. COMBAT.OBJ &
  165. COMBUF.OBJ &
  166. CONNECT.OBJ &
  167. CONQUER.OBJ &
  168. CONST.OBJ &
  169. CONTROL.OBJ &
  170. COORD.OBJ &
  171. CRATE.OBJ &
  172. CREDITS.OBJ &
  173. CREW.OBJ &
  174. DEBUG.OBJ &
  175. DIAL8.OBJ &
  176. DIALOG.OBJ &
  177. DISPLAY.OBJ &
  178. DOOR.OBJ &
  179. DRIVE.OBJ &
  180. DROP.OBJ &
  181. DYNAVEC.OBJ &
  182. EDIT.OBJ &
  183. EGOS.OBJ &
  184. ENDING.OBJ &
  185. EVENT.OBJ &
  186. EXPAND.OBJ &
  187. FACE.OBJ &
  188. FACING.OBJ &
  189. FACTORY.OBJ &
  190. FINDPATH.OBJ &
  191. FLASHER.OBJ &
  192. FLY.OBJ &
  193. FOOT.OBJ &
  194. FUSE.OBJ &
  195. GADGET.OBJ &
  196. GAMEDLG.OBJ &
  197. GAUGE.OBJ &
  198. GLOBALS.OBJ &
  199. GOPTIONS.OBJ &
  200. GSCREEN.OBJ &
  201. HDATA.OBJ &
  202. HEAP.OBJ &
  203. HELP.OBJ &
  204. HOUSE.OBJ &
  205. IDATA.OBJ &
  206. INFANTRY.OBJ &
  207. INI.OBJ &
  208. INIT.OBJ &
  209. INTRO.OBJ &
  210. IOMAP.OBJ &
  211. IOOBJ.OBJ &
  212. IPX.OBJ &
  213. IPXADDR.OBJ &
  214. IPXCONN.OBJ &
  215. IPXGCONN.OBJ &
  216. IPXMGR.OBJ &
  217. IPXPROT.OBJ &
  218. JSHELL.OBJ &
  219. LAYER.OBJ &
  220. LINK.OBJ &
  221. LIST.OBJ &
  222. LOADDLG.OBJ &
  223. LOGIC.OBJ &
  224. MAP.OBJ &
  225. MAPEDDLG.OBJ &
  226. MAPEDIT.OBJ &
  227. MAPEDPLC.OBJ &
  228. MAPEDTM.OBJ &
  229. MAPSEL.OBJ &
  230. MENUS.OBJ &
  231. MISSION.OBJ &
  232. MOUSE.OBJ &
  233. MPLAYER.OBJ &
  234. MSGBOX.OBJ &
  235. MSGLIST.OBJ &
  236. NETDLG.OBJ &
  237. NULLCONN.OBJ &
  238. NULLDLG.OBJ &
  239. NULLMGR.OBJ &
  240. OBJECT.OBJ &
  241. ODATA.OBJ &
  242. OPTIONS.OBJ &
  243. OVERLAY.OBJ &
  244. POWER.OBJ &
  245. PROFILE.OBJ &
  246. QUEUE.OBJ &
  247. RADAR.OBJ &
  248. RADIO.OBJ &
  249. REINF.OBJ &
  250. RULES.OBJ &
  251. SAVELOAD.OBJ &
  252. SCENARIO.OBJ &
  253. SCORE.OBJ &
  254. SCROLL.OBJ &
  255. SDATA.OBJ &
  256. SESSION.OBJ &
  257. SHAPEBTN.OBJ &
  258. SIDEBAR.OBJ &
  259. SLIDER.OBJ &
  260. SMUDGE.OBJ &
  261. SOUNDDLG.OBJ &
  262. SPECIAL.OBJ &
  263. STARTUP.OBJ &
  264. STATBTN.OBJ &
  265. SUPER.OBJ &
  266. TAB.OBJ &
  267. TACTION.OBJ &
  268. TARGET.OBJ &
  269. TDATA.OBJ &
  270. TEAM.OBJ &
  271. TEAMTYPE.OBJ &
  272. TECHNO.OBJ &
  273. TEMPLATE.OBJ &
  274. TERRAIN.OBJ &
  275. TEVENT.OBJ &
  276. TEXTBTN.OBJ &
  277. THEME.OBJ &
  278. TOGGLE.OBJ &
  279. TRACKER.OBJ &
  280. TRIGGER.OBJ &
  281. TRIGTYPE.OBJ &
  282. TXTLABEL.OBJ &
  283. UDATA.OBJ &
  284. UNIT.OBJ &
  285. UTRACKER.OBJ &
  286. VDATA.OBJ &
  287. VECTOR.OBJ &
  288. VERSION.OBJ &
  289. VESSEL.OBJ &
  290. VISUDLG.OBJ &
  291. VORTEX.OBJ &
  292. WARHEAD.OBJ &
  293. WEAPON.OBJ &
  294. MCIMOVIE.OBJ &
  295. MCI.OBJ &
  296. MPGSET.OBJ &
  297. ICONLIST.OBJ &
  298. WOL_MAIN.OBJ &
  299. WOL_CHAT.OBJ &
  300. RAWOLAPI.OBJ &
  301. WOLAPIOB.OBJ &
  302. W95TRACE.OBJ &
  303. COMINIT.OBJ &
  304. WOL_LOGN.OBJ &
  305. WOLEDIT.OBJ &
  306. PASSEDIT.OBJ &
  307. SEDITDLG.OBJ &
  308. DIBFILE.OBJ &
  309. DIBUTIL.OBJ &
  310. WOL_GSUP.OBJ &
  311. UDPADDR.OBJ &
  312. WSPROTO.OBJ &
  313. WSPUDP.OBJ &
  314. WSPIPX.OBJ &
  315. _WSPROTO.OBJ &
  316. TOOLTIP.OBJ &
  317. WOL_OPT.OBJ &
  318. WOL_CGAM.OBJ &
  319. BIGCHECK.OBJ &
  320. WOL_DNLD.OBJ &
  321. WOLSTRNG.OBJ
  322. # Files that are candidates for library submission,
  323. # since they depend on the westwood library to a great
  324. # degree
  325. LIBFILES = &
  326. ROTBMP.OBJ &
  327. SPRITE.OBJ &
  328. # Self contained technology modules
  329. TECHFILES = &
  330. LZO1X_C.OBJ &
  331. LZO1X_D.OBJ &
  332. LZOPIPE.OBJ &
  333. LZOSTRAW.OBJ &
  334. LZW.OBJ &
  335. LZWPIPE.OBJ &
  336. LZWSTRAW.OBJ &
  337. BUFF.OBJ &
  338. BENCH.OBJ &
  339. RECT.OBJ &
  340. MPU.OBJ &
  341. READLINE.OBJ &
  342. PKPIPE.OBJ &
  343. PKSTRAW.OBJ &
  344. XSTRAW.OBJ &
  345. XPIPE.OBJ &
  346. RNDSTRAW.OBJ &
  347. PK.OBJ &
  348. BLWSTRAW.OBJ &
  349. STRAW.OBJ &
  350. B64STRAW.OBJ &
  351. LCWSTRAW.OBJ &
  352. CRCSTRAW.OBJ &
  353. SHASTRAW.OBJ &
  354. RAMFILE.OBJ &
  355. INI.OBJ &
  356. LCWPIPE.OBJ &
  357. LCWCOMP.OBJ &
  358. LCW.OBJ &
  359. CRCPIPE.OBJ &
  360. SHAPIPE.OBJ &
  361. PIPE.OBJ &
  362. BLOWPIPE.OBJ &
  363. B64PIPE.OBJ &
  364. BASE64.OBJ &
  365. FIXED.OBJ &
  366. MIXFILE.OBJ &
  367. CDFILE.OBJ &
  368. BFIOFILE.OBJ &
  369. RAWFILE.OBJ &
  370. MP.OBJ &
  371. INT.OBJ &
  372. MONOC.OBJ &
  373. RANDOM.OBJ &
  374. RGB.OBJ &
  375. HSV.OBJ &
  376. PALETTE.OBJ &
  377. BLOWFISH.OBJ &
  378. SHA.OBJ &
  379. CRC.OBJ &
  380. SENDFILE.OBJ
  381. !ifdef WIN32
  382. OBJECTS += 2KEYFBUF.OBJ &
  383. CPUID.OBJ &
  384. GETCPU.OBJ &
  385. INTERPAL.OBJ &
  386. WINASM.OBJ &
  387. WINSTUB.OBJ &
  388. 2TXTPRNT.OBJ &
  389. WRITEPCX.OBJ &
  390. IPX95.OBJ &
  391. 2KEYFRAM.OBJ &
  392. TCPIP.OBJ &
  393. INTERNET.OBJ &
  394. DDE.OBJ &
  395. CCDDE.OBJ &
  396. STATS.OBJ &
  397. PACKET.OBJ &
  398. KEY.OBJ &
  399. FIELD.OBJ
  400. !else
  401. OBJECTS += KEYFBUFF.OBJ &
  402. TXTPRNT.OBJ &
  403. KEYFRAME.OBJ
  404. !endif
  405. !ifdef WIN32
  406. PROJ_LIBS = &
  407. win32lib.lib
  408. !else
  409. PROJ_LIBS = &
  410. wwflat32.lib
  411. !endif
  412. VQ_LIBS = &
  413. vqa32wp.lib &
  414. vqm32wp.lib
  415. GCL_LIBS = &
  416. gclfr3s.lib
  417. MEMCHECK_LIBS = &
  418. MCA3S.LIB
  419. ############################################################################
  420. # Pre-compilation process. Move old files to backup directory.
  421. .BEFORE
  422. -if exist *.bak move *.bak bak
  423. -if exist $(WWOBJ)\*.pch del $(WWOBJ)\*.pch
  424. # After make has completed.
  425. .AFTER
  426. # If there is an abnormal termination in make process (e.g., error in compile).
  427. .ERROR
  428. #############################################################################
  429. # Default target
  430. !ifdef WIN32
  431. all: ra95.exe
  432. !else
  433. all: game.dat
  434. !endif
  435. #############################################################################
  436. # Builds the JSHELL.LIB file.
  437. $(WWOBJ)\jshell.lib: $(LIBFILES) $(WWOBJ)\jshell.lnk
  438. $(LIB) -c $^@ @$(WWOBJ)\jshell.lnk
  439. $(WWOBJ)\jshell.lnk: makefile
  440. %create $^@
  441. for %index in ($(LIBFILES)) do %append $^@ -+ $(WWOBJ)\%index
  442. #############################################################################
  443. # Builds the TECH.LIB file.
  444. $(WWOBJ)\tech.lib: $(TECHFILES) $(WWOBJ)\tech.lnk
  445. $(LIB) -c $^@ @$(WWOBJ)\tech.lnk
  446. $(WWOBJ)\tech.lnk: makefile
  447. %create $^@
  448. for %index in ($(TECHFILES)) do %append $^@ -+ $(WWOBJ)\%index
  449. #############################################################################
  450. # Builds the stub replacement program.
  451. CWSTUB.OBJ: CWSTUB.C
  452. *wcc /i=..\watcom\h /dQUIET /dVMM /ms /zQ -fo$(WWOBJ)\$^. $<
  453. CWSTUB.EXE: CWSTUB.OBJ
  454. *watcom\binw\wlink system dos file $(WWOBJ)\cwstub.obj name cwstub.exe option quiet library \wat\lib386\dos\clibs.lib, \wat\lib386\math87s.lib, \wat\lib386\dos\emu87.lib
  455. #############################################################################
  456. # Build the EXE
  457. game.dat: $(WWOBJ)\tech.lib $(WWOBJ)\jshell.lib $(OBJECTS) $(LINKFILE) $(TECHFILE)
  458. -Echo "dos.exe" linking phase.
  459. ..\watcom\binw\wlink name ..\run\dos.exe @$(LINKFILE)
  460. -Echo Binding phase.
  461. -..\watcom\binw\wstrip -n -q ..\run\dos.exe ..\run\temp.tmp
  462. -..\watcom\4gwbind ..\watcom\4gwpro.exe ..\run\temp.tmp ..\run\game.dat -vmon
  463. # -copy ..\run\game.dat C:\westwood\redalert
  464. # -copy ..\run\game.dat C:\westwood\ra
  465. # -copy ..\run\dos.exe C:\westwood\redalert
  466. # -copy ..\run\game.dat ..\cd\install
  467. -Echo "game.dat" executable completed.
  468. ra95.exe: $(WWOBJ)\tech.lib $(WWOBJ)\jshell.lib $(OBJECTS) $(LINKFILE) mpgdll.lib
  469. Echo "ra95.exe" linking phase. [$(LANGUAGE)]
  470. # nwlink name ..\run\$@ @$(LINKFILE)
  471. # ajw - Steve Tall replaced wlink with nwlink. Watcom fix allows more debug symbols in exe, so allows debugging in WD.
  472. # ..\watcom\binw\wlink name ..\run\$@ @$(LINKFILE)
  473. linker\nwlink name ..\run\$@ @$(LINKFILE)
  474. # ..\watcom\binnt\WRC cc_icon ..\run\$@
  475. # copy ..\run\ra95.exe C:\westwood\redalert
  476. # copy ..\run\ra95.exe C:\westwood\ra
  477. Echo "ra95.exe" executable completed. [$(LANGUAGE)]
  478. #############################################################################
  479. # This creates the linker command file for the DOS version.
  480. conquer.lnk : makefile
  481. %create $^@
  482. %append $^@ system dos4g
  483. %append $^@ option stack=128k
  484. %append $^@ option redefsok
  485. %append $^@ option quiet
  486. %append $^@ option map
  487. %append $^@ option eliminate
  488. %append $^@ option caseexact
  489. %append $^@ debug all
  490. %append $^@ library $(WWOBJ)\jshell.lib
  491. %append $^@ library $(WWOBJ)\tech.lib
  492. for %index in ($(OBJECTS)) do %append $^@ file $(WWOBJ)\%index
  493. for %index in ($(PROJ_LIBS)) do %append $^@ library $(WWFLAT)\lib\%index
  494. for %index in ($(VQ_LIBS)) do %append $^@ library ..\vq\lib\%index
  495. for %index in ($(GCL_LIBS)) do %append $^@ library ..\gcl510\w10\%index
  496. # %append $^@ debug watcom all
  497. #############################################################################
  498. # This creates the linker command file for the Windows 95 version.
  499. win95.lnk : makefile
  500. %create $^@
  501. %append $^@ system win95
  502. %append $^@ option redefsok
  503. %append $^@ option quiet
  504. %append $^@ option map
  505. %append $^@ option eliminate
  506. %append $^@ option caseexact
  507. %append $^@ option stack=128k
  508. # %append $^@ debug watcom all
  509. # %append $^@ debug all
  510. for %index in ($(OBJECTS)) do %append $^@ file $(WWOBJ)\%index
  511. %append $^@ library $(WWOBJ)\jshell.lib
  512. %append $^@ library $(WWOBJ)\tech.lib
  513. %append $^@ library $(WWFLAT)\lib\win32lib.lib
  514. %append $^@ library ..\winvq\lib\vqa32wp.lib
  515. %append $^@ library ..\winvq\lib\vqm32wp.lib
  516. %append $^@ library ipx\wwipx32.lib
  517. %append $^@ library ..\dxsdk\lib\dxguid.lib
  518. %append $^@ library ..\dxsdk\lib\ddraw.lib
  519. %append $^@ library ..\dxsdk\lib\dsound.lib
  520. %append $^@ library $(WWFLAT)\lib\keyboard.lib
  521. %append $^@ library mpgdll.lib
  522. %append $^@ library ..\dxmedia\lib\amstrmid.lib
  523. %append $^@ library ..\dxmedia\lib\strmbasd.lib
  524. # %append $^@ library ..\watcom\lib386\nt\uuid.lib
  525. %append $^@ library uuid.lib
  526. #############################################################
  527. # Update source and art to network.
  528. update: pre .SYMBOLIC
  529. -copy i:\cd1\*.* f:\projects\c&c0\cd\win95\cd1 /s /u
  530. -copy i:\cd2\*.* f:\projects\c&c0\cd\win95\cd2 /s /u
  531. # -copy i:\cd1\*.* f:\projects\c&c0\cd\dos\cd1 /s /u
  532. # -copy i:\cd2\*.* f:\projects\c&c0\cd\dos\cd2 /s /u
  533. -copy ..\art\ingame\*.* f:\projects\c&c0\art\ingame /u /v /s
  534. -copy ..\audio\sfx\*.* f:\projects\c&c0\audio\ingame\sfx /u /v /s
  535. -copy *.* f:\projects\c&c0\code /v /s /u
  536. -copy ..\wwflat32\*.* f:\projects\c&c0\wwflat32 /v /s /u
  537. -copy ..\win32lib\*.* f:\projects\c&c0\win32lib /v /s /u
  538. -copy ..\vq\*.* f:\projects\c&c0\vq /v /s /u
  539. -copy ..\winvq\*.* f:\projects\c&c0\winvq /v /s /u
  540. pre: .SYMBOLIC
  541. -copy f:\projects\c&c0\editor\english\*.exe i:\cd1\install /u
  542. -copy f:\projects\c&c0\editor\english\*.exe i:\cd2\install /u
  543. -copy f:\projects\c&c0\editor\english\edit.dat i:\cd1\install /u
  544. -copy f:\projects\c&c0\editor\english\edit.dat i:\cd2\install /u
  545. -copy ..\run\rules.ini ..\maps /u
  546. -copy ..\run\rules.ini f:\projects\c&c0\maps /u
  547. -watcom\binw\wstrip -n -q ..\run\ra95.exe ..\run\ra95.exe
  548. -copy ..\run\ra95.exe i:\cd1\install /u
  549. -copy ..\run\ra95.exe i:\cd2\install /u
  550. -copy ..\run\game.dat i:\cd1\install /u
  551. -copy ..\run\game.dat i:\cd2\install /u
  552. packlist SETUP.LST
  553. -copy setup.pkg i:\cd1\setup95 /u
  554. -copy setup.pkg i:\cd2\setup95 /u
  555. -mkdir f:\projects\c&c0\playtest\%_DATE
  556. -copy ..\run\ra95.exe f:\projects\c&c0\playtest\%_DATE /u /v
  557. -copy ..\run\game.dat f:\projects\c&c0\playtest\%_DATE /u /v
  558. -copy *.map f:\projects\c&c0\playtest\%_DATE /u /v
  559. -copy *.cpp *.h f:\projects\c&c0\playtest\%_DATE /u /v
  560. #############################################################################
  561. # Explicit rules to build the master zip files (used by Codewrite merge).
  562. BILL_R.ZIP: pkzip.dat .SYMBOLIC
  563. -del f:\projects\c&c0\bill_r.zip
  564. -pkzip -p -u [email protected] f:\projects\c&c0\bill_r.zip *.* eng\conquer.txt
  565. MARIA_L.ZIP: pkzip.dat .SYMBOLIC
  566. -del f:\projects\c&c0\maria_l.zip
  567. -pkzip -p -u [email protected] f:\projects\c&c0\maria_l.zip *.* eng\conquer.txt
  568. BARRY_G.ZIP: pkzip.dat .SYMBOLIC
  569. -del f:\projects\c&c0\barry_g.zip
  570. -pkzip -p -u [email protected] f:\projects\c&c0\barry_g.zip *.* eng\conquer.txt
  571. PHIL_G.ZIP: pkzip.dat .SYMBOLIC
  572. -del f:\projects\c&c0\phil_g.zip
  573. -pkzip -p -u [email protected] f:\projects\c&c0\phil_g.zip *.* eng\conquer.txt
  574. DAVID_D.ZIP: pkzip.dat .SYMBOLIC
  575. -del f:\projects\c&c0\david_d.zip
  576. -pkzip -p -u [email protected] f:\projects\c&c0\david_d.zip *.* eng\conquer.txt
  577. BILL_P.ZIP: pkzip.dat .SYMBOLIC
  578. -del f:\projects\c&c0\bill_p.zip
  579. -pkzip -p -u [email protected] f:\projects\c&c0\bill_p.zip *.* eng\conquer.txt
  580. STEVE_T.ZIP: pkzip.dat .SYMBOLIC
  581. -del f:\projects\c&c0\steve_t.zip
  582. -pkzip -p -u [email protected] f:\projects\c&c0\steve_t.zip *.* eng\conquer.txt
  583. VICTOR_G.ZIP: pkzip.dat .SYMBOLIC
  584. -del f:\projects\c&c0\victor_g.zip
  585. -pkzip -p -u [email protected] f:\projects\c&c0\victor_g.zip *.* eng\conquer.txt
  586. # Special "mega-zip" process.
  587. JOE_B.ZIP: pkzip.dat .SYMBOLIC
  588. -pkzip -rp -u -xcps\*.* [email protected] f:\projects\c&c0\joe_b.zip
  589. #############################################################################
  590. # Rebuilds the master zip control file. This is used by the zip process.
  591. PKZIP.DAT: makefile .SYMBOLIC
  592. %create $^@
  593. %append $^@ *.000
  594. %append $^@ *.@@@
  595. %append $^@ *.bak
  596. %append $^@ *.bat
  597. %append $^@ *.cfg
  598. %append $^@ *.csm
  599. %append $^@ *.dat
  600. %append $^@ *.def
  601. %append $^@ *.doc
  602. %append $^@ *.dsw
  603. %append $^@ *.err
  604. %append $^@ *.ewp
  605. %append $^@ *.ext
  606. %append $^@ *.i
  607. %append $^@ *.ide
  608. %append $^@ *.lnk
  609. %append $^@ *.log
  610. %append $^@ *.lst
  611. %append $^@ *.mac
  612. %append $^@ *.map
  613. %append $^@ *.mbt
  614. %append $^@ *.mk
  615. %append $^@ *.mk1
  616. %append $^@ *.mrt
  617. %append $^@ *.obj
  618. %append $^@ *.obr
  619. %append $^@ *.out
  620. %append $^@ *.pch
  621. %append $^@ *.pfs
  622. %append $^@ *.pgp
  623. %append $^@ *.pif
  624. %append $^@ *.pjt
  625. %append $^@ *.prf
  626. %append $^@ *.pro
  627. %append $^@ *.ptg
  628. %append $^@ *.rc
  629. %append $^@ *.rep
  630. %append $^@ *.rpt
  631. %append $^@ *.rst
  632. %append $^@ *.sym
  633. %append $^@ *.tag
  634. %append $^@ *.td
  635. %append $^@ *.td
  636. %append $^@ *.tgt
  637. %append $^@ *.tmp
  638. %append $^@ *.tr
  639. %append $^@ *.tr
  640. %append $^@ *.txt
  641. %append $^@ *.vec
  642. %append $^@ *.wpj
  643. %append $^@ *.zip
  644. %append $^@ *.~*
  645. %append $^@ an_prefs
  646. %append $^@ state.rst
  647. #--------------------------------------------------------------------------
  648. # The IPX assembly object files are created in a special way:
  649. # IPXREAL is the real-mode code that gets stuffed into memory by protected-
  650. # mode code. It's assembled, then converted into a big header file by
  651. # the 'EBN' utility.
  652. # IPXPROT is the protected-mode code that includes IPXREAL.IBN, and
  653. # provides routines to let C++ read the code's address & size.
  654. #--------------------------------------------------------------------------
  655. $(WWOBJ)\ipxreal.ibn: $(WWOBJ)\ipxreal.obj
  656. %create $^*.rsp
  657. %append $^*.rsp $(WWOBJ)\$^&.obj
  658. %append $^*.rsp $(WWOBJ)\$^&.exe
  659. %append $^*.rsp $(WWOBJ)\$^&.map
  660. utils\tlink @$^*.rsp
  661. utils\tdstrip $(WWOBJ)\ipxreal.exe
  662. utils\ebn $(WWOBJ)\ipxreal.exe
  663. $(WWOBJ)\ipxreal.obj: ipxreal.asm
  664. utils\tasm /zn /la /ml /m2 ipxreal.asm, $(WWOBJ)\ipxreal.obj
  665. ipxprot.obj: $(WWOBJ)\ipxreal.ibn ipxprot.asm
  666. utils\tasm $(ASM_CFG) ipxprot.asm, $(WWOBJ)\ipxprot.obj
  667. # copy $(WWOBJ)\ipxprot.obj d:obj /U
  668. ipx.obj: ipx.cpp function.h
  669. echo Compiling $[.
  670. *$(CC) $(CC_CFG) -zz -fo$(WWOBJ)\$^. $[*.cpp
  671. ipxmgr.obj: ipxmgr.cpp function.h
  672. echo Compiling $[.
  673. *$(CC) $(CC_CFG) -zz -fo$(WWOBJ)\$^. $[*.cpp
  674. ipxconn.obj: ipxconn.cpp function.h
  675. echo Compiling $[.
  676. *$(CC) $(CC_CFG) -zz -fo$(WWOBJ)\$^. $[*.cpp
  677. ipx95.obj: ipx95.cpp function.h
  678. echo Compiling $[.
  679. *$(CC) $(CC_CFG) -zz -fo$(WWOBJ)\$^. $[*.cpp
  680. winstub.obj: winstub.cpp ipx95.h tcpip.h function.h
  681. echo Compiling $[.
  682. *$(CC) $(CC_CFG) -zz -fo$(WWOBJ)\$^. $[*.cpp
  683. #**************************** End of makefile ******************************