1 #############################################################################
3 # SciTech Multi-platform Graphics Library
5 # ========================================================================
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
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.
17 # The Original Code is Copyright (C) 1991-1998 SciTech Software, Inc.
19 # The Initial Developer of the Original Code is SciTech Software, Inc.
20 # All Rights Reserved.
22 # ========================================================================
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.
29 # Microsoft 386 C 6.0 32 bit. Supports 32 bit
32 #############################################################################
34 # Include standard startup script definitions
36 .INCLUDE: "$(SCITECH)\makedefs\startup.mk"
38 # Import enivornment variables that we use
39 .IMPORT .IGNORE : CL_LIBBASE USE_VDD
40 .IMPORT .IGNORE : USE_MASM
42 # Default commands for compiling, assembling linking and archiving
43 CC := cl386 # C-compiler and flags
44 # NB: The -Zf flag is ABSOLUTELY NECESSARY to compile IBM's OS/2 headers.
45 # It isn't documented anywhere but obviously adds support for 48-bit
46 # far pointers (ie. _far is valid in 32-bit code). Great.
47 CFLAGS := -G3s -Zf -D__386__
48 ASFLAGS := /t /mx /m /oi /D__FLAT__ /DSTDCALL_MANGLE /D__NOU_VAR__ /iINCLUDE /i$(SCITECH)\INCLUDE
52 AS := tasmx # Assembler and flags
54 AS := masm # Assembler and flags
55 ASFLAGS := /t /mx /D__FLAT__ /DSTDCALL_MANGLE /D__NOU_VAR__ /iINCLUDE /i$(SCITECH)\INCLUDE
57 AS := tasm # Assembler and flags
59 LD := link386 # Linker and flags
61 RC := rc # Windows resource compiler
63 LIB := lib # Librarian
65 ILIB := implib # Import librarian
66 ILIBFLAGS := /noignorecase
68 # Optionally turn on debugging information
70 CFLAGS += -Zi # Turn on debugging for C compiler
71 ASFLAGS += /zi # Turn on debugging for assembler
73 ASFLAGS += /q # Suppress object records not needed for linking
76 # Optionally turn on optimisations
81 # Optionally turn on direct i387 FPU instructions
84 CFLAGS += /FPi87 /DFPU387
85 ASFLAGS += /DFPU387 /DFPU_REG_RTN
88 # Optionally compile a beta release version of a product
94 # Use a larger stack during linking if requested ???? How the fuck do you
95 # specify linker options on the CL command line?????
100 # Place to look for PMODE library files
104 # Define the base directory for library files
107 LIB_BASE_DIR := $(SCITECH_LIB)\lib\debug
108 CFLAGS += -DCHECKED=1
110 LIB_BASE_DIR := $(SCITECH_LIB)\lib\release
113 # Define where to install library files
115 LIB_BASE := $(LIB_BASE_DIR)\$(LIB_OS)\$(CL_LIBBASE)
116 LIB_DEST := $(LIB_BASE)
118 # Define which file contains our rules
120 RULES_MAK := cl386.mk