38 # CXXFLAGS (set $(OTHER_CXXFLAGS) instead) |
38 # CXXFLAGS (set $(OTHER_CXXFLAGS) instead) |
39 # LDFLAGS (set $(OTHER_LDFAGS) instead) |
39 # LDFLAGS (set $(OTHER_LDFAGS) instead) |
40 # LDLIBS (set $(EXTRA_LIBS) instead) |
40 # LDLIBS (set $(EXTRA_LIBS) instead) |
41 # LDLIBS_COMMON (set $(EXTRA_LIBS) instead) |
41 # LDLIBS_COMMON (set $(EXTRA_LIBS) instead) |
42 # LINTFLAGS (set $(OTHER_LINTFLAGS) instead) |
42 # LINTFLAGS (set $(OTHER_LINTFLAGS) instead) |
|
43 # |
|
44 # Note: CPPFLAGS are used in C and C++ compiles. |
|
45 # |
43 |
46 |
44 # Get shared JDK settings |
47 # Get shared JDK settings |
45 include $(JDK_MAKE_SHARED_DIR)/Defs.gmk |
48 include $(JDK_MAKE_SHARED_DIR)/Defs.gmk |
46 |
49 |
47 ifndef PLATFORM_SRC |
50 ifndef PLATFORM_SRC |
110 # e.g. declarations must precede statements |
113 # e.g. declarations must precede statements |
111 # -xCC Allow the C++ style of comments in C: // |
114 # -xCC Allow the C++ style of comments in C: // |
112 # Required with many of the source files. |
115 # Required with many of the source files. |
113 # -mt Assume multi-threaded (important) |
116 # -mt Assume multi-threaded (important) |
114 # |
117 # |
|
118 # The more unusual options to the Sun C compiler: |
|
119 # +w Print more warnings |
|
120 # +w2 Maximum warnings |
|
121 # |
115 |
122 |
116 # |
123 # |
117 # Debug flag for C and C++ compiler |
124 # Debug flag for C and C++ compiler |
118 # |
125 # |
119 CFLAGS_DEBUG_OPTION=-g |
126 CFLAGS_DEBUG_OPTION=-g |
138 CC_FASTDEBUG_OPT = $(CC_LOWER_OPT) |
145 CC_FASTDEBUG_OPT = $(CC_LOWER_OPT) |
139 CFLAGS_DEBUG_OPTION = -g $(CC_FASTDEBUG_OPT) |
146 CFLAGS_DEBUG_OPTION = -g $(CC_FASTDEBUG_OPT) |
140 CXXFLAGS_DEBUG_OPTION = -g0 $(CC_FASTDEBUG_OPT) |
147 CXXFLAGS_DEBUG_OPTION = -g0 $(CC_FASTDEBUG_OPT) |
141 endif |
148 endif |
142 |
149 |
143 CFLAGS_COMMON = -v -mt -L$(OBJDIR) -xc99=%none |
150 CFLAGS_COMMON = -L$(OBJDIR) |
|
151 |
|
152 # Do not allow C99 language features like declarations in code etc. |
|
153 CFLAGS_COMMON += -xc99=%none |
|
154 |
|
155 # Allow C++ comments in C code |
144 CFLAGS_COMMON += -xCC |
156 CFLAGS_COMMON += -xCC |
145 CFLAGS_COMMON += -errshort=tags |
157 |
|
158 # Show error message tags on errors |
|
159 CFLAGS_COMMON += -errshort=tags |
|
160 CXXFLAGS_COMMON += -errtags=yes |
|
161 |
|
162 # Optimization flags |
146 CFLAGS_OPT = $(POPT) |
163 CFLAGS_OPT = $(POPT) |
|
164 |
|
165 # Debug version flags |
147 CFLAGS_DBG = $(CFLAGS_DEBUG_OPTION) |
166 CFLAGS_DBG = $(CFLAGS_DEBUG_OPTION) |
148 CFLAGS_COMMON += -Xa $(CFLAGS_REQUIRED) |
167 |
|
168 # Required C compiler flags |
|
169 CFLAGS_COMMON += -Xa $(CFLAGS_REQUIRED) |
|
170 |
|
171 # Maximum warnings all the time |
|
172 CXXFLAGS_COMMON += +w |
|
173 CFLAGS_COMMON += -v |
149 |
174 |
150 # Assume MT behavior all the time (important) |
175 # Assume MT behavior all the time (important) |
151 CXXFLAGS_COMMON = -mt |
176 CXXFLAGS_COMMON += -mt |
|
177 CFLAGS_COMMON += -mt |
152 |
178 |
153 # Assume no C++ exceptions are used |
179 # Assume no C++ exceptions are used |
154 CXXFLAGS_COMMON += -features=no%except -DCC_NOEX |
180 CXXFLAGS_COMMON += -features=no%except -DCC_NOEX |
155 |
181 |
156 # For C++, these options tell it to assume nothing about locating libraries |
182 # For C++, these options tell it to assume nothing about locating libraries |
235 # uncomment the following to build with PERTURBALOT set |
261 # uncomment the following to build with PERTURBALOT set |
236 # |
262 # |
237 # OTHER_CFLAGS += -DPERTURBALOT |
263 # OTHER_CFLAGS += -DPERTURBALOT |
238 # |
264 # |
239 |
265 |
240 CPPFLAGS_COMMON = -D$(ARCH_FAMILY) -D__solaris__ -D_REENTRANT |
266 CPPFLAGS_COMMON = -D__solaris__ -D$(ARCH_FAMILY) |
241 CPPFLAGS_OPT = |
267 CPPFLAGS_OPT = -DNDEBUG |
242 CPPFLAGS_DBG = -DDEBUG |
268 CPPFLAGS_DBG = -DDEBUG |
243 |
269 |
244 ifeq ($(ARCH_FAMILY), i586) |
270 ifeq ($(ARCH_FAMILY), i586) |
245 # The macro _LITTLE_ENDIAN needs to be defined the same to avoid the |
271 # The macro _LITTLE_ENDIAN needs to be defined the same to avoid the |
246 # Sun C compiler warning message: warning: macro redefined: _LITTLE_ENDIAN |
272 # Sun C compiler warning message: warning: macro redefined: _LITTLE_ENDIAN |