xref: /titanic_50/usr/src/uts/sun4v/vsw/Makefile (revision 7014882c6a3672fd0e5d60200af8643ae53c5928)
11ae08745Sheppo#
21ae08745Sheppo# CDDL HEADER START
31ae08745Sheppo#
41ae08745Sheppo# The contents of this file are subject to the terms of the
51ae08745Sheppo# Common Development and Distribution License (the "License").
61ae08745Sheppo# You may not use this file except in compliance with the License.
71ae08745Sheppo#
81ae08745Sheppo# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
91ae08745Sheppo# or http://www.opensolaris.org/os/licensing.
101ae08745Sheppo# See the License for the specific language governing permissions
111ae08745Sheppo# and limitations under the License.
121ae08745Sheppo#
131ae08745Sheppo# When distributing Covered Code, include this CDDL HEADER in each
141ae08745Sheppo# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
151ae08745Sheppo# If applicable, add the following below this CDDL HEADER, with the
161ae08745Sheppo# fields enclosed by brackets "[]" replaced with your own identifying
171ae08745Sheppo# information: Portions Copyright [yyyy] [name of copyright owner]
181ae08745Sheppo#
191ae08745Sheppo# CDDL HEADER END
201ae08745Sheppo#
211ae08745Sheppo
221ae08745Sheppo#
231ae08745Sheppo# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
241ae08745Sheppo# Use is subject to license terms.
251ae08745Sheppo#
26*7014882cSRichard Lowe
271ae08745Sheppo#
281ae08745Sheppo# uts/sun4v/vsw/Makefile
291ae08745Sheppo#
301ae08745Sheppo#	This makefile drives the production of the vsw driver module.
311ae08745Sheppo#
321ae08745Sheppo#	sun4v implementation architecture dependent
331ae08745Sheppo#
341ae08745Sheppo
351ae08745Sheppo#
361ae08745Sheppo#	Path to the base of the uts directory tree (usually /usr/src/uts).
371ae08745Sheppo#
381ae08745SheppoUTSBASE	= ../..
391ae08745Sheppo
401ae08745Sheppo#
411ae08745Sheppo#	Define the module and object file sets.
421ae08745Sheppo#
431ae08745SheppoMODULE		= vsw
441ae08745SheppoOBJECTS		= $(VSW_OBJS:%=$(OBJS_DIR)/%)
451ae08745SheppoLINTS		= $(VSW_OBJS:%.o=$(LINTS_DIR)/%.ln)
461ae08745SheppoROOTMODULE	= $(ROOT_PSM_DRV_DIR)/$(MODULE)
471ae08745Sheppo
481ae08745Sheppo#
491ae08745Sheppo#	Include common rules.
501ae08745Sheppo#
511ae08745Sheppoinclude $(UTSBASE)/sun4v/Makefile.sun4v
521ae08745Sheppo
531ae08745Sheppo#
541ae08745Sheppo#	Override defaults to build a unique, local modstubs.o.
551ae08745Sheppo#
561ae08745SheppoMODSTUBS_DIR	= $(OBJS_DIR)
571ae08745Sheppo
581ae08745SheppoCLEANFILES	+= $(MODSTUBS_O)
591ae08745Sheppo
601ae08745Sheppo#
611ae08745Sheppo#	Define targets
621ae08745Sheppo#
631ae08745SheppoALL_TARGET	= $(BINARY)
641ae08745SheppoLINT_TARGET	= $(MODULE).lint
651ae08745SheppoINSTALL_TARGET	= $(BINARY) $(ROOTMODULE)
661ae08745Sheppo
671ae08745Sheppo#
681ae08745Sheppo# lint pass one enforcement
691ae08745Sheppo#
701ae08745SheppoCFLAGS += $(CCVERBOSE)
711ae08745Sheppo
721ae08745Sheppo#
731ae08745Sheppo# Module dependencies
741ae08745Sheppo#
751ae08745SheppoLDFLAGS += -dy -Nmisc/ldc -Nmisc/mac -Nmisc/platsvc
761ae08745Sheppo
771ae08745Sheppo#
781ae08745Sheppo# Re-enable C99 compilation to use stack allocation of variable-sized arrays.
791ae08745Sheppo# According to usr/src/uts/Makefile.uts, C99 is disabled until a problem seen
801ae08745Sheppo# on x86 machines can be fully diagnosed; presumably a sun4v (i.e., SPARC)
811ae08745Sheppo# module should be "safe".  Furthermore, only the variable-sized array
821ae08745Sheppo# extension is needed/used.
831ae08745Sheppo#
841ae08745Sheppo# C99 mode also gives us macros such as __func__
851ae08745Sheppo#
861ae08745SheppoC99MODE = $(99_ENABLE)
871ae08745Sheppo
881ae08745Sheppo#
89bb25c06cSjg# For now, disable these lint checks; maintainers should endeavor
90bb25c06cSjg# to investigate and remove these for maximum lint coverage.
91bb25c06cSjg# Please do not carry these forward to new Makefiles.
92bb25c06cSjg#
93bb25c06cSjgLINTTAGS	+= -erroff=E_BAD_PTR_CAST_ALIGN
94bb25c06cSjgLINTTAGS	+= -erroff=E_PTRDIFF_OVERFLOW
95bb25c06cSjgLINTTAGS	+= -erroff=E_ASSIGN_NARROW_CONV
96bb25c06cSjgLINTTAGS	+= -erroff=E_STATIC_UNUSED
97bb25c06cSjgLINTTAGS	+= -erroff=E_SUSPICIOUS_COMPARISON
98bb25c06cSjg
99*7014882cSRichard LoweCERRWARN	+= -_gcc=-Wno-type-limits
100*7014882cSRichard LoweCERRWARN	+= -_gcc=-Wno-clobbered
101*7014882cSRichard LoweCERRWARN	+= -_gcc=-Wno-unused-variable
102*7014882cSRichard LoweCERRWARN	+= -_gcc=-Wno-uninitialized
103*7014882cSRichard LoweCERRWARN	+= -_gcc=-Wno-unused-function
104*7014882cSRichard LoweCERRWARN	+= -_gcc=-Wno-unused-label
105*7014882cSRichard Lowe
106bb25c06cSjg#
1071ae08745Sheppo#	Default build targets.
1081ae08745Sheppo#
1091ae08745Sheppo.KEEP_STATE:
1101ae08745Sheppo
1111ae08745Sheppodef:		$(DEF_DEPS)
1121ae08745Sheppo
1131ae08745Sheppoall:		$(ALL_DEPS)
1141ae08745Sheppo
1151ae08745Sheppoclean:		$(CLEAN_DEPS)
1161ae08745Sheppo
1171ae08745Sheppoclobber:	$(CLOBBER_DEPS)
1181ae08745Sheppo
1191ae08745Sheppolint:		$(LINT_DEPS)
1201ae08745Sheppo
1211ae08745Sheppomodlintlib:	$(MODLINTLIB_DEPS)
1221ae08745Sheppo
1231ae08745Sheppoclean.lint:	$(CLEAN_LINT_DEPS)
1241ae08745Sheppo
1251ae08745Sheppoinstall:	$(INSTALL_DEPS)
1261ae08745Sheppo
1271ae08745Sheppo#
1281ae08745Sheppo#	Include common targets.
1291ae08745Sheppo#
1301ae08745Sheppoinclude $(UTSBASE)/$(PLATFORM)/Makefile.targ
131