vc16.mk 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  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. # Microsoft Visual C++ 1.x 16 bit version. Supports 16 bit
  30. # DOS and Windows development.
  31. #
  32. #############################################################################
  33. # Include standard startup script definitions
  34. .IMPORT: SCITECH
  35. .INCLUDE: "$(SCITECH)\makedefs\startup.mk"
  36. # Import enivornment variables that we use
  37. .IMPORT .IGNORE : VC_LIBBASE
  38. # Default commands for compiling, assembling linking and archiving
  39. CC := cl # C-compiler and flags
  40. CFLAGS := /YX /w /G3 /Gs
  41. .IF $(USE_TASM32)
  42. AS := tasm32
  43. .ELIF $(USE_TASMX)
  44. AS := tasmx # Assembler and flags
  45. .ELSE
  46. AS := tasm # Assembler and flags
  47. .ENDIF
  48. ASFLAGS := /t /mx /m /D__COMM__ /iINCLUDE /i$(SCITECH)\INCLUDE
  49. LD := cl # Loader and flags
  50. LDFLAGS = $(CFLAGS)
  51. RC := rc # WIndows resource compiler
  52. RCFLAGS :=
  53. LIB := lib # Librarian
  54. LIBFLAGS := /NOI /NOE
  55. ILIB := implib # Import librarian
  56. ILIBFLAGS := /noignorecase
  57. # Optionally turn on debugging information
  58. .IF $(DBG)
  59. CFLAGS += /Yd /Zi # Turn on debugging for C compiler
  60. ASFLAGS += /zi # Turn on debugging for assembler
  61. .ELSE
  62. ASFLAGS += /q # Suppress object records not needed for linking
  63. .END
  64. # Optionally turn on optimisations
  65. .IF $(OPT)
  66. CFLAGS += /Ox
  67. .END
  68. # Optionally turn on direct i387 FPU instructions
  69. .IF $(FPU)
  70. CFLAGS += /FPi87 /DFPU387
  71. ASFLAGS += /DFPU387 /DFPU_REG_RTN
  72. .END
  73. # Optionally compile a beta release version of a product
  74. .IF $(BETA)
  75. CFLAGS += /DBETA
  76. ASFLAGS += /DBETA
  77. .END
  78. # Use a larger stack during linking if requested ???? How the fuck do you
  79. # specify linker options on the CL command line?????
  80. .IF $(STKSIZE)
  81. .ENDIF
  82. # Optionally compile for 16 bit Windows
  83. .IF $(USE_WIN16)
  84. .IF $(BUILD_DLL)
  85. CFLAGS += /GD /Alfw /DBUILD_DLL
  86. ASFLAGS += -DBUILD_DLL
  87. .ELSE
  88. CFLAGS += /GA /AL
  89. .ENDIF
  90. DX_ASFLAGS += -D__WINDOWS16__
  91. LIB_OS = WIN16
  92. .ELSE
  93. USE_REALDOS := 1
  94. CFLAGS += /AL
  95. LIB_OS = DOS16
  96. .END
  97. # Place to look for PMODE library files
  98. PMLIB := pm.lib
  99. # Define the base directory for library files
  100. .IF $(CHECKED)
  101. LIB_BASE_DIR := $(SCITECH_LIB)\lib\debug
  102. CFLAGS += -DCHECKED=1
  103. .ELSE
  104. LIB_BASE_DIR := $(SCITECH_LIB)\lib\release
  105. .ENDIF
  106. # Define where to install library files
  107. LIB_BASE := $(LIB_BASE_DIR)\$(LIB_OS)\$(VC_LIBBASE)
  108. LIB_DEST := $(LIB_BASE)
  109. # Define which file contains our rules
  110. RULES_MAK := vc16.mk