| ############################################################################# |
| # |
| # 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. |
| # |
| # Symantec C++ 6.x/7.x 32 bit version. Supports the DOSX |
| # extender, FlashTek X32 and Phar Lap's TNT DOS Extender |
| # and 32 bit Windows development. |
| # |
| ############################################################################# |
| |
| # Include standard startup script definitions |
| .IMPORT: SCITECH |
| .INCLUDE: "$(SCITECH)\makedefs\startup.mk" |
| |
| # Import enivornment variables that we use |
| .IMPORT .IGNORE : USE_TNT USE_X32 USE_X32VM SC_LIBBASE |
| |
| # We are compiling for a 32 bit envionment |
| _32BIT_ := 1 |
| |
| # Default commands for compiling, assembling linking and archiving |
| CC := sc # C-compiler and flags |
| CFLAGS := -Jm |
| .IF $(USE_TASM32) |
| AS := tasm32 |
| .ELIF $(USE_TASMX) |
| AS := tasmx # Assembler and flags |
| .ELSE |
| AS := tasm # Assembler and flags |
| .ENDIF |
| .IF $(USE_WIN32) |
| ASFLAGS := /t /mx /m /D__FLAT__ /iINCLUDE /i$(SCITECH)\INCLUDE |
| .ELSE |
| ASFLAGS := /t /mx /m /DES_NOT_DS /D__COMM__ /i$(SCITECH)\INCLUDE |
| .ENDIF |
| LD := sc # Loader and flags |
| LD_FLAGS = |
| RC := rcc # WIndows resource compiler |
| RCFLAGS := -32 # Mark as Win32 compatible resources |
| LIB := lib # Librarian |
| LIBFLAGS := /N /B |
| ILIB := implib # Import librarian |
| ILIBFLAGS := |
| |
| # Optionally turn on debugging information |
| .IF $(DBG) |
| CFLAGS += -g # Turn on debugging for C compiler (FlashView) |
| .IF $(USE_TNT) |
| LDFLAGS += -fullsym # Turn on debugging for TNT 386link linker |
| .END |
| .IF $(USE_X32) or $(USE_X32VM) |
| LDFLAGS += -L/map # Turn on debugging for FlashView debugger |
| .END |
| .ELSE |
| ASFLAGS += /q # Suppress object records not needed for linking |
| .END |
| |
| # Optionally turn on optimisations |
| .IF $(OPT) |
| CFLAGS += -5 -o+all |
| .ELIF $(OPT_SIZE) |
| CFLAGS += -5 -o+space |
| .END |
| |
| # Optionally turn on direct i387 FPU instructions |
| |
| .IF $(FPU) |
| CFLAGS += -ff -DFPU387 |
| ASFLAGS += -DFPU387 -DFPU_REG_RTN |
| .END |
| |
| # Optionally compile a beta release version of a product |
| .IF $(BETA) |
| CFLAGS += -DBETA |
| ASFLAGS += -DBETA |
| .END |
| |
| # User a larger stack if requested |
| |
| .IF $(STKSIZE) |
| LDFLAGS += =$(STKSIZE) |
| .ENDIF |
| |
| .IF $(USE_TNT) # Use Phar Lap's TNT DOS Extender |
| CFLAGS += -mp |
| DX_CFLAGS += -DTNT |
| ASFLAGS += /D__FLAT__ |
| DX_ASFLAGS += -DTNT |
| LD := 386link |
| LDFLAGS += @sc32.dos -exe $@ |
| LIB_OS = DOS32 |
| .ELIF $(USE_X32VM) # Use FlashTek X-32VM DOS extender |
| CFLAGS += -mx |
| DX_CFLAGS += -DX32VM |
| ASFLAGS += /D__X386__ |
| DX_ASFLAGS += -DX32VM |
| LD := sc |
| LDFLAGS += $(CFLAGS) x32v.lib |
| LIB_OS = DOS32 |
| .ELIF $(USE_X32) # Use FlashTek X-32 DOS extender |
| CFLAGS += -mx |
| DX_CFLAGS += -DX32VM |
| ASFLAGS += /D__X386__ |
| DX_ASFLAGS += -DX32VM |
| LD := sc |
| LDFLAGS += $(CFLAGS) x32.lib |
| LIB_OS = DOS32 |
| .ELIF $(USE_WIN32) # Build 32 bit Windows NT app |
| .IF $(BUILD_DLL) |
| CFLAGS += -WD -mn |
| ASFLAGS += -DBUILD_DLL |
| .ELSE |
| CFLAGS += -WA -mn |
| .ENDIF |
| DX_ASFLAGS += -D__WINDOWS32__ |
| LIB_OS = WIN32 |
| .ELSE # Use default Symantec DOSX extender |
| USE_DOSX := 1 |
| USE_REALDOS := 1 |
| CFLAGS += -mx |
| DX_CFLAGS += -DDOSX |
| ASFLAGS += /D__X386__ |
| DX_ASFLAGS += -DDOSX |
| LD := sc |
| LDFLAGS += $(CFLAGS) |
| LIB_OS = DOS32 |
| .END |
| |
| # Place to look for PMODE library files |
| |
| .IF $(USE_TNT) |
| PMLIB := tnt\pm.lib |
| .ELIF $(USE_X32) |
| PMLIB := x32\pm.lib |
| .ELSE |
| PMLIB := dosx\pm.lib |
| .END |
| |
| # 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_BASE := $(LIB_BASE_DIR)\$(LIB_OS)\$(SC_LIBBASE) |
| LIB_DEST := $(LIB_BASE) |
| |
| # Define which file contains our rules |
| |
| RULES_MAK := sc32.mk |