| ############################################################################# |
| # |
| # SciTech Multi-platform Graphics Library |
| # |
| # ======================================================================== |
| # |
| # The contents of this file are subject to the SciTech MGL Public |
| # License Version 1.0 (the "License"); you may not use this file |
| # except in compliance with the License. You may obtain a copy of |
| # the License at http://www.scitechsoft.com/mgl-license.txt |
| # |
| # Software distributed under the License is distributed on an |
| # "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or |
| # implied. See the License for the specific language governing |
| # rights and limitations under the License. |
| # |
| # The Original Code is Copyright (C) 1991-1998 SciTech Software, Inc. |
| # |
| # The Initial Developer of the Original Code is SciTech Software, Inc. |
| # All Rights Reserved. |
| # |
| # ======================================================================== |
| # |
| # Descripton: Generic DMAKE startup makefile definitions file. Assumes |
| # that the SCITECH environment variable has been set to point |
| # to where all our stuff is installed. You should not need |
| # to change anything in this file. |
| # |
| # Microsoft 386 C 6.0 32 bit. Supports 32 bit |
| # OS/2 development. |
| # |
| ############################################################################# |
| |
| # Include standard startup script definitions |
| .IMPORT: SCITECH |
| .INCLUDE: "$(SCITECH)\makedefs\startup.mk" |
| |
| # Import enivornment variables that we use |
| .IMPORT .IGNORE : CL_LIBBASE USE_VDD |
| .IMPORT .IGNORE : USE_MASM |
| |
| # Default commands for compiling, assembling linking and archiving |
| CC := cl386 # C-compiler and flags |
| # NB: The -Zf flag is ABSOLUTELY NECESSARY to compile IBM's OS/2 headers. |
| # It isn't documented anywhere but obviously adds support for 48-bit |
| # far pointers (ie. _far is valid in 32-bit code). Great. |
| CFLAGS := -G3s -Zf -D__386__ |
| ASFLAGS := /t /mx /m /oi /D__FLAT__ /DSTDCALL_MANGLE /D__NOU_VAR__ /iINCLUDE /i$(SCITECH)\INCLUDE |
| .IF $(USE_TASM32) |
| AS := tasm32 |
| .ELIF $(USE_TASMX) |
| AS := tasmx # Assembler and flags |
| .ELIF $(USE_MASM) |
| AS := masm # Assembler and flags |
| ASFLAGS := /t /mx /D__FLAT__ /DSTDCALL_MANGLE /D__NOU_VAR__ /iINCLUDE /i$(SCITECH)\INCLUDE |
| .ELSE |
| AS := tasm # Assembler and flags |
| .ENDIF |
| LD := link386 # Linker and flags |
| LDFLAGS = $(CFLAGS) |
| RC := rc # Windows resource compiler |
| RCFLAGS := |
| LIB := lib # Librarian |
| LIBFLAGS := /NOI /NOE |
| ILIB := implib # Import librarian |
| ILIBFLAGS := /noignorecase |
| |
| # Optionally turn on debugging information |
| .IF $(DBG) |
| CFLAGS += -Zi # Turn on debugging for C compiler |
| ASFLAGS += /zi # Turn on debugging for assembler |
| .ELSE |
| ASFLAGS += /q # Suppress object records not needed for linking |
| .END |
| |
| # Optionally turn on optimisations |
| .IF $(OPT) |
| CFLAGS += /Ox |
| .END |
| |
| # Optionally turn on direct i387 FPU instructions |
| |
| .IF $(FPU) |
| CFLAGS += /FPi87 /DFPU387 |
| ASFLAGS += /DFPU387 /DFPU_REG_RTN |
| .END |
| |
| # Optionally compile a beta release version of a product |
| .IF $(BETA) |
| CFLAGS += /DBETA |
| ASFLAGS += /DBETA |
| .END |
| |
| # Use a larger stack during linking if requested ???? How the fuck do you |
| # specify linker options on the CL command line????? |
| |
| .IF $(STKSIZE) |
| .ENDIF |
| |
| # Place to look for PMODE library files |
| |
| PMLIB := pm.lib |
| |
| # Define the base directory for library files |
| |
| .IF $(CHECKED) |
| LIB_BASE_DIR := $(SCITECH_LIB)\lib\debug |
| CFLAGS += -DCHECKED=1 |
| .ELSE |
| LIB_BASE_DIR := $(SCITECH_LIB)\lib\release |
| .ENDIF |
| |
| # Define where to install library files |
| LIB_OS = os232 |
| LIB_BASE := $(LIB_BASE_DIR)\$(LIB_OS)\$(CL_LIBBASE) |
| LIB_DEST := $(LIB_BASE) |
| |
| # Define which file contains our rules |
| |
| RULES_MAK := cl386.mk |