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

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

Improved dependencies on the makefiles.

File size: 7.7 KB
Line 
1# $Id: setup.optional.watcom11x.mk,v 1.9 2002-09-14 23:31:28 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#
8MAKE_INCLUDE_CX_OPT = $(PATH_MAKE)\setup.optional.watcom11x.mk
9
10
11#
12# C Compiler flags.
13#
14_CC_SEG_TEXT =
15_CC_SEG_DATA =
16_CC_SEG_XCPT =
17_CC_SEG_TEXT_CLASS=
18_CC_DEFAULT_LIBS= -zl
19_CC_PACK =
20!ifdef ENV_16BIT
21_CC_MODEL = -ms
22_OBJ_MODEL = s
23_CC_DEF_MODEL = SMALL
24!else
25_CC_MODEL = -mf
26_CC_DEF_MODEL = FLAT
27!endif
28_CC_OPT_R =
29_CC_O_INLINE_USER =
30_CC_O_FRAMES=
31_CC_O_O2 =
32_CC_O_INLINE=
33_CC_O_SIZE =
34_CC_O_TIME =
35_CC_O_DISABLE =
36_CC_O_X =
37!ifdef ENV_16BIT
38_CC_CPU = -5
39!else
40_CC_CPU = -5r
41!endif
42
43!ifdef ALL_SEG_TEXT
44_CC_SEG_TEXT=-nt=$(ALL_SEG_TEXT)
45!endif
46!ifdef CC_SEG_TEXT
47_CC_SEG_TEXT=-nt=$(CC_SEG_TEXT)
48!endif
49!ifdef ALL_SEG_DATA
50_CC_SEG_DATA=-nd=$(ALL_SEG_TEXT)
51!endif
52!ifdef CC_SEG_DATA
53_CC_SEG_DATA=-nd=$(CC_SEG_TEXT)
54!endif
55!ifdef ALL_SEG_TEXT_CLASS
56_CC_SEG_TEXT_CLASS =-nc=$(ALL_SEG_TEXT_CLASS)
57!endif
58!ifdef CC_SEG_TEXT_CLASS
59_CC_SEG_TEXT_CLASS =-nc=$(CC_SEG_TEXT_CLASS)
60!endif
61!if defined(CC_DEFAULT_LIBS) || defined(ALL_DEFAULT_LIBS)
62_CC_DEFAULT_LIBS =
63!endif
64!ifdef ALL_PACK
65_CC_PACK = -zp=$(ALL_PACK)
66!endif
67!ifdef CC_PACK
68_CC_PACK = -zp=$(CC_PACK)
69!endif
70# model stuff.
71!if !defined(CC_MODEL) && defined(ALL_MODEL)
72CC_MODEL = $(ALL_MODEL)
73!endif
74!ifdef CC_MODEL
75_CC_MODEL =
76!endif
77! if "$(CC_MODEL)" == "TINY"
78_CC_MODEL = -ms
79_OBJ_MODEL = s
80_CC_DEF_MODEL= SMALL
81! error CC_MODEL=TINY is not supported by this compiler ($(ENV_NAME)).
82! endif
83!if "$(CC_MODEL)" == "SMALL"
84_CC_MODEL = -ms
85_OBJ_MODEL = s
86_CC_DEF_MODEL= SMALL
87!endif
88!if "$(CC_MODEL)" == "COMPACT"
89_CC_MODEL = -mc
90_OBJ_MODEL = c
91_CC_DEF_MODEL= COMPACT
92!endif
93!if "$(CC_MODEL)" == "MEDIUM"
94_CC_MODEL = -mm
95_OBJ_MODEL = m
96_CC_DEF_MODEL= MEDIUM
97!endif
98!if "$(CC_MODEL)" == "LARGE"
99_CC_MODEL = -ml
100_OBJ_MODEL = l
101_CC_DEF_MODEL= LARGE
102!endif
103!if "$(CC_MODEL)" == "HUGE"
104! ifdef ENV_16BIT
105_CC_MODEL = -mh
106_OBJ_MODEL = h
107_CC_DEF_MODEL= HUGH
108! else
109_CC_MODEL = -ml
110_OBJ_MODEL = l
111_CC_DEF_MODEL= LARGE
112! endif
113!endif
114!if "$(CC_MODEL)" == "FLAT"
115! ifdef ENV_16BIT
116! error CC_MODEL=FLAT is not supported by the 16-bit compiler. ($(ENV_NAME))
117! else
118_CC_MODEL = -mf
119_OBJ_MODEL = f
120_CC_DEF_MODEL= LARGE
121! endif
122!endif
123!if "$(_CC_MODEL)" == ""
124! error Invalid MODEL. CC_MODEL=$(CC_MODEL)
125!endif
126
127# watcom options.
128!if defined(CC_SAVE_SEGS_ACCROSS_CALLS) || defined(ALL_SAVE_SEGS_ACCROSS_CALLS)
129_CC_OPT_R = -r
130!endif
131
132# watcom optimizations.
133!if !defined(ALL_NO_O) && !defined(CC_NO_O)
134! if defined(ALL_O_INLINE_USER)
135_CC_O_INLINE_USER = -e=$(ALL_O_INLINE_USER)
136! endif
137! if defined(CC_O_INLINE_USER)
138_CC_O_INLINE_USER = -e=$(CC_O_INLINE_USER)
139! endif
140! if defined(CC_O_FRAMES) || defined(ALL_O_FRAMES)
141_CC_O_FRAMES=f+
142! endif
143! if defined(CC_O_O2) || defined(ALL_O_O2)
144_CC_O_O2 =h
145! endif
146! if defined(CC_O_INLINE) || defined(ALL_O_INLINE)
147_CC_O_INLINE=i
148! endif
149! if defined(CC_O_SIZE) || defined(ALL_O_SIZE)
150_CC_O_SIZE =s
151! endif
152! if defined(CC_O_TIME) || defined(ALL_O_TIME)
153_CC_O_TIME =t
154! endif
155! if defined(CC_O_X) || defined(ALL_O_X)
156_CC_O_X =x
157! endif
158!else
159_CC_O_DISABLE=d
160!endif
161
162_CC_OPTIM = -o$(_CC_O_DISABLE)$(_CC_O_O2)$(_CC_O_INLINE)$(_CC_O_SIZE)$(_CC_O_TIME)$(_CC_O_X)$(_CC_O_FRAMES)$(_CC_O_INLINE_USER)
163!if "$(_CC_OPTIM)" == "-o"
164_CC_OPTIM =
165!endif
166
167!if defined(ALL_CPU)
168! ifdef ENV_16BIT
169_CC_CPU = -$(ALL_CPU)
170! else
171_CC_CPU = -$(ALL_CPU)r
172! endif
173!endif
174!if defined(CC_CPU)
175! ifdef ENV_16BIT
176_CC_CPU = -$(CC_CPU)
177! else
178_CC_CPU = -$(CC_CPU)r
179! endif
180!endif
181
182_CC_OPTIONAL = $(_CC_SEG_TEXT) $(_CC_SEG_DATA) $(_CC_SEG_XCPT) $(_CC_SEG_TEXT_CLASS) $(_CC_DEFAULT_LIBS) \
183 $(_CC_PACK) $(_CC_MODEL) -d$(_CC_DEF_MODEL) $(_CC_OPT_R) $(_CC_CPU) $(_CC_OPTIM)
184
185
186
187#
188# C++ Compiler flags.
189#
190_CXX_SEG_TEXT =
191_CXX_SEG_DATA =
192_CXX_SEG_XCPT =
193_CXX_SEG_TEXT_CLASS =
194_CXX_DEFAULT_LIBS= -zl
195_CXX_PACK =
196_CXX_XCPT = -xd
197_CXX_MODEL = -mf
198!ifdef ENV_16BIT
199_CXX_MODEL = -ms
200_OBJ_MODEL = s
201_CXX_DEF_MODEL = SMALL
202!else
203_CXX_MODEL = -mf
204_CXX_DEF_MODEL = FLAT
205!endif
206_CXX_OPT_R =
207_CXX_O_INLINE_USER =
208_CXX_O_FRAMES=
209_CXX_O_O2 =
210_CXX_O_INLINE=
211_CXX_O_SIZE =
212_CXX_O_TIME =
213_CXX_O_DISABLE =
214_CXX_O_X =
215_CXX_CPU =
216!ifdef ENV_16BIT
217_CXX_CPU = -5
218!else
219_CXX_CPU = -5r
220!endif
221
222!ifdef ALL_SEG_TEXT
223_CXX_SEG_TEXT=-nt=$(ALL_SEG_TEXT)
224!endif
225!ifdef CXX_SEG_TEXT
226_CXX_SEG_TEXT=-nt=$(CXX_SEG_TEXT)
227!endif
228!ifdef ALL_SEG_DATA
229_CXX_SEG_DATA=-nd=$(ALL_SEG_TEXT)
230!endif
231!ifdef CXX_SEG_DATA
232_CXX_SEG_DATA=-nd=$(CXX_SEG_TEXT)
233!endif
234!ifdef ALL_SEG_XCPT
235_CXX_SEG_XCPT=
236!endif
237!ifdef CXX_SEG_XCPT
238_CXX_SEG_XCPT=
239!endif
240!ifdef ALL_SEG_TEXT_CLASS
241_CXX_SEG_TEXT_CLASS =-nc=$(ALL_SEG_TEXT_CLASS)
242!endif
243!ifdef CXX_SEG_TEXT_CLASS
244_CXX_SEG_TEXT_CLASS =-nc=$(CXX_SEG_TEXT_CLASS)
245!endif
246!if defined(CXX_DEFAULT_LIBS) || defined(ALL_DEFAULT_LIBS)
247_CXX_DEFAULT_LIBS =
248!endif
249!ifdef ALL_PACK
250_CXX_PACK = -zp=$(ALL_PACK)
251!endif
252!ifdef CXX_PACK
253_CXX_PACK = -zp=$(CXX_PACK)
254!endif
255!ifdef CXX_XCPT
256_CXX_XCPT = -xs
257!endif
258!ifdef CXX_NO_XCPT
259_CXX_XCPT = -xd
260!endif
261# Model
262!if !defined(CXX_MODEL) && defined(ALL_MODEL)
263CXX_MODEL = $(ALL_MODEL)
264!endif
265!ifdef CXX_MODEL
266_CXX_MODEL =
267!endif
268! if "$(CXX_MODEL)" == "TINY"
269_CXX_MODEL = -ms
270_OBJ_MODEL = s
271_CXX_DEF_MODEL= SMALL
272! error CXX_MODEL=TINY is not supported by this compiler ($(ENV_NAME)).
273! endif
274!if "$(CXX_MODEL)" == "SMALL"
275_CXX_MODEL = -ms
276_OBJ_MODEL = s
277_CXX_DEF_MODEL= SMALL
278!endif
279!if "$(CXX_MODEL)" == "COMPACT"
280_CXX_MODEL = -mc
281_OBJ_MODEL = c
282_CXX_DEF_MODEL= COMPACT
283!endif
284!if "$(CXX_MODEL)" == "MEDIUM"
285_CXX_MODEL = -mm
286_OBJ_MODEL = m
287_CXX_DEF_MODEL= MEDIUM
288!endif
289!if "$(CXX_MODEL)" == "LARGE"
290_CXX_MODEL = -ml
291_OBJ_MODEL = l
292_CXX_DEF_MODEL= LARGE
293!endif
294!if "$(CXX_MODEL)" == "HUGE"
295! ifdef ENV_16BIT
296_CXX_MODEL = -mh
297_OBJ_MODEL = h
298_CXX_DEF_MODEL= HUGH
299! else
300_CXX_MODEL = -ml
301_OBJ_MODEL = l
302_CXX_DEF_MODEL= LARGE
303! endif
304!endif
305!if "$(CXX_MODEL)" == "FLAT"
306! ifdef ENV_16BIT
307! error CXX_MODEL=FLAT is not supported by the 16-bit compiler. ($(ENV_NAME))
308! else
309_CXX_MODEL = -mf
310_OBJ_MODEL = f
311_CXX_DEF_MODEL= LARGE
312! endif
313!endif
314!if "$(_CXX_MODEL)" == ""
315! error Invalid MODEL. CXX_MODEL=$(CXX_MODEL)
316!endif
317!if defined(CXX_SAVE_SEGS_ACCROSS_CALLS) || defined(ALL_SAVE_SEGS_ACCROSS_CALLS)
318_CXX_OPT_R = -r
319!endif
320
321
322# watcom optimizations.
323!if !defined(ALL_NO_O) && !defined(CXX_NO_O)
324! if defined(ALL_O_INLINE_USER)
325_CXX_O_INLINE_USER = -e=$(ALL_O_INLINE_USER)
326! endif
327! if defined(CXX_O_INLINE_USER)
328_CXX_O_INLINE_USER = -e=$(CXX_O_INLINE_USER)
329! endif
330! if defined(CXX_O_FRAMES) || defined(ALL_O_FRAMES)
331_CXX_O_FRAMES=f+
332! endif
333! if defined(CXX_O_O2) || defined(ALL_O_O2)
334_CXX_O_O2 =h
335! endif
336! if defined(CXX_O_INLINE) || defined(ALL_O_INLINE)
337_CXX_O_INLINE=i
338! endif
339! if defined(CXX_O_SIZE) || defined(ALL_O_SIZE)
340_CXX_O_SIZE =s
341! endif
342! if defined(CXX_O_TIME) || defined(ALL_O_TIME)
343_CXX_O_TIME =t
344! endif
345! if defined(CXX_O_X) || defined(ALL_O_X)
346_CXX_O_X =x
347! endif
348!else
349_CXX_O_DISABLE=d
350!endif
351
352_CXX_OPTIM = -o$(_CXX_O_DISABLE)$(_CXX_O_O2)$(_CXX_O_INLINE)$(_CXX_O_SIZE)$(_CXX_O_TIME)$(_CXX_O_FRAMES)$(_CXX_O_X)$(_CXX_O_INLINE_USER)
353!if "$(_CXX_OPTIM)" == "-o"
354_CXX_OPTIM =
355!endif
356
357!if defined(ALL_CPU)
358! ifdef ENV_16BIT
359_CXX_CPU = -$(ALL_CPU)
360! else
361_CXX_CPU = -$(ALL_CPU)r
362! endif
363!endif
364!if defined(CXX_CPU)
365! ifdef ENV_16BIT
366_CXX_CPU = -$(CXX_CPU)
367! else
368_CXX_CPU = -$(CXX_CPU)r
369! endif
370!endif
371
372_CXX_OPTIONAL = $(_CXX_SEG_TEXT) $(_CXX_SEG_DATA) $(_CXX_SEG_XCPT) $(_CXX_SEG_TEXT_CLASS) $(_CXX_DEFAULT_LIBS) \
373 $(_CXX_PACK) $(_CXX_XCPT) $(_CXX_MODEL) -d$(_CXX_DEF_MODEL) $(_CXX_OPT_R) $(_CXX_CPU) $(_CXX_OPTIM)
374
Note: See TracBrowser for help on using the repository browser.