123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353 |
- #############################################################################
- #
- # 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.
- #
- # Watcom C++ 10.x 32 bit version. Supports Rational's DOS4GW
- # DOS Extender, PMODE/W, Causeway, FlashTek's X32-VM,
- # Phar Lap's TNT DOS Extender, 32-bit Windows development and
- # 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 : USE_TNT USE_X32 USE_X32VM USE_PMODEW STKCALL USE_CAUSEWAY
- .IMPORT .IGNORE : USE_WIN386 USE_OS232 USE_OS2GUI WC_LIBBASE NOOPT DOSSTYLE
- .IMPORT .IGNORE : OS2_SHELL USE_CODEVIEW USE_DOS32A USE_QNX4 LEAVE_LINKFILE
- # We are compiling for a 32 bit envionment
- _32BIT_ := 1
- # Setup special environment for QNX 4 (Unix'ish)
- .IF $(USE_QNX4)
- USE_QNX := 1
- L := .a # Libraries
- LP := lib # LP - Library file prefix (name of file on disk)
- LL := lib # Library link prefix (name of library on link command line)
- LE := .a # Library link suffix (extension of library on link command line)
- .ENDIF
- # Default commands for compiling, assembling linking and archiving
- CC := wcc386
- CPP := wpp386
- CFLAGS := -zq-j-s-fpi87
- .IF $(USE_NASM)
- AS := nasm
- ASFLAGS := -t -f obj -d__FLAT__ -dSTDCALL_MANGLE -iINCLUDE -i$(SCITECH)\INCLUDE
- .ELSE
- .IF $(USE_TASM32)
- AS := tasm32
- DLL_TASM := tasm32
- .ELIF $(USE_TASMX)
- AS := tasmx
- DLL_TASM := tasmx
- .ELSE
- AS := tasm
- DLL_TASM := tasm
- .ENDIF
- ASFLAGS := /t /mx /m /w-res /w-mcp /D__FLAT__ /DSTDCALL_MANGLE /iINCLUDE /i$(SCITECH)\INCLUDE
- GAS := gcc
- GAS_FLAGS := -D__WATCOMC__ -D__SW_3S -D__SW_S -U__GNUC__ -UDJGPP -U__unix__ -Wall -I. -I$(SCITECH)\include -x assembler-with-cpp
- .ENDIF
- LD := wlink
- LDFLAGS =
- .IF $(USE_OS232)
- RC := rc
- .ELSE
- RC := wrc
- .ENDIF
- .IF $(USE_WIN32)
- RCFLAGS := -q /bt=nt
- .ELIF $(USE_OS232)
- .IF $(USE_OS2GUI)
- CFLAGS += -D__OS2_PM__
- .ENDIF
- .ELSE
- RCFLAGS := -q
- .ENDIF
- LIB := wlib
- LIBFLAGS := -q
- ILIB := wlib
- ILIBFLAGS := -c
- INTEL_X86 := 1
- # Set the compiler warning level
- .IF $(MAX_WARN)
- CFLAGS += -w4
- .ELSE
- CFLAGS += -w1
- .ENDIF
- # Optionally turn on debugging information (Codeview format)
- .IF $(DBG)
- .IF $(USE_WIN32)
- .IF $(USE_CODEVIEW)
- CFLAGS += -d2 -hc
- LDFLAGS += D CODEVIEW OPT CVPACK
- .ELSE
- CFLAGS += -d2
- LDFLAGS += D A
- .ENDIF
- .ELSE
- CFLAGS += -d2
- LDFLAGS += D A
- .ENDIF
- LIBFLAGS += -p=768
- .IF $(USE_NASM)
- ASFLAGS += -F borland -g
- .ELSE
- .IF $(USE_TASM32)
- ASFLAGS += /q # TASM32 fucks up Watcom C++ debug info
- .ELIF $(OS2_SHELL)
- ASFLAGS += /q # TASM for OS/2 fucks up Watcom C++ debug info
- .ELSE
- ASFLAGS += /zi
- .ENDIF
- .ENDIF
- .ELSE
- .IF $(USE_NASM)
- ASFLAGS += -F null
- .ELSE
- ASFLAGS += /q
- .ENDIF
- .END
- # Optionally turn on optimisations (with or without stack conventions)
- .IF $(STKCALL)
- .IF $(OPT)
- CFLAGS += -onatx-5s-fp5
- .ELIF $(OPT_SIZE)
- CFLAGS += -onaslmr-5s-fp5
- .ELIF $(NOOPT)
- CFLAGS += -od-5s
- .ELSE
- CFLAGS += -3s
- .END
- .ELSE
- .IF $(OPT)
- CFLAGS += -onatx-5r-fp5
- .ELIF $(OPT_SIZE)
- CFLAGS += -onaslmr-5r-fp5
- .ELIF $(NOOPT)
- CFLAGS += -od-5r
- .END
- .END
- # Optionally turn on direct i387 FPU instructions optimised for Pentium
- .IF $(FPU)
- CFLAGS += -DFPU387
- ASFLAGS += -dFPU387
- .END
- # Optionally compile a beta release version of a product
- .IF $(BETA)
- CFLAGS += -DBETA
- ASFLAGS += -dBETA
- .END
- .IF $(USE_TNT) # Use Phar Lap's TNT DOS Extender
- CFLAGS += -bt=nt -DTNT
- ASFLAGS += -dTNT
- LDFLAGS += SYS NT OP STUB=GOTNT.EXE
- LIB_OS = DOS32
- .ELIF $(USE_X32VM) # Use FlashTek X-32VM DOS extender
- CFLAGS += -bt=dos
- LDFLAGS += SYS X32RV
- DX_CFLAGS += -DX32VM
- DX_ASFLAGS += -dX32VM
- LIB_OS = DOS32
- .ELIF $(USE_X32) # Use FlashTek X-32 DOS extender
- CFLAGS += -bt=dos
- LDFLAGS += SYS X32R
- DX_CFLAGS += -DX32VM
- DX_ASFLAGS += -dX32VM
- LIB_OS = DOS32
- .ELIF $(USE_QNX4) # Build QNX 4 app
- CFLAGS += -bt=qnx386
- LDFLAGS += SYS QNX386FLAT OP CASEEXACT OP OFFSET=40k OP STACK=32k
- CFLAGS += -D__QNX__ -D__UNIX__
- ASFLAGS += -d__QNX__ -d__UNIX__
- LIB_OS = QNX4
- .ELIF $(USE_OS232)
- .IF $(BUILD_DLL)
- CFLAGS += -bm-bd-bt=os2-sg-DBUILD_DLL
- ASFLAGS += -dBUILD_DLL
- .ELSE
- CFLAGS += -bm-bt=os2-sg
- .ENDIF
- DX_ASFLAGS += -d__OS2__
- LIB_OS = os232
- .ELIF $(USE_SNAP) # Build 32 bit Snap app
- .IF $(BUILD_DLL)
- CFLAGS += -bm-bd-bt=nt-DBUILD_DLL
- ASFLAGS += -dBUILD_DLL
- .ELSE
- CFLAGS += -bm-bt=nt-D_WIN32
- .ENDIF
- LDFLAGS += OP nodefaultlibs
- .IF $(STKCALL)
- DEFLIBS := clib3s.lib,math3s.lib,noemu387.lib,
- .ELSE
- DEFLIBS := clib3r.lib,math3r.lib,noemu387.lib,
- .ENDIF
- LIB_OS = SNAP
- .ELIF $(USE_WIN32) # Build 32 bit Windows NT app
- .IF $(WIN32_GUI)
- .ELSE
- CFLAGS += -D__CONSOLE__
- .ENDIF
- .IF $(BUILD_DLL)
- CFLAGS += -bm-bd-bt=nt-sg-DBUILD_DLL -D_WIN32
- ASFLAGS += -dBUILD_DLL
- .ELSE
- CFLAGS += -bm-bt=nt-sg-D_WIN32
- .ENDIF
- DX_ASFLAGS += -d__WINDOWS32__
- LIB_OS = WIN32
- DEFLIBS := kernel32.lib,user32.lib,gdi32.lib,advapi32.lib,shell32.lib,winmm.lib,comdlg32.lib,comctl32.lib,ole32.lib,oleaut32.lib,version.lib,winspool.lib,uuid.lib,wsock32.lib,rpcrt4.lib,
- .ELIF $(USE_WIN386) # Build 32 bit Win386 extended app
- .IF $(BUILD_DLL)
- CFLAGS += -bd-bt=windows-DBUILD_DLL
- ASFLAGS += -dBUILD_DLL
- .ELSE
- CFLAGS += -bt=windows
- .ENDIF
- DX_ASFLAGS += -d__WIN386__
- LIB_OS = WIN386
- .ELIF $(USE_PMODEW) # PMODE/W
- CFLAGS += -bt=dos
- USE_DOS4GW := 1
- USE_REALDOS := 1
- LDFLAGS += SYS PMODEW
- DX_CFLAGS += -DDOS4GW
- DX_ASFLAGS += -dDOS4GW
- LIB_OS = DOS32
- .ELIF $(USE_CAUSEWAY) # Causeway
- CFLAGS += -bt=dos
- USE_DOS4GW := 1
- USE_REALDOS := 1
- LDFLAGS += SYS CAUSEWAY
- DX_CFLAGS += -DDOS4GW
- DX_ASFLAGS += -dDOS4GW
- LIB_OS = DOS32
- .ELIF $(USE_DOS32A) # DOS32/A
- CFLAGS += -bt=dos
- USE_DOS4GW := 1
- USE_REALDOS := 1
- LDFLAGS += SYS DOS32A
- DX_CFLAGS += -DDOS4GW
- DX_ASFLAGS += -dDOS4GW
- LIB_OS = DOS32
- .ELSE # Use DOS4GW
- CFLAGS += -bt=dos
- USE_DOS4GW := 1
- USE_REALDOS := 1
- LDFLAGS += SYS DOS4G
- DX_CFLAGS += -DDOS4GW
- DX_ASFLAGS += -dDOS4GW
- LIB_OS = DOS32
- .END
- # Disable linking to default C runtime library and PM library
- .IF $(NO_RUNTIME)
- LDFLAGS += OP nodefaultlibs
- DEFLIBS :=
- .ELSE
- # Place to look for PM library files
- .IF $(USE_SNAP) # Build 32 bit Snap app or dll
- PMLIB :=
- .ELIF $(USE_WIN32)
- .IF $(STKCALL)
- PMLIB := spm.lib,
- .ELSE
- PMLIB := pm.lib,
- .ENDIF
- .ELIF $(USE_OS232)
- .IF $(STKCALL)
- .IF $(USE_OS2GUI)
- PMLIB := spm_pm.lib,
- .ELSE
- PMLIB := spm.lib,
- .ENDIF
- .ELSE
- .IF $(USE_OS2GUI)
- PMLIB := pm_pm.lib,
- .ELSE
- PMLIB := pm.lib,
- .ENDIF
- .ENDIF
- .ELIF $(USE_QNX4)
- .IF $(STKCALL)
- PMLIB := libspm.a,
- .ELSE
- PMLIB := libpm.a,
- .ENDIF
- .ELIF $(USE_TNT)
- .IF $(STKCALL)
- PMLIB := tnt\spm.lib,
- .ELSE
- PMLIB := tnt\pm.lib,
- .ENDIF
- .ELIF $(USE_X32)
- .IF $(STKCALL)
- PMLIB := x32\spm.lib,
- .ELSE
- PMLIB := x32\pm.lib,
- .ENDIF
- .ELSE
- .IF $(STKCALL)
- PMLIB := dos4gw\spm.lib,
- .ELSE
- PMLIB := dos4gw\pm.lib,
- .ENDIF
- .ENDIF
- .ENDIF
- # 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)\$(WC_LIBBASE)
- LIB_DEST := $(LIB_BASE)
- LDFLAGS += op map
- # Define which file contains our rules
- RULES_MAK := wc32.mk
|