123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226 |
- #############################################################################
- #
- # 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 Visual C++ 2.x 32 bit version. Supports Phar Lap
- # 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 : TNT_PATH VC_LIBBASE DOSSTYLE USE_TNT USE_RTTARGET MSVCDIR
- .IMPORT .IGNORE : USE_VXD USE_NTDRV USE_W2KDRV NT_DDKROOT USE_RTTI USE_CPPEXCEPT
- # We are compiling for a 32 bit envionment
- _32BIT_ := 1
- # Default commands for compiling, assembling linking and archiving
- CC := cl # C-compiler and flags
- CFLAGS :=
- .IF $(USE_NASM)
- AS := nasm
- ASFLAGS := -t -f win32 -F null -d__FLAT__ -dSTDCALL_MANGLE -iINCLUDE -i$(SCITECH)\INCLUDE
- .ELSE
- .IF $(USE_TASM32)
- AS := tasm32
- .ELIF $(USE_TASMX)
- AS := tasmx # Assembler and flags
- .ELSE
- AS := tasm # Assembler and flags
- .ENDIF
- ASFLAGS := /t /mx /m /D__FLAT__ /DSTDCALL_MANGLE /iINCLUDE /i$(SCITECH)\INCLUDE
- .ENDIF
- LD := cl
- .IF $(USE_WIN32)
- LDFLAGS = $(CFLAGS)
- .IF $(USE_NTDRV)
- LDENDFLAGS = -link /INCREMENTAL:NO /DRIVER /SUBSYSTEM:NATIVE,4.00 /VERSION:4.00 /MACHINE:I386 /NODEFAULTLIB /DEBUGTYPE:CV /PDB:NONE /ALIGN:0x20 /BASE:0x10000 /ENTRY:DriverEntry@8
- #/MERGE:_page=page /MERGE:_text=.text /MERGE:.rdata=.text
- .ELIF $(WIN32_GUI)
- LDENDFLAGS = -link /INCREMENTAL:NO /DEF:$(@:b).def /SUBSYSTEM:WINDOWS /MACHINE:I386 /DEBUGTYPE:CV /PDB:NONE
- .ELSE
- LDENDFLAGS = -link /INCREMENTAL:NO /SUBSYSTEM:CONSOLE /MACHINE:I386 /DEBUGTYPE:CV /PDB:NONE
- .ENDIF
- .ELSE
- LDFLAGS = $(CFLAGS)
- LDENDFLAGS := -link -stub:$(TNT_PATH:s/\/\\)\\bin\\gotnt.exe /PDB:NONE
- .ENDIF
- RC := rc # Watcom resource compiler
- RCFLAGS := # Mark as Win32 compatible resources
- LIB := lib # Librarian
- LIBFLAGS :=
- ILIB := lib # Import librarian
- ILIBFLAGS := /MACHINE:IX86
- INTEL_X86 := 1
- NMSYM := $(SOFTICE_PATH)\nmsym.exe
- .IF $(USE_NTDRV)
- NMSYMFLAGS := /TRANSLATE:source,package,always /PROMPT /SOURCE:$(MSVCDIR)\crt\src\intel;$(SCITECH)\src\pm;$(SCITECH)\src\pm\common;$(SCITECH)\src\pm\ntdrv
- .ELSE
- NMSYMFLAGS := /TRANSLATE:source,package,always /PROMPT /SOURCE:$(SCITECH)\src\pm;$(SCITECH)\src\pm\common;$(SCITECH)\src\pm\win32
- .ENDIF
- # Set the compiler warning level
- .IF $(MAX_WARN)
- CFLAGS += -W3
- .ELSE
- CFLAGS += -W1
- .ENDIF
- # Optionally turn on debugging information
- .IF $(DBG)
- CFLAGS += /Yd /Zi # Turn on debugging for C compiler
- .IF $(USE_TASM)
- ASFLAGS += /zi # Turn on debugging for assembler
- .ENDIF
- .ELSE
- .IF $(USE_TASM)
- ASFLAGS += /q # Suppress object records not needed for linking
- .ENDIF
- .END
- # Optionally turn on optimisations
- .IF $(VC_LIBBASE) == vc5
- .IF $(OPT)
- CFLAGS += /G6 /O2 /Ox /Oi-
- .ELIF $(OPT_SIZE)
- CFLAGS += /G6 /O1
- .END
- .ELSE
- .IF $(OPT)
- CFLAGS += /G5 /O2 /Ox
- .ELIF $(OPT_SIZE)
- CFLAGS += /G5 /O1
- .END
- .ENDIF
- # 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
- # Use a larger stack during linking if requested, or use a default stack
- # of 50k. The usual default stack provided by Visual C++ is *way* to small
- # for real 32 bit code development.
- .IF $(USE_WIN32)
- # Not necessary for Win32 code.
- .ELSE
- .IF $(STKSIZE)
- LDENDFLAGS += /STACK:$(STKSIZE)
- .ELSE
- LDENDFLAGS += /STACK:51200
- .ENDIF
- .ENDIF
- # DOS extender dependant flags
- .IF $(USE_NTDRV) # Build 32 bit Windows NT driver
- CFLAGS += /LD /Zl /Gy /Gz /GF /D__NT_DRIVER__ /D_X86_=1 /Di386=1
- .IF $(DBG)
- CFLAGS += /QIf
- .ENDIF
- ASFLAGS +=
- DEF_LIBS := int64.lib ntoskrnl.lib hal.lib
- DX_ASFLAGS += -d__NT_DRIVER__
- .IF $(USE_W2KDRV) # Build 32 bit Windows 2000 driver
- LIB_OS = W2KDRV
- .ELSE
- LIB_OS = NTDRV
- .ENDIF
- .ELIF $(USE_WIN32) # Build 32 bit Windows NT app
- .IF $(WIN32_GUI)
- .ELSE
- CFLAGS += -D__CONSOLE__
- .ENDIF
- .IF $(BUILD_DLL)
- CFLAGS += /MT /LD /DBUILD_DLL
- ASFLAGS += -dBUILD_DLL
- .IF $(NO_RUNTIME)
- LDENDFLAGS += /NODEFAULTLIB
- CFLAGS += /Zl
- DEF_LIBS :=
- .ELSE
- DEF_LIBS := 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 odbc32.lib odbccp32.lib wsock32.lib rpcrt4.lib
- .ENDIF
- .ELSE
- CFLAGS += /MT
- DEF_LIBS := 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 odbc32.lib odbccp32.lib wsock32.lib rpcrt4.lib
- .ENDIF
- DX_ASFLAGS += -d__WINDOWS32__
- LIB_OS = WIN32
- .ELIF $(USE_RTTARGET)
- CFLAGS += -D__RTTARGET__
- DX_CFLAGS +=
- DX_ASFLAGS += -d__RTTARGET__
- USE_REALDOS :=
- LIB_OS = RTT32
- DEF_LIBS := cw32mt.lib
- .ELSE
- USE_TNT := 1
- USE_REALDOS := 1
- CFLAGS += /MT /D__MSDOS32__
- DX_CFLAGS += -DTNT
- DX_ASFLAGS += -dTNT
- LIB_OS = DOS32
- DEF_LIBS := dosx32.lib tntapi.lib
- .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)\$(VC_LIBBASE)
- LIB_DEST := $(LIB_BASE)
- # Place to look for PMODE library files
- .IF $(USE_TNT)
- PMLIB := $(LIB_BASE:s/\/\\)\\tnt\\pm.lib
- .ELSE
- PMLIB := $(LIB_BASE:s/\/\\)\\pm.lib
- .ENDIF
- # Define which file contains our rules
- RULES_MAK := vc32.mk
|