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

Last change on this file since 8356 was 8354, checked in by bird, 24 years ago

Tidyup and fixup.

File size: 4.3 KB
Line 
1# $Id: setup.optional.watcom11x.mk,v 1.2 2002-04-30 19:48:59 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#
11# C Compiler flags.
12#
13_CC_SEG_TEXT =
14_CC_SEG_DATA =
15_CC_SEG_XCPT =
16_CC_DEFAULT_LIBS = -zl
17_CC_PACK =
18!ifdef ENV_16BIT
19_CC_MODEL = -ms
20_OBJ_MODEL = s
21_CC_DEF_MODEL = SMALL
22!else
23_CC_MODEL = -mf
24_CC_DEF_MODEL = FLAT
25!endif
26
27!ifdef ALL_SEG_TEXT
28_CC_SEG_TEXT=-nt=$(ALL_SEG_TEXT)
29!endif
30!ifdef CC_SEG_TEXT
31_CC_SEG_TEXT=-nt=$(CC_SEG_TEXT)
32!endif
33!ifdef ALL_SEG_DATA
34_CC_SEG_DATA=-nd=$(ALL_SEG_TEXT)
35!endif
36!ifdef CC_SEG_DATA
37_CC_SEG_DATA=-nd=$(CC_SEG_TEXT)
38!endif
39!if defined(CC_DEFAULT_LIBS) || defined(ALL_DEFAULT_LIBS)
40_CC_DEFAULT_LIBS =
41!endif
42!ifdef ALL_PACK
43_CC_PACK = -zp=$(ALL_PACK)
44!endif
45!ifdef CC_PACK
46_CC_PACK = -zp=$(CC_PACK)
47!endif
48# model stuff.
49!if !defined(CC_MODEL) && defined(ALL_MODEL)
50CC_MODEL = $(ALL_MODEL)
51!endif
52!ifdef CC_MODEL
53_CC_MODEL =
54!endif
55! if "$(CC_MODEL)" == "TINY"
56_CC_MODEL = -ms
57_OBJ_MODEL = s
58_CC_DEF_MODEL= SMALL
59! error CC_MODEL=TINY is not supported by this compiler ($(ENV_NAME)).
60! endif
61!if "$(CC_MODEL)" == "SMALL"
62_CC_MODEL = -ms
63_OBJ_MODEL = s
64_CC_DEF_MODEL= SMALL
65!endif
66!if "$(CC_MODEL)" == "COMPACT"
67_CC_MODEL = -mc
68_OBJ_MODEL = c
69_CC_DEF_MODEL= COMPACT
70!endif
71!if "$(CC_MODEL)" == "MEDIUM"
72_CC_MODEL = -mm
73_OBJ_MODEL = m
74_CC_DEF_MODEL= MEDIUM
75!endif
76!if "$(CC_MODEL)" == "LARGE"
77_CC_MODEL = -ml
78_OBJ_MODEL = l
79_CC_DEF_MODEL= LARGE
80!endif
81!if "$(CC_MODEL)" == "HUGE"
82! ifdef ENV_16BIT
83_CC_MODEL = -mh
84_OBJ_MODEL = h
85_CC_DEF_MODEL= HUGH
86! else
87_CC_MODEL = -ml
88_OBJ_MODEL = l
89_CC_DEF_MODEL= LARGE
90! endif
91!endif
92!if "$(CC_MODEL)" == "FLAT"
93! ifdef ENV_16BIT
94! error CC_MODEL=FLAT is not supported by the 16-bit compiler. ($(ENV_NAME))
95! else
96_CC_MODEL = -mf
97_OBJ_MODEL = f
98_CC_DEF_MODEL= LARGE
99! endif
100!endif
101!if "$(_CC_MODEL)" == ""
102! error Invalid MODEL. CC_MODEL=$(CC_MODEL)
103!endif
104
105_CC_OPTIONAL = $(_CC_SEG_TEXT) $(_CC_SEG_DATA) $(_CC_SEG_XCPT) $(_CC_DEFAULT_LIBS) $(_CC_PACK) $(_CC_MODEL) -d$(_CC_DEF_MODEL)
106
107
108
109#
110# C++ Compiler flags.
111#
112_CXX_SEG_TEXT =
113_CXX_SEG_DATA =
114_CXX_SEG_XCPT =
115_CXX_DEFAULT_LIBS = -zl
116_CXX_PACK =
117_CXX_XCPT = -xd
118_CXX_MODEL = -mf
119!ifdef ENV_16BIT
120_CXX_MODEL = -ms
121_OBJ_MODEL = s
122_CXX_DEF_MODEL = SMALL
123!else
124_CXX_MODEL = -mf
125_CXX_DEF_MODEL = FLAT
126!endif
127
128!ifdef ALL_SEG_TEXT
129_CXX_SEG_TEXT=-nt=$(ALL_SEG_TEXT)
130!endif
131!ifdef CXX_SEG_TEXT
132_CXX_SEG_TEXT=-nt=$(CXX_SEG_TEXT)
133!endif
134!ifdef ALL_SEG_DATA
135_CXX_SEG_DATA=-nd=$(ALL_SEG_TEXT)
136!endif
137!ifdef CXX_SEG_DATA
138_CXX_SEG_DATA=-nd=$(CXX_SEG_TEXT)
139!endif
140!ifdef ALL_SEG_XCPT
141_CXX_SEG_XCPT=
142!endif
143!ifdef CXX_SEG_XCPT
144_CXX_SEG_XCPT=
145!endif
146!if defined(CXX_DEFAULT_LIBS) || defined(ALL_DEFAULT_LIBS)
147_CXX_DEFAULT_LIBS =
148!endif
149!ifdef ALL_PACK
150_CXX_PACK = -zp=$(ALL_PACK)
151!endif
152!ifdef CXX_PACK
153_CXX_PACK = -zp=$(CXX_PACK)
154!endif
155!ifdef CXX_XCPT
156_CXX_XCPT = -xs
157!endif
158!ifdef CXX_NO_XCPT
159_CXX_XCPT = -xd
160!endif
161# Model
162!if !defined(CXX_MODEL) && defined(ALL_MODEL)
163CXX_MODEL = $(ALL_MODEL)
164!endif
165!ifdef CXX_MODEL
166_CXX_MODEL =
167!endif
168! if "$(CXX_MODEL)" == "TINY"
169_CXX_MODEL = -ms
170_OBJ_MODEL = s
171_CXX_DEF_MODEL= SMALL
172! error CXX_MODEL=TINY is not supported by this compiler ($(ENV_NAME)).
173! endif
174!if "$(CXX_MODEL)" == "SMALL"
175_CXX_MODEL = -ms
176_OBJ_MODEL = s
177_CXX_DEF_MODEL= SMALL
178!endif
179!if "$(CXX_MODEL)" == "COMPACT"
180_CXX_MODEL = -mc
181_OBJ_MODEL = c
182_CXX_DEF_MODEL= COMPACT
183!endif
184!if "$(CXX_MODEL)" == "MEDIUM"
185_CXX_MODEL = -mm
186_OBJ_MODEL = m
187_CXX_DEF_MODEL= MEDIUM
188!endif
189!if "$(CXX_MODEL)" == "LARGE"
190_CXX_MODEL = -ml
191_OBJ_MODEL = l
192_CXX_DEF_MODEL= LARGE
193!endif
194!if "$(CXX_MODEL)" == "HUGE"
195! ifdef ENV_16BIT
196_CXX_MODEL = -mh
197_OBJ_MODEL = h
198_CXX_DEF_MODEL= HUGH
199! else
200_CXX_MODEL = -ml
201_OBJ_MODEL = l
202_CXX_DEF_MODEL= LARGE
203! endif
204!endif
205!if "$(CXX_MODEL)" == "FLAT"
206! ifdef ENV_16BIT
207! error CXX_MODEL=FLAT is not supported by the 16-bit compiler. ($(ENV_NAME))
208! else
209_CXX_MODEL = -mf
210_OBJ_MODEL = f
211_CXX_DEF_MODEL= LARGE
212! endif
213!endif
214!if "$(_CXX_MODEL)" == ""
215! error Invalid MODEL. CXX_MODEL=$(CXX_MODEL)
216!endif
217
218_CXX_OPTIONAL = $(_CXX_SEG_TEXT) $(_CXX_SEG_DATA) $(_CXX_SEG_XCPT) $(_CXX_DEFAULT_LIBS) $(_CXX_PACK) $(_CXX_XCPT) $(_CXX_MODEL) -d$(_CXX_DEF_MODEL)
219
220
Note: See TracBrowser for help on using the repository browser.