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

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

Splitted out the watcom linker into it own config files.
Option to use ilink with watcom environments.

File size: 3.6 KB
Line 
1# $Id: setup.os2relwat11-16.mk,v 1.11 2002-08-28 04:42:05 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.os2relalp.mk
26!include $(PATH_MAKE)\setup.os2relrc.mk
27!include $(PATH_MAKE)\setup.os2relwrc.mk
28!ifdef LD_USE_ILINK
29LD_OLDCPP = 1
30! include $(PATH_MAKE)\setup.os2relilink.mk
31!else
32_LD_LIBPATH = $(PATH_WATCOM)\lib286\os2;$(PATH_WATCOM)\lib286;
33! include $(PATH_MAKE)\setup.os2relwlink.mk
34!endif
35!include $(PATH_MAKE)\setup.optional.watcom11x.mk
36
37
38#
39# The tools
40#
41AR=ilib.exe
42CC=wcc.exe
43CXX=wpp.exe
44IMPLIB=implib.exe
45
46
47#
48# The flags
49#
50AR_FLAGS=/nologo /noignorecase
51AR_CMD=$(AR) $(AR_FLAGS) @"$(TARGET_LNK)"
52AR_LNK1= "$(@R).$(EXT_LIB)"
53AR_LNK2=y
54_AR_LNK3= +"$(TARGET_OBJS: ="&^
55 +")"
56AR_LNK3= $(_AR_LNK3:+""&^
57=)
58AR_LNK4= "$(@R).lst";
59
60_CC_FLAGS_OS =
61
62CC_FLAGS=-bt=os2 -dOS2 -d__16BIT__ -5 -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
63CC_FLAGS_EXE=$(CC_FLAGS) -omlinear -zc
64CC_FLAGS_DLL=$(CC_FLAGS) -omlinear -zc -bd
65CC_FLAGS_SYS=$(CC_FLAGS) -omlinear -s -zff -zgf -zu
66CC_FLAGS_VDD=$(CC_FLAGS_SYS)
67CC_FLAGS_IFS=$(CC_FLAGS) -out -s -zff -zgf -zu -bd
68CC_OBJ_OUT=-fo=
69CC_LST_OUT=
70CC_PC_2_STDOUT=-pc
71
72CXX_FLAGS=-bt=os2 -dOS2 -d__16BIT__ -5 -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
73CXX_FLAGS_EXE=$(CXX_FLAGS) -omlinear -zc
74CXX_FLAGS_DLL=$(CXX_FLAGS) -omlinear -zc -bd
75CXX_FLAGS_SYS=$(CXX_FLAGS) -omlinear -s -zff -zgf -zu
76CXX_FLAGS_VDD=$(CXX_FLAGS_SYS)
77CXX_FLAGS_IFS=$(CXX_FLAGS) -omlnaru -s -zff -zgf -zdp -zu -bd
78CXX_OBJ_OUT=-fo=
79CXX_LST_OUT=
80CXX_PC_2_STDOUT=-pc
81
82!if "$(CC_AS_CXX)" != ""
83! if "$(CXX_AS_CC)" != ""
84! if [@(ECHO) $(CLRERR)Error: CC_AS_CXX and CXX_AS_CC is mutual execlusive!$(CLRRST)]
85! endif
86! error
87! endif
88CC=$(CXX)
89CC_FLAGS_EXE=$(CXX_FLAGS_EXE)
90CC_FLAGS_DLL=$(CXX_FLAGS_DLL)
91CC_FLAGS_SYS=$(CXX_FLAGS_SYS)
92CC_FLAGS_VDD=$(CXX_FLAGS_VDD)
93CC_FLAGS_IFS=$(CXX_FLAGS_IFS)
94!endif
95!if "$(CXX_AS_CC)" != ""
96CXX=$(CC)
97CXX_FLAGS_EXE=$(CC_FLAGS_EXE)
98CXX_FLAGS_DLL=$(CC_FLAGS_DLL)
99CXX_FLAGS_SYS=$(CC_FLAGS_SYS)
100CXX_FLAGS_VDD=$(CC_FLAGS_VDD)
101CXX_FLAGS_IFS=$(CC_FLAGS_IFS)
102!endif
103
104IMPLIB_FLAGS=/NOI /Nologo
105
106
107#
108# Libraries and object files.
109# TODO - DLL and RTDLL doesn't work.
110# Probably needing code to be compiled with far code. I.e. MODEL hugh, large or medium.
111#
112LIB_OS = os2286.lib
113
114_LIB_MT =
115!if "$(_OBJ_MODEL)" == "m"
116_LIB_MT = mt # this is the only one there is a MT edition of, don't know why.
117!endif
118_LIB_DLL=
119!if "$(TARGET_MODE)" == "DLL" # quirk! TODO/FIXME
120_LIB_DLL= dl
121!endif
122!if "$(_CXX_XCPT)" != "-xs"
123LIB_C_OBJ = clib$(_LIB_DLL)$(_LIB_MT)$(_OBJ_MODEL).lib plib$(_LIB_MT)$(_OBJ_MODEL).lib math87$(_LIB_MT)$(_OBJ_MODEL).lib emu87.lib
124!else
125LIB_C_OBJ = clib$(_LIB_DLL)$(_LIB_MT)$(_OBJ_MODEL).lib plbx$(_LIB_MT)$(_OBJ_MODEL).lib math87$(_LIB_MT)$(_OBJ_MODEL).lib emu87.lib
126!endif
127LIB_C_DLL = $(LIB_C_OBJ) # clibdll.lib
128LIB_C_RTDLL = $(LIB_C_OBJ) # clibdll.lib
129LIB_C_NRE = $(LIB_C_OBJ)
130LIB_C_DMNGL =
131OBJ_PROFILE =
132
133
134# ---OS2, RELEASE, WAT11-------------------------
135
Note: See TracBrowser for help on using the repository browser.