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