Makefile revision 7014882c6a3672fd0e5d60200af8643ae53c5928
f743002678eb67b99bbc29fee116b65d9530fec0wrowe#
80833bb9a1bf25dcf19e814438a4b311d2e1f4cffuankg# CDDL HEADER START
a34684a59b60a4173c25035d0c627ef17e6dc215rpluem#
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic# The contents of this file are subject to the terms of the
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic# Common Development and Distribution License (the "License").
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic# You may not use this file except in compliance with the License.
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic#
4da61833a1cbbca94094f9653fd970582b97a72etrawick# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4da61833a1cbbca94094f9653fd970582b97a72etrawick# or http://www.opensolaris.org/os/licensing.
4da61833a1cbbca94094f9653fd970582b97a72etrawick# See the License for the specific language governing permissions
4da61833a1cbbca94094f9653fd970582b97a72etrawick# and limitations under the License.
4da61833a1cbbca94094f9653fd970582b97a72etrawick#
4789804be088bcd86ae637a29cdb7fda25169521jailletc# When distributing Covered Code, include this CDDL HEADER in each
4789804be088bcd86ae637a29cdb7fda25169521jailletc# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4789804be088bcd86ae637a29cdb7fda25169521jailletc# If applicable, add the following below this CDDL HEADER, with the
4789804be088bcd86ae637a29cdb7fda25169521jailletc# fields enclosed by brackets "[]" replaced with your own identifying
e50c3026198fd496f183cda4c32a202925476778covener# information: Portions Copyright [yyyy] [name of copyright owner]
e50c3026198fd496f183cda4c32a202925476778covener#
e50c3026198fd496f183cda4c32a202925476778covener# CDDL HEADER END
5b88c8507d5ef6d0c4cfbc78230294968175b638minfrin#
5b88c8507d5ef6d0c4cfbc78230294968175b638minfrin
6c3b9cebb551140fbb25d58bae08b539b3802133ylavic#
6c3b9cebb551140fbb25d58bae08b539b3802133ylavic# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
6c3b9cebb551140fbb25d58bae08b539b3802133ylavic# Use is subject to license terms.
4f29b65ab4b547ad5dbe506e2d0ff5d12ead9247ylavic#
4f29b65ab4b547ad5dbe506e2d0ff5d12ead9247ylavic
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavic#
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavic# uts/sun4v/vsw/Makefile
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavic#
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavic# This makefile drives the production of the vsw driver module.
69301145375a889e7e37caf7cc7321ac0f91801erpluem#
69301145375a889e7e37caf7cc7321ac0f91801erpluem# sun4v implementation architecture dependent
69301145375a889e7e37caf7cc7321ac0f91801erpluem#
506bfe33206b2fece40ef25f695af39dd4130facjkaluza
506bfe33206b2fece40ef25f695af39dd4130facjkaluza#
506bfe33206b2fece40ef25f695af39dd4130facjkaluza# Path to the base of the uts directory tree (usually /usr/src/uts).
506bfe33206b2fece40ef25f695af39dd4130facjkaluza#
d58a848a016d401b965111e50ef829e1641f7834minfrinUTSBASE = ../..
d58a848a016d401b965111e50ef829e1641f7834minfrin
d58a848a016d401b965111e50ef829e1641f7834minfrin#
2e6f4d654c96c98b761fb012fd25c5d5b1558c44sf# Define the module and object file sets.
2e6f4d654c96c98b761fb012fd25c5d5b1558c44sf#
2e6f4d654c96c98b761fb012fd25c5d5b1558c44sfMODULE = vsw
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavicOBJECTS = $(VSW_OBJS:%=$(OBJS_DIR)/%)
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavicLINTS = $(VSW_OBJS:%.o=$(LINTS_DIR)/%.ln)
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavicROOTMODULE = $(ROOT_PSM_DRV_DIR)/$(MODULE)
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavic
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavic#
e8bd80a4bb88199d2f9a24a50345688e52d9c116ylavic# Include common rules.
e8bd80a4bb88199d2f9a24a50345688e52d9c116ylavic#
e8bd80a4bb88199d2f9a24a50345688e52d9c116ylavicinclude $(UTSBASE)/sun4v/Makefile.sun4v
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic#
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic# Override defaults to build a unique, local modstubs.o.
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic#
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavicMODSTUBS_DIR = $(OBJS_DIR)
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavicCLEANFILES += $(MODSTUBS_O)
d7205b1a86c51c27b71a2c458dc453fd53a261c1covener
d7205b1a86c51c27b71a2c458dc453fd53a261c1covener#
d7205b1a86c51c27b71a2c458dc453fd53a261c1covener# Define targets
d7205b1a86c51c27b71a2c458dc453fd53a261c1covener#
d7205b1a86c51c27b71a2c458dc453fd53a261c1covenerALL_TARGET = $(BINARY)
44ff304057225e944e220e981d434a046d14cf06covenerLINT_TARGET = $(MODULE).lint
44ff304057225e944e220e981d434a046d14cf06covenerINSTALL_TARGET = $(BINARY) $(ROOTMODULE)
44ff304057225e944e220e981d434a046d14cf06covener
44ff304057225e944e220e981d434a046d14cf06covener#
5d1ba75b8794925e67591c209085a49279791de9covener# lint pass one enforcement
5d1ba75b8794925e67591c209085a49279791de9covener#
5d1ba75b8794925e67591c209085a49279791de9covenerCFLAGS += $(CCVERBOSE)
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand#
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand# Module dependencies
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand#
caad2986f81ab263f7af41467dd622dc9add17f3ylavicLDFLAGS += -dy -Nmisc/ldc -Nmisc/mac -Nmisc/platsvc
caad2986f81ab263f7af41467dd622dc9add17f3ylavic
caad2986f81ab263f7af41467dd622dc9add17f3ylavic#
caad2986f81ab263f7af41467dd622dc9add17f3ylavic# Re-enable C99 compilation to use stack allocation of variable-sized arrays.
45a10d38e6051fd7bdf9d742aaae633d97ff02abjailletc# According to usr/src/uts/Makefile.uts, C99 is disabled until a problem seen
f7317ff316c2b141feea31bddb74d5d3fa1584edjorton# on x86 machines can be fully diagnosed; presumably a sun4v (i.e., SPARC)
f7317ff316c2b141feea31bddb74d5d3fa1584edjorton# module should be "safe". Furthermore, only the variable-sized array
2165214331e4afafca4048f66f303d0253d7b001covener# extension is needed/used.
a34684a59b60a4173c25035d0c627ef17e6dc215rpluem#
a34684a59b60a4173c25035d0c627ef17e6dc215rpluem# C99 mode also gives us macros such as __func__
1e2d421a36999d292042a5539971070d54aa6c63ylavic#
1e2d421a36999d292042a5539971070d54aa6c63ylavicC99MODE = $(99_ENABLE)
1e2d421a36999d292042a5539971070d54aa6c63ylavic
fa7ed98b9dc94c5845cf845aea0a44ecacd290c9humbedooh#
fa7ed98b9dc94c5845cf845aea0a44ecacd290c9humbedooh# For now, disable these lint checks; maintainers should endeavor
fa7ed98b9dc94c5845cf845aea0a44ecacd290c9humbedooh# to investigate and remove these for maximum lint coverage.
0b67eb8568cd58bb77082703951679b42cf098actrawick# Please do not carry these forward to new Makefiles.
0b67eb8568cd58bb77082703951679b42cf098actrawick#
0b67eb8568cd58bb77082703951679b42cf098actrawickLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
0b67eb8568cd58bb77082703951679b42cf098actrawickLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
5ef3c61605a3a021ff71f488983cb0065f8e1a79covenerLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
fb1985a97912b25ec6564c73e610a31e5fc6e25fcovenerLINTTAGS += -erroff=E_STATIC_UNUSED
09c87c777bed1655621bb20e1c46cb6b1a63279dcovenerLINTTAGS += -erroff=E_SUSPICIOUS_COMPARISON
6502b7b32f980cc2093bb3ebce37e5e4dc68fba4ylavic
6502b7b32f980cc2093bb3ebce37e5e4dc68fba4ylavicCERRWARN += -_gcc=-Wno-type-limits
3060ce7f798fbda7999cd4ddf89b525d2b294185covenerCERRWARN += -_gcc=-Wno-clobbered
c1a63b8fad09c419c1a64f75993feb8a343a6801ylavicCERRWARN += -_gcc=-Wno-unused-variable
c1a63b8fad09c419c1a64f75993feb8a343a6801ylavicCERRWARN += -_gcc=-Wno-uninitialized
c1a63b8fad09c419c1a64f75993feb8a343a6801ylavicCERRWARN += -_gcc=-Wno-unused-function
e6b4bd1113567627ab6bb6c6a7105e1e01a7d889jailletcCERRWARN += -_gcc=-Wno-unused-label
e6b4bd1113567627ab6bb6c6a7105e1e01a7d889jailletc
e466c40e1801982602ee0200c9e8b61cc148742djailletc#
e466c40e1801982602ee0200c9e8b61cc148742djailletc# Default build targets.
457468b82e59d01eba00dd9d0817309c8f5e414ejim#
457468b82e59d01eba00dd9d0817309c8f5e414ejim.KEEP_STATE:
457468b82e59d01eba00dd9d0817309c8f5e414ejim
04983e3bd1754764eec7d6bb772fe3b0bf391771jortondef: $(DEF_DEPS)
04983e3bd1754764eec7d6bb772fe3b0bf391771jorton
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluemall: $(ALL_DEPS)
15660979a30d251681463de2e0584853890082accovener
15660979a30d251681463de2e0584853890082accovenerclean: $(CLEAN_DEPS)
49dacedb6c387b786b7911082ff35121a45f414bcovener
49dacedb6c387b786b7911082ff35121a45f414bcovenerclobber: $(CLOBBER_DEPS)
cfd9415521847b2f9394fad04fb701cfb955f503rjung
cfd9415521847b2f9394fad04fb701cfb955f503rjunglint: $(LINT_DEPS)
cfd9415521847b2f9394fad04fb701cfb955f503rjung
28c31fb73c1264bd1d0ff932573677030b024c7dwrowemodlintlib: $(MODLINTLIB_DEPS)
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe
28c31fb73c1264bd1d0ff932573677030b024c7dwroweclean.lint: $(CLEAN_LINT_DEPS)
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe
28c31fb73c1264bd1d0ff932573677030b024c7dwroweinstall: $(INSTALL_DEPS)
8491e0600f69b0405e156ea8a419653c065c645bcovener
63b9f1f5880391261705f696d7d65507bbe9ace3covener#
63b9f1f5880391261705f696d7d65507bbe9ace3covener# Include common targets.
63b9f1f5880391261705f696d7d65507bbe9ace3covener#
49dacedb6c387b786b7911082ff35121a45f414bcovenerinclude $(UTSBASE)/$(PLATFORM)/Makefile.targ
49dacedb6c387b786b7911082ff35121a45f414bcovener