MAKEFILE.BOR 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  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. # VQMisc32 library. (Borland/TNT)
  26. #
  27. # FILE
  28. # makefile
  29. #
  30. # DESCRIPTION
  31. # Makefile for generating VQMisc32 library.
  32. #
  33. # PROGRAMMER
  34. # Denzil E. Long, Jr.
  35. #
  36. # DATE
  37. # Febuary 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. # PROJECT DEPENDENT MACROS
  55. #----------------------------------------------------------------------------
  56. PRJNAME = VQM32BP
  57. PRJDIR = $(PRJ)\VQM32
  58. OBJECTS = \
  59. iff.obj \
  60. profile.obj \
  61. audzap.obj \
  62. audunzap.obj \
  63. targa.obj \
  64. vertag.obj \
  65. sortpal.obj \
  66. palette.obj \
  67. mono.obj \
  68. lcwuncmp.obj \
  69. lcwcomp.obj \
  70. testvb.obj \
  71. vb.obj \
  72. mcgabuf.obj \
  73. video.obj \
  74. xmode.obj \
  75. xmodepg.obj \
  76. vesabuf.obj \
  77. vesablit.obj \
  78. vesavid.obj \
  79. soscodec.obj \
  80. drawchar.obj \
  81. textprnt.obj \
  82. font.obj \
  83. chrwidth.obj \
  84. mixfile.obj \
  85. crc.obj \
  86. fillrect.obj \
  87. captoken.obj \
  88. huffcmp.obj \
  89. huffdcmp.obj \
  90. mem.obj \
  91. portio.obj \
  92. #----------------------------------------------------------------------------
  93. # PATH MACROS
  94. #----------------------------------------------------------------------------
  95. !if $d(LIB)
  96. LIBPATH = $(PRJ)\LIB;$(LIB)
  97. !else
  98. LIBPATH = $(PRJ)\LIB;$(TNTDIR)\LIB;$(BCDIR)\LIB
  99. !endif
  100. !if $d(INCLUDE)
  101. INCLUDEPATH = $(PRJ)\INCLUDE;$(INCLUDE)
  102. !else
  103. INCLUDEPATH = $(PRJ)\INCLUDE;$(TNTDIR)\INCLUDE;$(BCDIR)\INCLUDE
  104. !endif
  105. .path.asm = $(PRJDIR)
  106. .path.c = $(PRJDIR)
  107. .path.cpp = $(PRJDIR)
  108. .path.h = $(PRJDIR)
  109. .path.exe = $(PRJDIR)
  110. .path.obj = $(PRJDIR)\OBJ
  111. .path.sym = $(PRJDIR)\OBJ
  112. .path.lib = $(PRJ)\LIB
  113. #----------------------------------------------------------------------------
  114. # TOOLS, COMMANDS AND CONFIGURATIONS
  115. #----------------------------------------------------------------------------
  116. CC_CMD = bcc32
  117. ASM_CMD = tasm32
  118. LINK_CMD = tlink32
  119. LIB_CMD = tlib
  120. CC_CFG = bcc32.cfg
  121. ASM_CFG = tasm32.cfg
  122. LINK_CFG = tlink32.cfg
  123. LIB_CFG = tlib.cfg
  124. CFG_FILES = $(CC_CFG) $(ASM_CFG) $(LINK_CFG) $(LIB_CFG)
  125. #----------------------------------------------------------------------------
  126. # DEFAULT TARGET
  127. #----------------------------------------------------------------------------
  128. all: $(PRJNAME).lib
  129. #----------------------------------------------------------------------------
  130. # IMPLICIT RULES
  131. #----------------------------------------------------------------------------
  132. .c.obj:
  133. $(CC_CMD) -P- -n$(.path.obj) {$< }
  134. .cpp.obj:
  135. $(CC_CMD) -P -n$(.path.obj) {$< }
  136. .asm.obj:
  137. $(ASM_CMD) @$(ASM_CFG) $<,$(.path.obj)\$&
  138. #----------------------------------------------------------------------------
  139. # BUILD THE LIBRARY
  140. #----------------------------------------------------------------------------
  141. $(PRJNAME).lib: $(OBJECTS)
  142. - @del $(.path.lib)\$(PRJNAME).lib >&NUL
  143. $(LIB_CMD) $(.path.lib)\$(PRJNAME).lib @$(LIB_CFG) @&&|
  144. -+$(**: = -+)
  145. |
  146. - @copy *.h $(PRJ)\INCLUDE\VQM32 >&NUL
  147. - @copy *.i $(PRJ)\INCLUDE\VQM32 >&NUL
  148. #----------------------------------------------------------------------------
  149. # ALL OBJECTS DEPEND ON THE CONFIGURATION FILES
  150. #----------------------------------------------------------------------------
  151. $(OBJECTS): $(CFG_FILES)
  152. #----------------------------------------------------------------------------
  153. # COMPILER CONFIGURATION
  154. #----------------------------------------------------------------------------
  155. $(CC_CFG): makefile
  156. copy &&|
  157. -c
  158. -3
  159. -d
  160. -H=$(.path.sym)\headers.sym
  161. -wpro
  162. -weas
  163. -wpre
  164. -I$(INCLUDEPATH)
  165. -DPHARLAP_TNT=1
  166. #-v
  167. | $(CC_CFG)
  168. #----------------------------------------------------------------------------
  169. # ASSEMBLER CONFIGURATION
  170. #----------------------------------------------------------------------------
  171. $(ASM_CFG): makefile
  172. copy &&|
  173. /t
  174. /m
  175. /w+
  176. /jJUMPS
  177. /ml
  178. /p
  179. /z
  180. /i$(PRJ)\INCLUDE
  181. /zi
  182. /dPHARLAP_TNT=1
  183. | $(ASM_CFG)
  184. #----------------------------------------------------------------------------
  185. # LINKER CONFIGURATION
  186. #----------------------------------------------------------------------------
  187. $(LINK_CFG): makefile
  188. copy &&|
  189. /c
  190. /m
  191. /Gm
  192. -L$(LIBPATH)
  193. -v
  194. | $(LINK_CFG)
  195. #----------------------------------------------------------------------------
  196. # LIBRARIAN CONFIGURATION
  197. #----------------------------------------------------------------------------
  198. $(LIB_CFG): makefile
  199. copy &&|
  200. /C /E
  201. | $(LIB_CFG)