Makefile revision 554ff184129088135ad2643c1c9832174a17be88
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync# CDDL HEADER START
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync# The contents of this file are subject to the terms of the
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync# Common Development and Distribution License, Version 1.0 only
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync# (the "License"). You may not use this file except in compliance
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync# with the License.
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync# See the License for the specific language governing permissions
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync# and limitations under the License.
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync# When distributing Covered Code, include this CDDL HEADER in each
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync# If applicable, add the following below this CDDL HEADER, with the
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync# fields enclosed by brackets "[]" replaced with your own identifying
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync# information: Portions Copyright [yyyy] [name of copyright owner]
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync# CDDL HEADER END
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
0de1998ac52682bb5322df476e45f237265ea9b7vboxsync# Use is subject to license terms.
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync# ident "%Z%%M% %I% %E% SMI"
af62929dce3cc5e14c75438cd2b893f82ae6dbc8vboxsync# This makefile drives the production of all implementation architecture
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync# dependent modules for the sun4v architecture.
0ae258e7d0d2520036514d896a9eea58bf285f03vboxsync# The following are SPARC specific (rather than sun4v) specific modules
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync# which are required for the sun4v kernel to completely lint. They are
04e845ee9ef813501cd2570a4188cb852d170408vboxsync# not involved in the build in any other way. In order to minimize
40b38a663dc0fd3003f7cdb0a69a01959d79b1f0vboxsync# build time, it is assumed that they are up to date. But since sun4v
0019a5195e700f7380e64717fcb10e1ce0fcfd91vboxsync# is really a separate architecture we cannot use the v7 sparc modules.
04e845ee9ef813501cd2570a4188cb852d170408vboxsyncSPARC_LIB_DIR = $(UTSBASE)/sparc/lint-libs/$(OBJS_DIR)
22500d40977b2e17949f8598de4f3c6d59ab405avboxsync# EXPORT DELETE START
22500d40977b2e17949f8598de4f3c6d59ab405avboxsync# CRYPTO_EK_KMODS modules go in the encryption pack (SUNWcry*)
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync# They need to be listed separately since they duplicate global symbols
22500d40977b2e17949f8598de4f3c6d59ab405avboxsync# causing the 2nd pass of lint on the kernel to complain. CRYPTO_EK_KMODS
3933885bc0c2c93436d858a14564c6179ec72872vboxsync# should not be listed in the lint target.
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync# EXPORT DELETE END
d9d070cfd2c99624fe6974842b7ad4a30d5b71e7vboxsync# Override for CPU_KMODS... they cannot be built
d9d070cfd2c99624fe6974842b7ad4a30d5b71e7vboxsync# in parallel
085bc29163eb87e345acaae02789e4c233d51f3bvboxsyncdef all clean clobber clean.lint: genassym unix .WAIT $(KMODS) $(XMODS) \
d9d070cfd2c99624fe6974842b7ad4a30d5b71e7vboxsyncinstall: install_platforms genassym unix .WAIT $(KMODS) $(XMODS) \
0de1998ac52682bb5322df476e45f237265ea9b7vboxsync @if [ -f $@/Makefile ]; then \
00c120c036112e6430a84cb41ddc3e847ba1e9e2vboxsyncinstall_h check: install_platforms $(IMPLEMENTATIONS) FRC
0de1998ac52682bb5322df476e45f237265ea9b7vboxsync# Rules for the /platforms directories. This is hardwired here because
08de95260e5829c72e66326016c7e2fc861d9f26vboxsync# the first stage of the project (KBI) only implements the userland
e99106e1706f8e87456f34b22c40becae61e1ed0vboxsync# changes, but the only reasonable place to record the aliases is
e99106e1706f8e87456f34b22c40becae61e1ed0vboxsync# here in kernel land.
0de1998ac52682bb5322df476e45f237265ea9b7vboxsync$(LINKED_PLATFORMS:%=$(ROOT_PLAT_DIR)/%): $(ROOT_PLAT_DIR)
0de1998ac52682bb5322df476e45f237265ea9b7vboxsync# create directories in /usr/platform/ for the implementations that are
0de1998ac52682bb5322df476e45f237265ea9b7vboxsync# defined in $(IMPLEMENTED_PLATFORM)
0de1998ac52682bb5322df476e45f237265ea9b7vboxsync# Foreach $(IMPLEMENTED_PLATFORM) there can be a list of $(LINKED_PLATFORMS)
0de1998ac52682bb5322df476e45f237265ea9b7vboxsync# that are linked to it.
770da3dbb247278c98d1b21d2e11a0a7769131a4vboxsync$(USR_PLAT_DIR)/$(IMPLEMENTED_PLATFORM): $(USR_PLAT_DIR)
0de1998ac52682bb5322df476e45f237265ea9b7vboxsync# create the links in /usr/platform/ foreach $(LINKED_PLATFORMS)
0de1998ac52682bb5322df476e45f237265ea9b7vboxsync# to it's corresponding $(IMPLEMENTED_PLATFORM).
4bc74a1db929517da626b12e61cc468fa0947927vboxsync# Make the /platforms directories. This is hardwired here because
0de1998ac52682bb5322df476e45f237265ea9b7vboxsync# the first stage of the project (KBI) only implements the userland
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync# changes, but the only reasonable place to record the aliases is
ddfcbd0a2ee61ce75ecc10a6001d5d834893bf8fvboxsync# here in kernel land.
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync# rules for making include, sbin, lib dirs/links in
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync# /usr/platform/$(PLATFORM)/ for desktop platforms
374979da4e9440f386798bce28aa9165f3fb5e3avboxsync# Full kernel lint target.
d9d070cfd2c99624fe6974842b7ad4a30d5b71e7vboxsync @-$(LINT) $(LINTFLAGS) $(LINT_LIBS) 2>&1 | $(LGREP.2)
0019a5195e700f7380e64717fcb10e1ce0fcfd91vboxsynclint: lintlib .WAIT modlintlib .WAIT $(SPARC_LINTS) $(LINT_DEPS) \
0019a5195e700f7380e64717fcb10e1ce0fcfd91vboxsync# EXPORT DELETE START
7e77c8f54449be6f28ccbf32f7e651554d9f4060vboxsync sed -e "/^# EXPORT DELETE START/,/^# EXPORT DELETE END/d" \
346af0930020342df40a1ca8d13eb185ad48067evboxsync# EXPORT DELETE END
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync# Cross-reference customization: build a cross-reference over all of the
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync# sun4v-related directories.