source: trunk/make/setup.os2relwat11-16.mk@ 10367

Last change on this file since 10367 was 10325, checked in by bird, 22 years ago

Define RING0

File size: 3.6 KB
RevLine 
[10325]1# $Id: setup.os2relwat11-16.mk,v 1.18 2003-11-14 22:02:37 bird Exp $
[8423]2
[9137]3#
4# Note! Watcom is unable to do debug info release builds.
5# Because of a compiler bug which makes it emit code with
6# no optimizations.
7# Another reason is that lxlite isn't able to strip it.
8#
9
[8423]10# ---OS2, RELEASE, WAT11-------------------------
11ENV_NAME="OS/2, Release, Watcom C/C++ v11.0c 16-bit"
12ENV_STATUS=OK
13!if "$(ENV_ENVS)" == ""
14ENV_ENVS=ddkbase vac308 watcomc11c-16
15!else
16ENV_ENVS_FORCE=ddkbase vac308 watcomc11c-16
17!endif
18ENV_16BIT = 16
19
20
21#
[9120]22# Include some shared standard stuff: ALP, WRC, VAC optional stuff.
[8423]23#
[9153]24AS_DEBUG_TYPE = Codeview
[9165]25!include $(PATH_MAKE)\setup.os2as.mk
[9174]26!include $(PATH_MAKE)\setup.os2allrc.mk
27!include $(PATH_MAKE)\setup.os2allwrc.mk
[9165]28_LD_LIBPATH = $(PATH_WATCOM)\lib286\os2;$(PATH_WATCOM)\lib286;
[9153]29LD_OLDCPP = 1
[9165]30!include $(PATH_MAKE)\setup.os2ld.mk
31!include $(PATH_MAKE)\setup.os2ar.mk
[9278]32!include $(PATH_MAKE)\setup.os2allipfc.mk
[8423]33!include $(PATH_MAKE)\setup.optional.watcom11x.mk
34
35
36#
37# The tools
38#
39CC=wcc.exe
40CXX=wpp.exe
41
42
43#
44# The flags
45#
[10153]46!if "$(_CC_OPTIM)" == ""
[9165]47_CC_OPTIM_ = -omlinear
48_CC_OPTIM_IFS = -out
49!else
50_CC_OPTIM_ =
51_CC_OPTIM_IFS =
52!endif
[9177]53CC_FLAGS=-bt=os2 -dOS2 -d__16BIT__ -zq -fr=nul -bm -ze -w4 -zld $(_CC_OPTIONAL) $(CC_DEFINES) $(ALL_DEFINES) $(BUILD_DEFINES) $(CC_INCLUDES:-I=-i=) $(ALL_INCLUDES:-I=-i=) -i=$(PATH_INCLUDES) -i=$(WATCOM)\h
[9165]54CC_FLAGS_EXE=$(CC_FLAGS) $(_CC_OPTIM_) -zc
55CC_FLAGS_DLL=$(CC_FLAGS) $(_CC_OPTIM_) -zc -bd
[10325]56CC_FLAGS_SYS=$(CC_FLAGS) $(_CC_OPTIM_) -s -zff -zgf -zu -dRING0
[8423]57CC_FLAGS_VDD=$(CC_FLAGS_SYS)
[10325]58CC_FLAGS_IFS=$(CC_FLAGS) $(_CC_OPTIM_IFS) -s -zff -zgf -zu -bd -dRING0
[8423]59
[9165]60!if "$(_CXX_OPTIM)" == ""
[10153]61_CXX_OPTIM_ = -omlinear
62_CXX_OPTIM_IFS = -out
[9165]63!else
[10153]64_CXX_OPTIM_ =
65_CXX_OPTIM_IFS =
[9165]66!endif
[9177]67CXX_FLAGS=-bt=os2 -dOS2 -d__16BIT__ -zq -fr=nul -bm -ze -w4 -zld $(_CXX_OPTIONAL) $(CXX_DEFINES) $(ALL_DEFINES) $(BUILD_DEFINES) $(CXX_INCLUDES:-I=-i=) $(ALL_INCLUDES:-I=-i=) -i=$(PATH_INCLUDES) -i=$(WATCOM)\h
[9165]68CXX_FLAGS_EXE=$(CXX_FLAGS) $(_CXX_OPTIM_) -zc
69CXX_FLAGS_DLL=$(CXX_FLAGS) $(_CXX_OPTIM_) -zc -bd
[10325]70CXX_FLAGS_SYS=$(CXX_FLAGS) $(_CXX_OPTIM_) -s -zff -zgf -zu -dRING0
[8423]71CXX_FLAGS_VDD=$(CXX_FLAGS_SYS)
[10325]72CXX_FLAGS_IFS=$(CXX_FLAGS) $(_CXX_OPTIM_IFS) -s -zff -zgf -zdp -zu -bd -dRING0
[8423]73
74!if "$(CC_AS_CXX)" != ""
75! if "$(CXX_AS_CC)" != ""
[9066]76! if [@(ECHO) $(CLRERR)Error: CC_AS_CXX and CXX_AS_CC is mutual execlusive!$(CLRRST)]
[8423]77! endif
78! error
79! endif
80CC=$(CXX)
81CC_FLAGS_EXE=$(CXX_FLAGS_EXE)
82CC_FLAGS_DLL=$(CXX_FLAGS_DLL)
83CC_FLAGS_SYS=$(CXX_FLAGS_SYS)
84CC_FLAGS_VDD=$(CXX_FLAGS_VDD)
85CC_FLAGS_IFS=$(CXX_FLAGS_IFS)
86!endif
87!if "$(CXX_AS_CC)" != ""
88CXX=$(CC)
[9066]89CXX_FLAGS_EXE=$(CC_FLAGS_EXE)
90CXX_FLAGS_DLL=$(CC_FLAGS_DLL)
91CXX_FLAGS_SYS=$(CC_FLAGS_SYS)
92CXX_FLAGS_VDD=$(CC_FLAGS_VDD)
93CXX_FLAGS_IFS=$(CC_FLAGS_IFS)
[8423]94!endif
95
96
97
[9154]98
[8423]99#
100# Libraries and object files.
101# TODO - DLL and RTDLL doesn't work.
102# Probably needing code to be compiled with far code. I.e. MODEL hugh, large or medium.
103#
104LIB_OS = os2286.lib
105
106_LIB_MT =
107!if "$(_OBJ_MODEL)" == "m"
108_LIB_MT = mt # this is the only one there is a MT edition of, don't know why.
109!endif
[9066]110_LIB_DLL=
[9055]111!if "$(TARGET_MODE)" == "DLL" # quirk! TODO/FIXME
112_LIB_DLL= dl
113!endif
[8423]114!if "$(_CXX_XCPT)" != "-xs"
[9055]115LIB_C_OBJ = clib$(_LIB_DLL)$(_LIB_MT)$(_OBJ_MODEL).lib plib$(_LIB_MT)$(_OBJ_MODEL).lib math87$(_LIB_MT)$(_OBJ_MODEL).lib emu87.lib
[8423]116!else
[9055]117LIB_C_OBJ = clib$(_LIB_DLL)$(_LIB_MT)$(_OBJ_MODEL).lib plbx$(_LIB_MT)$(_OBJ_MODEL).lib math87$(_LIB_MT)$(_OBJ_MODEL).lib emu87.lib
[8423]118!endif
119LIB_C_DLL = $(LIB_C_OBJ) # clibdll.lib
120LIB_C_RTDLL = $(LIB_C_OBJ) # clibdll.lib
121LIB_C_NRE = $(LIB_C_OBJ)
122LIB_C_DMNGL =
123OBJ_PROFILE =
124
125
126# ---OS2, RELEASE, WAT11-------------------------
127
Note: See TracBrowser for help on using the repository browser.