xref: /titanic_50/usr/src/uts/sun4v/vsw/Makefile (revision bb25c06cca41ca78e5fb87fbb8e81d55beb18c95)
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*bb25c06cSjg#ident	"%Z%%M%	%I%	%E% SMI"
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#
89*bb25c06cSjg# For now, disable these lint checks; maintainers should endeavor
90*bb25c06cSjg# to investigate and remove these for maximum lint coverage.
91*bb25c06cSjg# Please do not carry these forward to new Makefiles.
92*bb25c06cSjg#
93*bb25c06cSjgLINTTAGS	+= -erroff=E_BAD_PTR_CAST_ALIGN
94*bb25c06cSjgLINTTAGS	+= -erroff=E_PTRDIFF_OVERFLOW
95*bb25c06cSjgLINTTAGS	+= -erroff=E_ASSIGN_NARROW_CONV
96*bb25c06cSjgLINTTAGS	+= -erroff=E_STATIC_UNUSED
97*bb25c06cSjgLINTTAGS	+= -erroff=E_SUSPICIOUS_COMPARISON
98*bb25c06cSjg
99*bb25c06cSjg#
1001ae08745Sheppo#	Default build targets.
1011ae08745Sheppo#
1021ae08745Sheppo.KEEP_STATE:
1031ae08745Sheppo
1041ae08745Sheppodef:		$(DEF_DEPS)
1051ae08745Sheppo
1061ae08745Sheppoall:		$(ALL_DEPS)
1071ae08745Sheppo
1081ae08745Sheppoclean:		$(CLEAN_DEPS)
1091ae08745Sheppo
1101ae08745Sheppoclobber:	$(CLOBBER_DEPS)
1111ae08745Sheppo
1121ae08745Sheppolint:		$(LINT_DEPS)
1131ae08745Sheppo
1141ae08745Sheppomodlintlib:	$(MODLINTLIB_DEPS)
1151ae08745Sheppo
1161ae08745Sheppoclean.lint:	$(CLEAN_LINT_DEPS)
1171ae08745Sheppo
1181ae08745Sheppoinstall:	$(INSTALL_DEPS)
1191ae08745Sheppo
1201ae08745Sheppo#
1211ae08745Sheppo#	Include common targets.
1221ae08745Sheppo#
1231ae08745Sheppoinclude $(UTSBASE)/$(PLATFORM)/Makefile.targ
124