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

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