MAKEFILE.BOR 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  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. #****************************************************************************
  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. #
  24. # PROJECT
  25. # VQAPlay32 library.
  26. #
  27. # FILE
  28. # makefile (Borland/TNT)
  29. #
  30. # DESCRIPTION
  31. # Makefile for generating the 32-bit VQAPlay library.
  32. #
  33. # PROGRAMMER
  34. # Denzil E. Long, Jr.
  35. #
  36. # DATE
  37. # Feburary 7, 1995
  38. #
  39. # ENVIROMENT
  40. # PRJ - Projects path.
  41. # PRJVCS - Version control archive path.
  42. # BCDIR - Borland C installation path.
  43. # TNTDIR - Pharlap/TNT installation path.
  44. #
  45. #****************************************************************************
  46. .AUTODEPEND
  47. #----------------------------------------------------------------------------
  48. # VERIFY ENVIROMENT
  49. #----------------------------------------------------------------------------
  50. !if !$d(PRJ) || !$d(PRJVCS) || !$d(BCDIR) || !$d(TNTDIR)
  51. !error Environment not configured.
  52. !endif
  53. #----------------------------------------------------------------------------
  54. # PROJECTS DEPENDENT MACROS
  55. #----------------------------------------------------------------------------
  56. PRJNAME = vqa32bp
  57. PRJDIR = $(PRJ)\VQA32
  58. OBJECTS = \
  59. config.obj \
  60. task.obj \
  61. loader.obj \
  62. drawer.obj \
  63. audio.obj \
  64. monodisp.obj \
  65. dstream.obj \
  66. unvqbuff.obj \
  67. unvqvesa.obj \
  68. vertag.obj \
  69. caption.obj \
  70. # unvqxmde.obj \
  71. PRJLIBS = \
  72. vqm32bp.lib \
  73. #----------------------------------------------------------------------------
  74. # PATH MACROS
  75. #----------------------------------------------------------------------------
  76. !if $d(LIB)
  77. LIBPATH = $(PRJ)\LIB;$(LIB)
  78. !else
  79. LIBPATH = $(PRJ)\LIB;$(TNTDIR)\LIB;$(BCDIR)\LIB
  80. !endif
  81. !if $d(INCLUDE)
  82. INCLUDEPATH = $(PRJ)\INCLUDE;$(INCLUDE)
  83. !else
  84. INCLUDEPATH = $(PRJ)\INCLUDE;$(TNTDIR)\INCLUDE;$(BCDIR)\INCLUDE
  85. !endif
  86. .path.asm = $(PRJDIR)
  87. .path.c = $(PRJDIR)
  88. .path.cpp = $(PRJDIR)
  89. .path.h = $(PRJDIR)
  90. .path.exe = $(PRJDIR)
  91. .path.obj = $(PRJDIR)\OBJ
  92. .path.sym = $(PRJDIR)\OBJ
  93. .path.lib = $(PRJ)\LIB
  94. #----------------------------------------------------------------------------
  95. # TOOLS, COMMAND AND CONFIGURATIONS
  96. #----------------------------------------------------------------------------
  97. CC_CMD = bcc32
  98. ASM_CMD = tasm32
  99. LINK_CMD = tlink32
  100. LIB_CMD = tlib
  101. CC_CFG = bcc32.cfg
  102. ASM_CFG = tasm32.cfg
  103. LINK_CFG = tlink32.cfg
  104. LIB_CFG = tlib.cfg
  105. CFG_FILES = $(CC_CFG) $(ASM_CFG) $(LINK_CFG) $(LIB_CFG)
  106. #----------------------------------------------------------------------------
  107. # DEFAULT TARGET
  108. #----------------------------------------------------------------------------
  109. all: $(PRJNAME).lib
  110. #----------------------------------------------------------------------------
  111. # IMPLICIT RULES
  112. #----------------------------------------------------------------------------
  113. .c.obj:
  114. $(CC_CMD) -P- -n$(.path.obj) {$< }
  115. .cpp.obj:
  116. $(CC_CMD) -P -n$(.path.obj) {$< }
  117. .asm.obj:
  118. $(ASM_CMD) @$(ASM_CFG) $<,$(.path.obj)\$&
  119. #----------------------------------------------------------------------------
  120. # BUILD LIBRARY
  121. #----------------------------------------------------------------------------
  122. $(PRJNAME).lib: $(OBJECTS)
  123. - @del $(.path.lib)\$(PRJNAME).lib >&NUL
  124. $(LIB_CMD) $(.path.lib)\$(PRJNAME).lib @$(LIB_CFG) @&&|
  125. -+$(**: = -+)
  126. |
  127. - @copy vqaplay.h $(PRJ)\INCLUDE\VQA32 >&NUL
  128. - @copy vqafile.h $(PRJ)\INCLUDE\VQA32 >&NUL
  129. #----------------------------------------------------------------------------
  130. # ALL OBJECTS DEPEND ON THE CONFIGURATION FILES
  131. #----------------------------------------------------------------------------
  132. $(OBJECTS): $(CFG_FILES)
  133. #----------------------------------------------------------------------------
  134. # COMPILER CONFIGURATION
  135. #----------------------------------------------------------------------------
  136. $(CC_CFG): makefile
  137. copy &&|
  138. -c
  139. -3
  140. -d
  141. -H=$(.path.sym)\headers.sym
  142. -wpro
  143. -weas
  144. -wpre
  145. -I$(INCLUDEPATH)
  146. -DPHARLAP_TNT=1
  147. #-v
  148. | $(CC_CFG)
  149. #----------------------------------------------------------------------------
  150. # ASSEMBLER CONFIGURATION
  151. #----------------------------------------------------------------------------
  152. $(ASM_CFG): makefile
  153. copy &&|
  154. /t
  155. /m
  156. /w+
  157. /jJUMPS
  158. /ml
  159. /p
  160. /z
  161. /i$(PRJ)\INCLUDE\VQM32
  162. /zi
  163. /dPHARLAP_TNT=1
  164. | $(ASM_CFG)
  165. #----------------------------------------------------------------------------
  166. # LINKER CONFIGURATION
  167. #----------------------------------------------------------------------------
  168. $(LINK_CFG): makefile
  169. copy &&|
  170. /c
  171. /m
  172. /Gm
  173. -L$(LIBPATH)
  174. -v
  175. | $(LINK_CFG)
  176. #----------------------------------------------------------------------------
  177. # LIBRARIAN CONFIGURATION
  178. #----------------------------------------------------------------------------
  179. $(LIB_CFG): makefile
  180. copy &&|
  181. /C /E
  182. | $(LIB_CFG)