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

Last change on this file since 9165 was 9165, checked in by bird, 23 years ago

Added new tools. Restructured tools. More options. Fixes.

File size: 3.5 KB
Line 
1# $Id: setup.os2relwat11-16.mk,v 1.13 2002-08-29 10:01:46 bird Exp $
2
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
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#
22# Include some shared standard stuff: ALP, WRC, VAC optional stuff.
23#
24AS_DEBUG_TYPE = Codeview
25!include $(PATH_MAKE)\setup.os2as.mk
26!include $(PATH_MAKE)\setup.os2relrc.mk
27!include $(PATH_MAKE)\setup.os2relwrc.mk
28_LD_LIBPATH = $(PATH_WATCOM)\lib286\os2;$(PATH_WATCOM)\lib286;
29LD_OLDCPP = 1
30!include $(PATH_MAKE)\setup.os2ld.mk
31!include $(PATH_MAKE)\setup.os2ar.mk
32!include $(PATH_MAKE)\setup.optional.watcom11x.mk
33
34
35#
36# The tools
37#
38CC=wcc.exe
39CXX=wpp.exe
40
41
42#
43# The flags
44#
45!if "$(_CXX_OPTIM)" == ""
46_CC_OPTIM_ = -omlinear
47_CC_OPTIM_IFS = -out
48!else
49_CC_OPTIM_ =
50_CC_OPTIM_IFS =
51!endif
52CC_FLAGS=-bt=os2 -dOS2 -d__16BIT__ -zq -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
53CC_FLAGS_EXE=$(CC_FLAGS) $(_CC_OPTIM_) -zc
54CC_FLAGS_DLL=$(CC_FLAGS) $(_CC_OPTIM_) -zc -bd
55CC_FLAGS_SYS=$(CC_FLAGS) $(_CC_OPTIM_) -s -zff -zgf -zu
56CC_FLAGS_VDD=$(CC_FLAGS_SYS)
57CC_FLAGS_IFS=$(CC_FLAGS) $(_CC_OPTIM_IFS) -s -zff -zgf -zu -bd
58CC_OBJ_OUT=-fo=
59CC_LST_OUT=
60CC_PC_2_STDOUT=-pc
61
62!if "$(_CXX_OPTIM)" == ""
63_CXX_OPTIM_ = -omlinear
64!else
65_CXX_OPTIM_ =
66!endif
67CXX_FLAGS=-bt=os2 -dOS2 -d__16BIT__ -zq -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
68CXX_FLAGS_EXE=$(CXX_FLAGS) $(_CXX_OPTIM_) -zc
69CXX_FLAGS_DLL=$(CXX_FLAGS) $(_CXX_OPTIM_) -zc -bd
70CXX_FLAGS_SYS=$(CXX_FLAGS) $(_CXX_OPTIM_) -s -zff -zgf -zu
71CXX_FLAGS_VDD=$(CXX_FLAGS_SYS)
72CXX_FLAGS_IFS=$(CXX_FLAGS) $(_CXX_OPTIM_) -s -zff -zgf -zdp -zu -bd
73CXX_OBJ_OUT=-fo=
74CXX_LST_OUT=
75CXX_PC_2_STDOUT=-pc
76
77!if "$(CC_AS_CXX)" != ""
78! if "$(CXX_AS_CC)" != ""
79! if [@(ECHO) $(CLRERR)Error: CC_AS_CXX and CXX_AS_CC is mutual execlusive!$(CLRRST)]
80! endif
81! error
82! endif
83CC=$(CXX)
84CC_FLAGS_EXE=$(CXX_FLAGS_EXE)
85CC_FLAGS_DLL=$(CXX_FLAGS_DLL)
86CC_FLAGS_SYS=$(CXX_FLAGS_SYS)
87CC_FLAGS_VDD=$(CXX_FLAGS_VDD)
88CC_FLAGS_IFS=$(CXX_FLAGS_IFS)
89!endif
90!if "$(CXX_AS_CC)" != ""
91CXX=$(CC)
92CXX_FLAGS_EXE=$(CC_FLAGS_EXE)
93CXX_FLAGS_DLL=$(CC_FLAGS_DLL)
94CXX_FLAGS_SYS=$(CC_FLAGS_SYS)
95CXX_FLAGS_VDD=$(CC_FLAGS_VDD)
96CXX_FLAGS_IFS=$(CC_FLAGS_IFS)
97!endif
98
99
100
101
102#
103# Libraries and object files.
104# TODO - DLL and RTDLL doesn't work.
105# Probably needing code to be compiled with far code. I.e. MODEL hugh, large or medium.
106#
107LIB_OS = os2286.lib
108
109_LIB_MT =
110!if "$(_OBJ_MODEL)" == "m"
111_LIB_MT = mt # this is the only one there is a MT edition of, don't know why.
112!endif
113_LIB_DLL=
114!if "$(TARGET_MODE)" == "DLL" # quirk! TODO/FIXME
115_LIB_DLL= dl
116!endif
117!if "$(_CXX_XCPT)" != "-xs"
118LIB_C_OBJ = clib$(_LIB_DLL)$(_LIB_MT)$(_OBJ_MODEL).lib plib$(_LIB_MT)$(_OBJ_MODEL).lib math87$(_LIB_MT)$(_OBJ_MODEL).lib emu87.lib
119!else
120LIB_C_OBJ = clib$(_LIB_DLL)$(_LIB_MT)$(_OBJ_MODEL).lib plbx$(_LIB_MT)$(_OBJ_MODEL).lib math87$(_LIB_MT)$(_OBJ_MODEL).lib emu87.lib
121!endif
122LIB_C_DLL = $(LIB_C_OBJ) # clibdll.lib
123LIB_C_RTDLL = $(LIB_C_OBJ) # clibdll.lib
124LIB_C_NRE = $(LIB_C_OBJ)
125LIB_C_DMNGL =
126OBJ_PROFILE =
127
128
129# ---OS2, RELEASE, WAT11-------------------------
130
Note: See TracBrowser for help on using the repository browser.