summaryrefslogtreecommitdiff
path: root/usr/src/uts/sun4v/vsw/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/sun4v/vsw/Makefile')
-rw-r--r--usr/src/uts/sun4v/vsw/Makefile112
1 files changed, 112 insertions, 0 deletions
diff --git a/usr/src/uts/sun4v/vsw/Makefile b/usr/src/uts/sun4v/vsw/Makefile
new file mode 100644
index 0000000000..88fdda49e6
--- /dev/null
+++ b/usr/src/uts/sun4v/vsw/Makefile
@@ -0,0 +1,112 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+#pragma ident "%Z%%M% %I% %E% SMI"
+#
+# uts/sun4v/vsw/Makefile
+#
+# This makefile drives the production of the vsw driver module.
+#
+# sun4v implementation architecture dependent
+#
+
+#
+# Path to the base of the uts directory tree (usually /usr/src/uts).
+#
+UTSBASE = ../..
+
+#
+# Define the module and object file sets.
+#
+MODULE = vsw
+OBJECTS = $(VSW_OBJS:%=$(OBJS_DIR)/%)
+LINTS = $(VSW_OBJS:%.o=$(LINTS_DIR)/%.ln)
+ROOTMODULE = $(ROOT_PSM_DRV_DIR)/$(MODULE)
+
+#
+# Include common rules.
+#
+include $(UTSBASE)/sun4v/Makefile.sun4v
+
+#
+# Override defaults to build a unique, local modstubs.o.
+#
+MODSTUBS_DIR = $(OBJS_DIR)
+
+CLEANFILES += $(MODSTUBS_O)
+
+#
+# Define targets
+#
+ALL_TARGET = $(BINARY)
+LINT_TARGET = $(MODULE).lint
+INSTALL_TARGET = $(BINARY) $(ROOTMODULE)
+
+#
+# lint pass one enforcement
+#
+CFLAGS += $(CCVERBOSE)
+
+#
+# Module dependencies
+#
+LDFLAGS += -dy -Nmisc/ldc -Nmisc/mac -Nmisc/platsvc
+
+#
+# Re-enable C99 compilation to use stack allocation of variable-sized arrays.
+# According to usr/src/uts/Makefile.uts, C99 is disabled until a problem seen
+# on x86 machines can be fully diagnosed; presumably a sun4v (i.e., SPARC)
+# module should be "safe". Furthermore, only the variable-sized array
+# extension is needed/used.
+#
+# C99 mode also gives us macros such as __func__
+#
+C99MODE = $(99_ENABLE)
+
+#
+# Default build targets.
+#
+.KEEP_STATE:
+
+def: $(DEF_DEPS)
+
+all: $(ALL_DEPS)
+
+clean: $(CLEAN_DEPS)
+
+clobber: $(CLOBBER_DEPS)
+
+lint: $(LINT_DEPS)
+
+modlintlib: $(MODLINTLIB_DEPS)
+
+clean.lint: $(CLEAN_LINT_DEPS)
+
+install: $(INSTALL_DEPS)
+
+#
+# Include common targets.
+#
+include $(UTSBASE)/$(PLATFORM)/Makefile.targ