8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
12 #
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
18 #
19 # CDDL HEADER END
20 #
21
22 #
23 # Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved.
24 # Copyright (c) 2011 Bayard G. Bell. All rights reserved.
25 # Copyright (c) 2011,2017 by Delphix. All rights reserved.
26 # Copyright (c) 2013 Andrew Stormont. All rights reserved.
27 # Copyright 2016 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
28 # Copyright (c) 2019, Joyent, Inc.
29 #
30
31 #
32 # This Makefile contains the common targets and definitions for
33 # all kernels. It is to be included in the Makefiles for specific
34 # implementation architectures and processor architecture dependent
35 # modules: i.e.: all driving kernel Makefiles.
36 #
37 # Include global definitions:
38 #
39 include $(SRC)/Makefile.master
40
41 #
42 # No text domain in the kernel.
43 #
44 DTEXTDOM =
45
46 #
47 # Keep references to $(SRC)/common relative.
48 COMMONBASE= $(UTSBASE)/../common
224
225 # gcc4 lacks -Wno-maybe-uninitialized
226 CNOWARN_UNINIT = -_gcc4=-Wno-uninitialized \
227 -_gcc7=-Wno-maybe-uninitialized \
228 -_gcc8=-Wno-maybe-uninitialized
229
230 # DEBUG v. -nd make for frequent unused variables, empty conditions, etc. in
231 # -nd builds
232 $(RELEASE_BUILD)CERRWARN += -_gcc=-Wno-unused
233 $(RELEASE_BUILD)CERRWARN += -_gcc=-Wno-empty-body
234
235 CERRWARN += -_smatch=-p=illumos_kernel
236 include $(SRC)/Makefile.smatch
237
238 #
239 # Unfortunately, _IOWR() is regularly used with a third argument of 0,
240 # so we have to disable all these smatch checks.
241 #
242 SMOFF += sizeof
243
244 CSTD = $(CSTD_GNU99)
245
246 CFLAGS_uts =
247 CFLAGS_uts += $(STAND_FLAGS_$(CLASS))
248 CFLAGS_uts += $(CCVERBOSE)
249 CFLAGS_uts += $(ILDOFF)
250 CFLAGS_uts += $(XAOPT)
251 CFLAGS_uts += $(CTF_FLAGS_$(CLASS))
252 CFLAGS_uts += $(CERRWARN)
253 CFLAGS_uts += $(CCNOAUTOINLINE)
254 CFLAGS_uts += $(CCNOREORDER)
255 CFLAGS_uts += $(CCNOAGGRESSIVELOOPS)
256 CFLAGS_uts += $(CGLOBALSTATIC)
257 CFLAGS_uts += $(EXTRA_CFLAGS)
258 CFLAGS_uts += $(CSOURCEDEBUGFLAGS)
259 CFLAGS_uts += $(CUSERFLAGS)
260
261 #
262 # Declare that $(OBJECTS) and $(LINTS) can be compiled in parallel.
263 # The DUMMY target is for those instances where OBJECTS and LINTS
264 # are empty (to avoid an unconditional .PARALLEL).
265 .PARALLEL: $(OBJECTS) $(LINTS) DUMMY
266
267 #
268 # Expanded dependencies
269 #
270 DEF_DEPS = $(DEF_BUILDS:%=def.%)
271 ALL_DEPS = $(ALL_BUILDS:%=all.%)
272 CLEAN_DEPS = $(ALL_BUILDS:%=clean.%)
273 CLOBBER_DEPS = $(ALL_BUILDS:%=clobber.%)
274 LINT_DEPS = $(DEF_BUILDS:%=lint.%)
275 MODLINTLIB_DEPS = $(DEF_BUILDS:%=modlintlib.%)
276 MODLIST_DEPS = $(DEF_BUILDS:%=modlist.%)
277 CLEAN_LINT_DEPS = $(ALL_BUILDS:%=clean.lint.%)
278 INSTALL_DEPS = $(DEF_BUILDS:%=install.%)
279 SYM_DEPS = $(SYM_BUILDS:%=symcheck.%)
|
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
12 #
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
18 #
19 # CDDL HEADER END
20 #
21
22 #
23 # Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved.
24 # Copyright (c) 2011 Bayard G. Bell. All rights reserved.
25 # Copyright (c) 2011,2017 by Delphix. All rights reserved.
26 # Copyright (c) 2013 Andrew Stormont. All rights reserved.
27 # Copyright 2016 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
28 # Copyright 2019 Joyent, Inc.
29 #
30
31 #
32 # This Makefile contains the common targets and definitions for
33 # all kernels. It is to be included in the Makefiles for specific
34 # implementation architectures and processor architecture dependent
35 # modules: i.e.: all driving kernel Makefiles.
36 #
37 # Include global definitions:
38 #
39 include $(SRC)/Makefile.master
40
41 #
42 # No text domain in the kernel.
43 #
44 DTEXTDOM =
45
46 #
47 # Keep references to $(SRC)/common relative.
48 COMMONBASE= $(UTSBASE)/../common
224
225 # gcc4 lacks -Wno-maybe-uninitialized
226 CNOWARN_UNINIT = -_gcc4=-Wno-uninitialized \
227 -_gcc7=-Wno-maybe-uninitialized \
228 -_gcc8=-Wno-maybe-uninitialized
229
230 # DEBUG v. -nd make for frequent unused variables, empty conditions, etc. in
231 # -nd builds
232 $(RELEASE_BUILD)CERRWARN += -_gcc=-Wno-unused
233 $(RELEASE_BUILD)CERRWARN += -_gcc=-Wno-empty-body
234
235 CERRWARN += -_smatch=-p=illumos_kernel
236 include $(SRC)/Makefile.smatch
237
238 #
239 # Unfortunately, _IOWR() is regularly used with a third argument of 0,
240 # so we have to disable all these smatch checks.
241 #
242 SMOFF += sizeof
243
244 #
245 # Ensure that the standard function prologue remains at the very start of a function,
246 # so DTrace fbt will instrument the right place.
247 #
248 CFLAGS_uts_i386 += -_gcc7=-fno-shrink-wrap
249 CFLAGS_uts_i386 += -_gcc8=-fno-shrink-wrap
250 CFLAGS_uts_i386 += -_gcc9=-fno-shrink-wrap
251
252 CSTD = $(CSTD_GNU99)
253
254 CFLAGS_uts =
255 CFLAGS_uts += $(STAND_FLAGS_$(CLASS))
256 CFLAGS_uts += $(CCVERBOSE)
257 CFLAGS_uts += $(ILDOFF)
258 CFLAGS_uts += $(XAOPT)
259 CFLAGS_uts += $(CTF_FLAGS_$(CLASS))
260 CFLAGS_uts += $(CERRWARN)
261 CFLAGS_uts += $(CCNOAUTOINLINE)
262 CFLAGS_uts += $(CCNOREORDER)
263 CFLAGS_uts += $(CCNOAGGRESSIVELOOPS)
264 CFLAGS_uts += $(CGLOBALSTATIC)
265 CFLAGS_uts += $(EXTRA_CFLAGS)
266 CFLAGS_uts += $(CSOURCEDEBUGFLAGS)
267 CFLAGS_uts += $(CUSERFLAGS)
268 CFLAGS_uts += $(CFLAGS_uts_$(MACH))
269
270 #
271 # Declare that $(OBJECTS) and $(LINTS) can be compiled in parallel.
272 # The DUMMY target is for those instances where OBJECTS and LINTS
273 # are empty (to avoid an unconditional .PARALLEL).
274 .PARALLEL: $(OBJECTS) $(LINTS) DUMMY
275
276 #
277 # Expanded dependencies
278 #
279 DEF_DEPS = $(DEF_BUILDS:%=def.%)
280 ALL_DEPS = $(ALL_BUILDS:%=all.%)
281 CLEAN_DEPS = $(ALL_BUILDS:%=clean.%)
282 CLOBBER_DEPS = $(ALL_BUILDS:%=clobber.%)
283 LINT_DEPS = $(DEF_BUILDS:%=lint.%)
284 MODLINTLIB_DEPS = $(DEF_BUILDS:%=modlintlib.%)
285 MODLIST_DEPS = $(DEF_BUILDS:%=modlist.%)
286 CLEAN_LINT_DEPS = $(ALL_BUILDS:%=clean.lint.%)
287 INSTALL_DEPS = $(DEF_BUILDS:%=install.%)
288 SYM_DEPS = $(SYM_BUILDS:%=symcheck.%)
|