202 lines
5.7 KiB
Makefile
202 lines
5.7 KiB
Makefile
|
#############################################################################
|
||
|
#
|
||
|
# 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
|