1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# CDDL HEADER START
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# The contents of this file are subject to the terms of the
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# Common Development and Distribution License (the "License").
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# You may not use this file except in compliance with the License.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# or http://www.opensolaris.org/os/licensing.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# See the License for the specific language governing permissions
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# and limitations under the License.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# When distributing Covered Code, include this CDDL HEADER in each
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# If applicable, add the following below this CDDL HEADER, with the
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# fields enclosed by brackets "[]" replaced with your own identifying
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# information: Portions Copyright [yyyy] [name of copyright owner]
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# CDDL HEADER END
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# Use is subject to license terms.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Lowe
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# uts/sun4v/vsw/Makefile
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# This makefile drives the production of the vsw driver module.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# sun4v implementation architecture dependent
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# Path to the base of the uts directory tree (usually /usr/src/uts).
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppoUTSBASE = ../..
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# Define the module and object file sets.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppoMODULE = vsw
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppoOBJECTS = $(VSW_OBJS:%=$(OBJS_DIR)/%)
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppoLINTS = $(VSW_OBJS:%.o=$(LINTS_DIR)/%.ln)
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppoROOTMODULE = $(ROOT_PSM_DRV_DIR)/$(MODULE)
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# Include common rules.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppoinclude $(UTSBASE)/sun4v/Makefile.sun4v
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# Override defaults to build a unique, local modstubs.o.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppoMODSTUBS_DIR = $(OBJS_DIR)
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppoCLEANFILES += $(MODSTUBS_O)
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# Define targets
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppoALL_TARGET = $(BINARY)
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppoLINT_TARGET = $(MODULE).lint
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppoINSTALL_TARGET = $(BINARY) $(ROOTMODULE)
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# lint pass one enforcement
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppoCFLAGS += $(CCVERBOSE)
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# Module dependencies
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppoLDFLAGS += -dy -Nmisc/ldc -Nmisc/mac -Nmisc/platsvc
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# Re-enable C99 compilation to use stack allocation of variable-sized arrays.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# According to usr/src/uts/Makefile.uts, C99 is disabled until a problem seen
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# on x86 machines can be fully diagnosed; presumably a sun4v (i.e., SPARC)
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# module should be "safe". Furthermore, only the variable-sized array
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# extension is needed/used.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# C99 mode also gives us macros such as __func__
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppoC99MODE = $(99_ENABLE)
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
bb25c06cca41ca78e5fb87fbb8e81d55beb18c95jg#
bb25c06cca41ca78e5fb87fbb8e81d55beb18c95jg# For now, disable these lint checks; maintainers should endeavor
bb25c06cca41ca78e5fb87fbb8e81d55beb18c95jg# to investigate and remove these for maximum lint coverage.
bb25c06cca41ca78e5fb87fbb8e81d55beb18c95jg# Please do not carry these forward to new Makefiles.
bb25c06cca41ca78e5fb87fbb8e81d55beb18c95jg#
bb25c06cca41ca78e5fb87fbb8e81d55beb18c95jgLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
bb25c06cca41ca78e5fb87fbb8e81d55beb18c95jgLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
bb25c06cca41ca78e5fb87fbb8e81d55beb18c95jgLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
bb25c06cca41ca78e5fb87fbb8e81d55beb18c95jgLINTTAGS += -erroff=E_STATIC_UNUSED
bb25c06cca41ca78e5fb87fbb8e81d55beb18c95jgLINTTAGS += -erroff=E_SUSPICIOUS_COMPARISON
bb25c06cca41ca78e5fb87fbb8e81d55beb18c95jg
7014882c6a3672fd0e5d60200af8643ae53c5928Richard LoweCERRWARN += -_gcc=-Wno-type-limits
7014882c6a3672fd0e5d60200af8643ae53c5928Richard LoweCERRWARN += -_gcc=-Wno-clobbered
7014882c6a3672fd0e5d60200af8643ae53c5928Richard LoweCERRWARN += -_gcc=-Wno-unused-variable
7014882c6a3672fd0e5d60200af8643ae53c5928Richard LoweCERRWARN += -_gcc=-Wno-uninitialized
7014882c6a3672fd0e5d60200af8643ae53c5928Richard LoweCERRWARN += -_gcc=-Wno-unused-function
7014882c6a3672fd0e5d60200af8643ae53c5928Richard LoweCERRWARN += -_gcc=-Wno-unused-label
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Lowe
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# Default build targets.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo.KEEP_STATE:
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppodef: $(DEF_DEPS)
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppoall: $(ALL_DEPS)
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppoclean: $(CLEAN_DEPS)
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppoclobber: $(CLOBBER_DEPS)
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppolint: $(LINT_DEPS)
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppomodlintlib: $(MODLINTLIB_DEPS)
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppoclean.lint: $(CLEAN_LINT_DEPS)
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppoinstall: $(INSTALL_DEPS)
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# Include common targets.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppoinclude $(UTSBASE)/$(PLATFORM)/Makefile.targ