source: trunk/make/setup.optional.watcom11x.mk@ 9145

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

Flags adjustments.
Added options.

File size: 5.8 KB
Line 
1# $Id: setup.optional.watcom11x.mk,v 1.4 2002-08-27 03:03:13 bird Exp $
2
3#
4# Helper file for all the optional stuff which is common for
5# all watcom11xx compilers.
6# Concidering the size of this, it really make sense putting it here.
7#
8
9#
10# This is not optional (but I'm getting lazy)
11#
12_LD_FORMAT = $(BUILD_PLATFORM)
13!ifdef LD_FORMAT
14! if "$(LD_FORMAT)" == "NE"
15_LD_FORMAT = $(BUILD_PLATFORM)-16
16! else
17! if "$(LD_FORMAT)" == "LX"
18_LD_FORMAT = os2
19! else
20! error LD_FORMAT other than NE and LXis not supported by this compiler ($(ENV_NAME)).
21! endif
22! endif
23!endif
24TOOL_DEFCONV = $(PATH_TOOLS)\kDef2Wat.exe $(_LD_FORMAT)
25
26
27#
28# C Compiler flags.
29#
30_CC_SEG_TEXT =
31_CC_SEG_DATA =
32_CC_SEG_XCPT =
33_CC_DEFAULT_LIBS = -zl
34_CC_PACK =
35!ifdef ENV_16BIT
36_CC_MODEL = -ms
37_OBJ_MODEL = s
38_CC_DEF_MODEL = SMALL
39!else
40_CC_MODEL = -mf
41_CC_DEF_MODEL = FLAT
42!endif
43_CC_OPT_R =
44
45!ifdef ALL_SEG_TEXT
46_CC_SEG_TEXT=-nt=$(ALL_SEG_TEXT)
47!endif
48!ifdef CC_SEG_TEXT
49_CC_SEG_TEXT=-nt=$(CC_SEG_TEXT)
50!endif
51!ifdef ALL_SEG_DATA
52_CC_SEG_DATA=-nd=$(ALL_SEG_TEXT)
53!endif
54!ifdef CC_SEG_DATA
55_CC_SEG_DATA=-nd=$(CC_SEG_TEXT)
56!endif
57!if defined(CC_DEFAULT_LIBS) || defined(ALL_DEFAULT_LIBS)
58_CC_DEFAULT_LIBS =
59!endif
60!ifdef ALL_PACK
61_CC_PACK = -zp=$(ALL_PACK)
62!endif
63!ifdef CC_PACK
64_CC_PACK = -zp=$(CC_PACK)
65!endif
66# model stuff.
67!if !defined(CC_MODEL) && defined(ALL_MODEL)
68CC_MODEL = $(ALL_MODEL)
69!endif
70!ifdef CC_MODEL
71_CC_MODEL =
72!endif
73! if "$(CC_MODEL)" == "TINY"
74_CC_MODEL = -ms
75_OBJ_MODEL = s
76_CC_DEF_MODEL= SMALL
77! error CC_MODEL=TINY is not supported by this compiler ($(ENV_NAME)).
78! endif
79!if "$(CC_MODEL)" == "SMALL"
80_CC_MODEL = -ms
81_OBJ_MODEL = s
82_CC_DEF_MODEL= SMALL
83!endif
84!if "$(CC_MODEL)" == "COMPACT"
85_CC_MODEL = -mc
86_OBJ_MODEL = c
87_CC_DEF_MODEL= COMPACT
88!endif
89!if "$(CC_MODEL)" == "MEDIUM"
90_CC_MODEL = -mm
91_OBJ_MODEL = m
92_CC_DEF_MODEL= MEDIUM
93!endif
94!if "$(CC_MODEL)" == "LARGE"
95_CC_MODEL = -ml
96_OBJ_MODEL = l
97_CC_DEF_MODEL= LARGE
98!endif
99!if "$(CC_MODEL)" == "HUGE"
100! ifdef ENV_16BIT
101_CC_MODEL = -mh
102_OBJ_MODEL = h
103_CC_DEF_MODEL= HUGH
104! else
105_CC_MODEL = -ml
106_OBJ_MODEL = l
107_CC_DEF_MODEL= LARGE
108! endif
109!endif
110!if "$(CC_MODEL)" == "FLAT"
111! ifdef ENV_16BIT
112! error CC_MODEL=FLAT is not supported by the 16-bit compiler. ($(ENV_NAME))
113! else
114_CC_MODEL = -mf
115_OBJ_MODEL = f
116_CC_DEF_MODEL= LARGE
117! endif
118!endif
119!if "$(_CC_MODEL)" == ""
120! error Invalid MODEL. CC_MODEL=$(CC_MODEL)
121!endif
122
123!if defined(CC_SAVE_SEGS_ACCROSS_CALLS) || defined(ALL_SAVE_SEGS_ACCROSS_CALLS)
124_CC_OPT_R = -r
125!endif
126_CC_OPTIONAL = $(_CC_SEG_TEXT) $(_CC_SEG_DATA) $(_CC_SEG_XCPT) $(_CC_DEFAULT_LIBS) $(_CC_PACK) $(_CC_MODEL) -d$(_CC_DEF_MODEL) \
127 $(_CC_OPT_R)
128
129
130
131#
132# C++ Compiler flags.
133#
134_CXX_SEG_TEXT =
135_CXX_SEG_DATA =
136_CXX_SEG_XCPT =
137_CXX_DEFAULT_LIBS = -zl
138_CXX_PACK =
139_CXX_XCPT = -xd
140_CXX_MODEL = -mf
141!ifdef ENV_16BIT
142_CXX_MODEL = -ms
143_OBJ_MODEL = s
144_CXX_DEF_MODEL = SMALL
145!else
146_CXX_MODEL = -mf
147_CXX_DEF_MODEL = FLAT
148!endif
149_CXX_OPT_R =
150
151!ifdef ALL_SEG_TEXT
152_CXX_SEG_TEXT=-nt=$(ALL_SEG_TEXT)
153!endif
154!ifdef CXX_SEG_TEXT
155_CXX_SEG_TEXT=-nt=$(CXX_SEG_TEXT)
156!endif
157!ifdef ALL_SEG_DATA
158_CXX_SEG_DATA=-nd=$(ALL_SEG_TEXT)
159!endif
160!ifdef CXX_SEG_DATA
161_CXX_SEG_DATA=-nd=$(CXX_SEG_TEXT)
162!endif
163!ifdef ALL_SEG_XCPT
164_CXX_SEG_XCPT=
165!endif
166!ifdef CXX_SEG_XCPT
167_CXX_SEG_XCPT=
168!endif
169!if defined(CXX_DEFAULT_LIBS) || defined(ALL_DEFAULT_LIBS)
170_CXX_DEFAULT_LIBS =
171!endif
172!ifdef ALL_PACK
173_CXX_PACK = -zp=$(ALL_PACK)
174!endif
175!ifdef CXX_PACK
176_CXX_PACK = -zp=$(CXX_PACK)
177!endif
178!ifdef CXX_XCPT
179_CXX_XCPT = -xs
180!endif
181!ifdef CXX_NO_XCPT
182_CXX_XCPT = -xd
183!endif
184# Model
185!if !defined(CXX_MODEL) && defined(ALL_MODEL)
186CXX_MODEL = $(ALL_MODEL)
187!endif
188!ifdef CXX_MODEL
189_CXX_MODEL =
190!endif
191! if "$(CXX_MODEL)" == "TINY"
192_CXX_MODEL = -ms
193_OBJ_MODEL = s
194_CXX_DEF_MODEL= SMALL
195! error CXX_MODEL=TINY is not supported by this compiler ($(ENV_NAME)).
196! endif
197!if "$(CXX_MODEL)" == "SMALL"
198_CXX_MODEL = -ms
199_OBJ_MODEL = s
200_CXX_DEF_MODEL= SMALL
201!endif
202!if "$(CXX_MODEL)" == "COMPACT"
203_CXX_MODEL = -mc
204_OBJ_MODEL = c
205_CXX_DEF_MODEL= COMPACT
206!endif
207!if "$(CXX_MODEL)" == "MEDIUM"
208_CXX_MODEL = -mm
209_OBJ_MODEL = m
210_CXX_DEF_MODEL= MEDIUM
211!endif
212!if "$(CXX_MODEL)" == "LARGE"
213_CXX_MODEL = -ml
214_OBJ_MODEL = l
215_CXX_DEF_MODEL= LARGE
216!endif
217!if "$(CXX_MODEL)" == "HUGE"
218! ifdef ENV_16BIT
219_CXX_MODEL = -mh
220_OBJ_MODEL = h
221_CXX_DEF_MODEL= HUGH
222! else
223_CXX_MODEL = -ml
224_OBJ_MODEL = l
225_CXX_DEF_MODEL= LARGE
226! endif
227!endif
228!if "$(CXX_MODEL)" == "FLAT"
229! ifdef ENV_16BIT
230! error CXX_MODEL=FLAT is not supported by the 16-bit compiler. ($(ENV_NAME))
231! else
232_CXX_MODEL = -mf
233_OBJ_MODEL = f
234_CXX_DEF_MODEL= LARGE
235! endif
236!endif
237!if "$(_CXX_MODEL)" == ""
238! error Invalid MODEL. CXX_MODEL=$(CXX_MODEL)
239!endif
240!if defined(CXX_SAVE_SEGS_ACCROSS_CALLS) || defined(ALL_SAVE_SEGS_ACCROSS_CALLS)
241_CXX_OPT_R = -r
242!endif
243
244_CXX_OPTIONAL = $(_CXX_SEG_TEXT) $(_CXX_SEG_DATA) $(_CXX_SEG_XCPT) $(_CXX_DEFAULT_LIBS) $(_CXX_PACK) $(_CXX_XCPT) $(_CXX_MODEL) -d$(_CXX_DEF_MODEL) \
245 $(_CXX_OPT_R)
246
247
248#
249# Linker flags.
250#
251_LD_SORT = Sort global
252# Option
253_LD_QUIET =
254_LD_DEFAULT_LIBS = ,nodefaultlibs
255_LD_ALIGN =
256_LD_DOSSEG = ,dosseg
257
258!if defined(LD_SORT_GLOBAL)
259_LD_SORT = Sort global
260!endif
261!if defined(LD_SORT_ALPHABETICAL)
262_LD_SORT = Sort alphabetical
263!endif
264!if defined(LD_SORT_BOTH)
265_LD_SORT = Sort global alphabetical
266!endif
267
268# Option
269!if defined(BUILD_QUIET)
270_LD_QUIET = ,quiet
271!endif
272!if defined(LD_ALIGN)
273_LD_ALIGN = ,alignment=$(LD_ALIGN)
274!endif
275!if defined(LD_DEFAULT_LIBS) || defined(ALL_DEFAULT_LIBS)
276_LD_DEFAULT_LIBS =
277!endif
278!if defined(LD_DOSSEG_NO)
279_LD_DOSSEG =
280!endif
281!if defined(LD_DOSSEG_YES)
282_LD_DOSSEG = ,dosseg
283!endif
284
285_LD_OPTIONAL = $(_LD_SORT) Option verbose $(_LD_QUIET) $(_LD_ALIGN) $(_LD_DOSSEG)
286
Note: See TracBrowser for help on using the repository browser.