source: trunk/make/setup.optional.mscvx-16.mk@ 10366

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

Enhanced memory model options.

File size: 4.5 KB
Line 
1# $Id: setup.optional.mscvx-16.mk,v 1.3 2002-09-14 23:30:09 bird Exp $
2
3#
4# Helper file for all the optional stuff which is common for
5# all mscvx-16 compilers.
6# Concidering the size of this, it really make sense putting it here.
7#
8MAKE_INCLUDE_CX_OPT = $(PATH_MAKE)\setup.optional.mscvx-16.mk
9
10#
11# C Compiler flags.
12#
13!if [set INCLUDE=]
14!endif
15_CC_SEG_TEXT =
16_CC_SEG_DATA =
17_CC_SEG_XCPT =
18_CC_DEFAULT_LIBS= /Zl
19_CC_PACK = /Zp
20_CC_MODEL = /AC
21_OBJ_MODEL = c
22_CC_MODEL_CODE =
23_CC_MODEL_DATA =
24_CC_MODEL_SETUP = w
25_CC_CPU = 2
26_CC_STACKPROB = s
27_CC_FASTCALL =
28!if "$(BUILD_MODE)" == "RELEASE"
29_CC_OPTIM = /Ogeitln
30!else
31_CC_OPTIM = /Owis
32!endif
33_CC_O_INSTRICT =# i
34_CC_O_SPACE =# s
35_CC_O_TIME =# t
36_CC_O_O2 =# x
37_CC_WAR = /W0
38
39!ifdef ALL_SEG_TEXT
40_CC_SEG_TEXT=/NT$(ALL_SEG_TEXT)
41!endif
42!ifdef CC_SEG_TEXT
43_CC_SEG_TEXT=/NT$(CC_SEG_TEXT)
44!endif
45
46!ifdef ALL_SEG_DATA
47_CC_SEG_DATA=/ND$(ALL_SEG_TEXT)
48!endif
49!ifdef CC_SEG_DATA
50_CC_SEG_DATA=/ND$(CC_SEG_TEXT)
51!endif
52
53!if defined(CC_DEFAULT_LIBS) || defined(ALL_DEFAULT_LIBS)
54_CC_DEFAULT_LIBS =
55!endif
56
57!ifdef ALL_PACK
58_CC_PACK = /Zp$(ALL_PACK)
59!endif
60!ifdef CC_PACK
61_CC_PACK = /Zp$(CC_PACK)
62!endif
63
64# Model
65!if !defined(CC_MODEL) && defined(ALL_MODEL)
66CC_MODEL = $(ALL_MODEL)
67!endif
68!ifdef CC_MODEL
69_CC_MODEL =
70!endif
71!if "$(CC_MODEL)" == "TINY"
72_CC_MODEL = /AT
73_OBJ_MODEL = s
74!endif
75!if "$(CC_MODEL)" == "SMALL"
76_CC_MODEL = /AS
77_OBJ_MODEL = s
78!endif
79!if "$(CC_MODEL)" == "COMPACT"
80_CC_MODEL = /AC
81_OBJ_MODEL = c
82!endif
83!if "$(CC_MODEL)" == "MEDIUM"
84_CC_MODEL = /AM
85_OBJ_MODEL = m
86!endif
87!if "$(CC_MODEL)" == "LARGE"
88_CC_MODEL = /AL
89_OBJ_MODEL = l
90!endif
91!if "$(CC_MODEL)" == "HUGE"
92_CC_MODEL = /AH
93_OBJ_MODEL = l
94!endif
95!if "$(_CC_MODEL)" == ""
96! error Invalid MODEL. CC_MODEL=$(CC_MODEL)
97!endif
98
99!if !defined(CC_MODEL_CODE) && defined(ALL_MODEL_CODE)
100CC_MODEL_CODE = $(ALL_MODEL_CODE)
101!endif
102!if "$(CC_MODEL_CODE)" != ""
103_CC_MODEL_CODE =
104! if "$(CC_MODEL_CODE)" == "s"
105_CC_MODEL_CODE = s
106! endif
107! if "$(CC_MODEL_CODE)" == "l"
108_CC_MODEL_CODE = l
109! endif
110! if "$(_CC_MODEL_CODE)" == ""
111! error Invalid ALL/CC_MODEL_CODE. Valid options are 'l' for far code and 's' near code.
112! endif
113!endif
114
115!if !defined(CC_MODEL_DATA) && defined(ALL_MODEL_DATA)
116CC_MODEL_DATA = $(ALL_MODEL_DATA)
117!endif
118!if "$(CC_MODEL_DATA)" != ""
119_CC_MODEL_DATA =
120! if "$(CC_MODEL_DATA)" == "n"
121_CC_MODEL_DATA = n
122! endif
123! if "$(CC_MODEL_DATA)" == "f"
124_CC_MODEL_DATA = f
125! endif
126! if "$(CC_MODEL_DATA)" == "h"
127_CC_MODEL_DATA = h
128! endif
129! if "$(_CC_MODEL_DATA)" == ""
130! error Invalid ALL/CC_MODEL_DATA. Valid options are 'h' for hugh data, 'f' for far data and 'n' near data.
131! endif
132!endif
133
134!if !defined(CC_MODEL_SETUP) && defined(ALL_MODEL_SETUP)
135CC_MODEL_SETUP= $(ALL_MODEL_SETUP)
136!endif
137!if "$(CC_MODEL_SETUP)" != ""
138_CC_MODEL_SETUP =
139! if "$(CC_MODEL_SETUP)" == "d"
140_CC_MODEL_SETUP = d
141! endif
142! if "$(CC_MODEL_SETUP)" == "u"
143_CC_MODEL_SETUP = u
144! endif
145! if "$(CC_MODEL_SETUP)" == "w"
146_CC_MODEL_SETUP = w
147! endif
148! if "$(_CC_MODEL_SETUP)" == ""
149! error Invalid ALL/CC_MODEL_SETUP. Valid options are 'd' for SS==DS, 'u' for DS!=SS and DS reload on entry and 'w' for DS!=SS no DS reload on entry.
150! endif
151!endif
152
153!if defined(CC_STACKPROB) || defined(ALL_STACKPROB)
154_CC_STACKPROB =
155!endif
156!if defined(CC_NO_STACKPROB) || defined(ALL_NO_STACKPROB)
157_CC_STACKPROB = s
158!endif
159
160!if defined(CC_FASTCALL) || defined(ALL_FASTCALL)
161_CC_FASTCALL = r
162!endif
163!if defined(CC_NO_FASTCALL)
164_CC_FASTCALL =
165!endif
166
167!if defined(ALL_CPU)
168_CC_CPU = $(ALL_CPU)
169!endif
170!if defined(CC_CPU)
171_CC_CPU = $(CC_CPU)
172!endif
173
174!if !defined(ALL_NO_O) && !defined(CC_NO_O)
175! if defined(CC_O_INSTRICT) || defined(ALL_O_INSTRICT)
176_CC_O_INSTRICT = i
177! endif
178! if defined(CC_O_SIZE) || defined(ALL_O_SIZE)
179_CC_O_SIZE = s
180! endif
181! if defined(CC_O_TIME) || defined(ALL_O_TIME)
182_CC_O_TIME = t
183! endif
184! if defined(CC_O_O2) || defined(ALL_O_O2)
185_CC_O_O2 = x
186! endif
187! if "$(_CC_C_INSTRICT)$(_CC_O_SIZE)$(_CC_O_TIME)" != ""
188_CC_OPTIM = /O$(_CC_C_INSTRICT)$(_CC_O_SIZE)$(_CC_O_TIME)
189! endif
190!else
191_CC_OPTIM = /Od
192!endif
193
194!if defined(CC_WALL) || defined(ALL_WALL)
195_CC_WAR =-W4
196!endif
197
198!if "$(_CC_MODEL_SETUP)" != "" && "$(_CC_MODEL_DATA)" != "" && "$(_CC_MODEL_CODE)" != ""
199_CC_MODEL = /A
200!endif
201
202_CC_OPTIONAL = $(_CC_SEG_TEXT) $(_CC_SEG_DATA) $(_CC_SEG_XCPT) $(_CC_DEFAULT_LIBS) $(_CC_PACK)\
203 $(_CC_MODEL)$(_CC_MODEL_SETUP)$(_CC_MODEL_DATA)$(_CC_MODEL_CODE) \
204 /G$(_CC_FASTCALL)$(_CC_STACKPROB)$(_CC_CPU) $(_CC_OPTIM) $(_CC_WAR)
205
Note: See TracBrowser for help on using the repository browser.