bc32.mk 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. #############################################################################
  2. #
  3. # SciTech Multi-platform Graphics Library
  4. #
  5. # ========================================================================
  6. #
  7. # The contents of this file are subject to the SciTech MGL Public
  8. # License Version 1.0 (the "License"); you may not use this file
  9. # except in compliance with the License. You may obtain a copy of
  10. # the License at http://www.scitechsoft.com/mgl-license.txt
  11. #
  12. # Software distributed under the License is distributed on an
  13. # "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  14. # implied. See the License for the specific language governing
  15. # rights and limitations under the License.
  16. #
  17. # The Original Code is Copyright (C) 1991-1998 SciTech Software, Inc.
  18. #
  19. # The Initial Developer of the Original Code is SciTech Software, Inc.
  20. # All Rights Reserved.
  21. #
  22. # ========================================================================
  23. #
  24. # Descripton: Generic DMAKE startup makefile definitions file. Assumes
  25. # that the SCITECH environment variable has been set to point
  26. # to where all our stuff is installed. You should not need
  27. # to change anything in this file.
  28. #
  29. # Borland C++ 4.0 32 bit version. Supports Borland's DOS Power
  30. # Pack DPMI32 DOS extender, Phar Lap's TNT DOS Extender and
  31. # 32 bit Windows development.
  32. #
  33. #############################################################################
  34. # Include standard startup script definitions
  35. .IMPORT: SCITECH
  36. .INCLUDE: "$(SCITECH)\makedefs\startup.mk"
  37. # Import enivornment variables that we use
  38. .IMPORT .IGNORE : USE_SMX32 USE_TNT USE_WIN32 USE_BC5 USE_VXD BC_LIBBASE
  39. .IMPORT .IGNORE : VTOOLSD
  40. # We are compiling for a 32 bit envionment
  41. _32BIT_ := 1
  42. # Default commands for compiling, assembling linking and archiving
  43. CC := bcc32
  44. .IF $(USE_VXD)
  45. CFLAGS := -4 -i60 -d -w-stu
  46. .ELSE
  47. CFLAGS := -4 -H=bcc32.sym -i60 -d -w-stu
  48. .ENDIF
  49. .IF $(USE_NASM)
  50. AS := nasm
  51. ASFLAGS := -t -f obj -d__FLAT__ -iINCLUDE -i$(SCITECH)\INCLUDE
  52. .ELSE
  53. .IF $(USE_TASM32)
  54. AS := tasm32
  55. .ELIF $(USE_TASMX)
  56. AS := tasmx
  57. .ELSE
  58. AS := tasm
  59. .ENDIF
  60. ASFLAGS := /t /mx /m /w-res /w-mcp /D__FLAT__ /iINCLUDE /i$(SCITECH)\INCLUDE
  61. .ENDIF
  62. LD := bclink tlink32.exe
  63. LDFLAGS := -c
  64. RC := brc32
  65. .IF $(USE_BC5)
  66. WIN_VERSION := -V4.0
  67. RCFLAGS := -32
  68. .ELSE
  69. RCFLAGS := -w32
  70. .ENDIF
  71. LIB := tlib
  72. LIBFLAGS := /C
  73. ILIB := implib
  74. ILIBFLAGS := -c
  75. INTEL_X86 := 1
  76. NMSYM := $(SOFTICE_PATH)\nmsym.exe
  77. NMSYMFLAGS := /TRANSLATE:source,package,always /PROMPT /SOURCE:$(SCITECH)\src\pm;$(SCITECH)\src\pm\common;$(SCITECH)\src\pm\win32
  78. # Optionally turn on debugging information
  79. .IF $(DBG)
  80. CFLAGS += -v
  81. LDFLAGS += -v
  82. LIBFLAGS += /P256
  83. .IF $(USE_NASM)
  84. ASFLAGS += -F borland -g
  85. .ELSE
  86. ASFLAGS += /zi
  87. .ENDIF
  88. .ELSE
  89. LDFLAGS += -x
  90. LIBFLAGS += /P128
  91. .IF $(USE_NASM)
  92. ASFLAGS += -F null
  93. .ELSE
  94. ASFLAGS += /q
  95. .ENDIF
  96. .END
  97. # Optionally disable nagging warnings if MAX_WARN is not on
  98. .IF $(MAX_WARN)
  99. .ELSE
  100. CFLAGS += -w-aus -w-par -w-hid -w-pia
  101. .ENDIF
  102. # Optionally turn on optimisations (-5 -O2 breaks BC++ 4.0-4.5 sometimes)
  103. .IF $(OPT)
  104. CFLAGS += -5 -O2 -k-
  105. .ELIF $(OPT_SIZE)
  106. CFLAGS += -5 -O1 -k-
  107. .END
  108. # Optionally turn on direct i387 FPU instructions
  109. .IF $(FPU)
  110. CFLAGS += -DFPU387
  111. ASFLAGS += -dFPU387
  112. .END
  113. # Optionally compile a beta release version of a product
  114. .IF $(BETA)
  115. CFLAGS += -DBETA
  116. ASFLAGS += -dBETA
  117. .END
  118. # Optionally use Phar Lap's TNT DOS Extender, otherwise use the DOS Power Pack
  119. .IF $(USE_TNT)
  120. CFLAGS += -D__MSDOS__
  121. DX_CFLAGS += -DTNT
  122. DX_ASFLAGS += -dTNT
  123. LIB_OS = DOS32
  124. DEF_LIBS := import32.lib cw32.lib dosx32.lib tntapi.lib
  125. .ELIF $(USE_VXD)
  126. LDFLAGS += -n -P- -x
  127. CFLAGS += -RT- -x- -Oi -VC -I$(VTOOLSD)\INCLUDE -DIS_32 -DWANTVXDWRAPS -DVTOOLSD -DWIN40 -DWIN40_OR_LATER -DDEFSEG=1 -zC_LTEXT -zALCODE -zR_LDATA -zTLCODE
  128. DEF_LIBS := $(VTOOLSD)\lib\cfbc440d.lib $(VTOOLSD)\lib\wr0bc440.lib $(VTOOLSD)\lib\wr1bc440.lib $(VTOOLSD)\lib\wr2bc440.lib $(VTOOLSD)\lib\wr3bc440.lib $(VTOOLSD)\lib\rtbc440d.lib
  129. DX_ASFLAGS += -d__VXD__ -d__BORLANDC__=1 -I$(VTOOLSD)\INCLUDE -I$(VTOOLSD)\LIB\INCLUDE
  130. LIB_OS = VXD
  131. .ELIF $(USE_WIN32)
  132. .IF $(WIN32_GUI)
  133. .ELSE
  134. CFLAGS += -D__CONSOLE__
  135. .ENDIF
  136. .IF $(BUILD_DLL)
  137. CFLAGS += -WD -DBUILD_DLL
  138. ASFLAGS += -dBUILD_DLL
  139. .ELSE
  140. CFLAGS += -W -WM
  141. .ENDIF
  142. .IF $(USE_BC5)
  143. .ELSE
  144. CFLAGS += -D_WIN32
  145. .ENDIF
  146. DEF_LIBS := import32.lib cw32mt.lib
  147. DX_ASFLAGS += -d__WINDOWS32__
  148. LIB_OS = WIN32
  149. .ELIF $(USE_SMX32)
  150. CFLAGS += -D__SMX32__ -DPME32
  151. DX_CFLAGS +=
  152. DX_ASFLAGS += -d__SMX32__ -dDPMI32 -dPME32
  153. USE_REALDOS := 1
  154. LIB_OS = SMX32
  155. DEF_LIBS := cw32mt.lib
  156. .ELSE
  157. USE_DPMI32 := 1
  158. CFLAGS += -D__MSDOS__
  159. DX_CFLAGS += -WX -DDPMI32
  160. DX_ASFLAGS += -dDPMI32
  161. USE_REALDOS := 1
  162. LIB_OS = DOS32
  163. DEF_LIBS :=
  164. .END
  165. # Define the base directory for library files
  166. .IF $(CHECKED)
  167. LIB_BASE_DIR := $(SCITECH_LIB)\lib\debug
  168. CFLAGS += -DCHECKED=1
  169. .ELSE
  170. LIB_BASE_DIR := $(SCITECH_LIB)\lib\release
  171. .ENDIF
  172. # Define where to install library files
  173. LIB_BASE := $(LIB_BASE_DIR)\$(LIB_OS)\$(BC_LIBBASE)
  174. LIB_DEST := $(LIB_BASE)
  175. # Place to look for PMODE library files
  176. .IF $(USE_TNT)
  177. PMLIB := $(LIB_BASE)\tnt\pm.lib
  178. .ELIF $(USE_DPMI32)
  179. PMLIB := $(LIB_BASE)\dpmi32\pm.lib
  180. .ELSE
  181. PMLIB := $(LIB_BASE)\pm.lib
  182. .END
  183. # Define which file contains our rules
  184. RULES_MAK := bc32.mk