| ############################################################################# |
| # |
| # 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. |
| # |
| # Borland C++ 4.0 32 bit version. Supports Borland's DOS Power |
| # Pack DPMI32 DOS extender, 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_SMX32 USE_TNT USE_WIN32 USE_BC5 USE_VXD BC_LIBBASE |
| .IMPORT .IGNORE : VTOOLSD |
| |
| # We are compiling for a 32 bit envionment |
| _32BIT_ := 1 |
| |
| # Default commands for compiling, assembling linking and archiving |
| CC := bcc32 |
| .IF $(USE_VXD) |
| CFLAGS := -4 -i60 -d -w-stu |
| .ELSE |
| CFLAGS := -4 -H=bcc32.sym -i60 -d -w-stu |
| .ENDIF |
| .IF $(USE_NASM) |
| AS := nasm |
| ASFLAGS := -t -f obj -d__FLAT__ -iINCLUDE -i$(SCITECH)\INCLUDE |
| .ELSE |
| .IF $(USE_TASM32) |
| AS := tasm32 |
| .ELIF $(USE_TASMX) |
| AS := tasmx |
| .ELSE |
| AS := tasm |
| .ENDIF |
| ASFLAGS := /t /mx /m /w-res /w-mcp /D__FLAT__ /iINCLUDE /i$(SCITECH)\INCLUDE |
| .ENDIF |
| LD := bclink tlink32.exe |
| LDFLAGS := -c |
| RC := brc32 |
| .IF $(USE_BC5) |
| WIN_VERSION := -V4.0 |
| RCFLAGS := -32 |
| .ELSE |
| RCFLAGS := -w32 |
| .ENDIF |
| LIB := tlib |
| LIBFLAGS := /C |
| ILIB := implib |
| ILIBFLAGS := -c |
| INTEL_X86 := 1 |
| NMSYM := $(SOFTICE_PATH)\nmsym.exe |
| NMSYMFLAGS := /TRANSLATE:source,package,always /PROMPT /SOURCE:$(SCITECH)\src\pm;$(SCITECH)\src\pm\common;$(SCITECH)\src\pm\win32 |
| |
| # Optionally turn on debugging information |
| .IF $(DBG) |
| CFLAGS += -v |
| LDFLAGS += -v |
| LIBFLAGS += /P256 |
| .IF $(USE_NASM) |
| ASFLAGS += -F borland -g |
| .ELSE |
| ASFLAGS += /zi |
| .ENDIF |
| .ELSE |
| LDFLAGS += -x |
| LIBFLAGS += /P128 |
| .IF $(USE_NASM) |
| ASFLAGS += -F null |
| .ELSE |
| ASFLAGS += /q |
| .ENDIF |
| .END |
| |
| # Optionally disable nagging warnings if MAX_WARN is not on |
| .IF $(MAX_WARN) |
| .ELSE |
| CFLAGS += -w-aus -w-par -w-hid -w-pia |
| .ENDIF |
| |
| # Optionally turn on optimisations (-5 -O2 breaks BC++ 4.0-4.5 sometimes) |
| .IF $(OPT) |
| CFLAGS += -5 -O2 -k- |
| .ELIF $(OPT_SIZE) |
| CFLAGS += -5 -O1 -k- |
| .END |
| |
| # Optionally turn on direct i387 FPU instructions |
| .IF $(FPU) |
| CFLAGS += -DFPU387 |
| ASFLAGS += -dFPU387 |
| .END |
| |
| # Optionally compile a beta release version of a product |
| .IF $(BETA) |
| CFLAGS += -DBETA |
| ASFLAGS += -dBETA |
| .END |
| |
| # Optionally use Phar Lap's TNT DOS Extender, otherwise use the DOS Power Pack |
| .IF $(USE_TNT) |
| CFLAGS += -D__MSDOS__ |
| DX_CFLAGS += -DTNT |
| DX_ASFLAGS += -dTNT |
| LIB_OS = DOS32 |
| DEF_LIBS := import32.lib cw32.lib dosx32.lib tntapi.lib |
| .ELIF $(USE_VXD) |
| LDFLAGS += -n -P- -x |
| CFLAGS += -RT- -x- -Oi -VC -I$(VTOOLSD)\INCLUDE -DIS_32 -DWANTVXDWRAPS -DVTOOLSD -DWIN40 -DWIN40_OR_LATER -DDEFSEG=1 -zC_LTEXT -zALCODE -zR_LDATA -zTLCODE |
| 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 |
| DX_ASFLAGS += -d__VXD__ -d__BORLANDC__=1 -I$(VTOOLSD)\INCLUDE -I$(VTOOLSD)\LIB\INCLUDE |
| LIB_OS = VXD |
| .ELIF $(USE_WIN32) |
| .IF $(WIN32_GUI) |
| .ELSE |
| CFLAGS += -D__CONSOLE__ |
| .ENDIF |
| .IF $(BUILD_DLL) |
| CFLAGS += -WD -DBUILD_DLL |
| ASFLAGS += -dBUILD_DLL |
| .ELSE |
| CFLAGS += -W -WM |
| .ENDIF |
| .IF $(USE_BC5) |
| .ELSE |
| CFLAGS += -D_WIN32 |
| .ENDIF |
| DEF_LIBS := import32.lib cw32mt.lib |
| DX_ASFLAGS += -d__WINDOWS32__ |
| LIB_OS = WIN32 |
| .ELIF $(USE_SMX32) |
| CFLAGS += -D__SMX32__ -DPME32 |
| DX_CFLAGS += |
| DX_ASFLAGS += -d__SMX32__ -dDPMI32 -dPME32 |
| USE_REALDOS := 1 |
| LIB_OS = SMX32 |
| DEF_LIBS := cw32mt.lib |
| .ELSE |
| USE_DPMI32 := 1 |
| CFLAGS += -D__MSDOS__ |
| DX_CFLAGS += -WX -DDPMI32 |
| DX_ASFLAGS += -dDPMI32 |
| USE_REALDOS := 1 |
| LIB_OS = DOS32 |
| DEF_LIBS := |
| .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)\$(BC_LIBBASE) |
| LIB_DEST := $(LIB_BASE) |
| |
| # Place to look for PMODE library files |
| |
| .IF $(USE_TNT) |
| PMLIB := $(LIB_BASE)\tnt\pm.lib |
| .ELIF $(USE_DPMI32) |
| PMLIB := $(LIB_BASE)\dpmi32\pm.lib |
| .ELSE |
| PMLIB := $(LIB_BASE)\pm.lib |
| .END |
| |
| # Define which file contains our rules |
| |
| RULES_MAK := bc32.mk |