Makefile revision 2f0fcb93196badcdd803715656c809058d9f3114
80833bb9a1bf25dcf19e814438a4b311d2e1f4cffuankg# CDDL HEADER START
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic# The contents of this file are subject to the terms of the
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic# Common Development and Distribution License (the "License").
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic# You may not use this file except in compliance with the License.
4da61833a1cbbca94094f9653fd970582b97a72etrawick# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4da61833a1cbbca94094f9653fd970582b97a72etrawick# See the License for the specific language governing permissions
4da61833a1cbbca94094f9653fd970582b97a72etrawick# and limitations under the License.
4789804be088bcd86ae637a29cdb7fda25169521jailletc# When distributing Covered Code, include this CDDL HEADER in each
4789804be088bcd86ae637a29cdb7fda25169521jailletc# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4789804be088bcd86ae637a29cdb7fda25169521jailletc# If applicable, add the following below this CDDL HEADER, with the
4789804be088bcd86ae637a29cdb7fda25169521jailletc# fields enclosed by brackets "[]" replaced with your own identifying
e50c3026198fd496f183cda4c32a202925476778covener# information: Portions Copyright [yyyy] [name of copyright owner]
e50c3026198fd496f183cda4c32a202925476778covener# CDDL HEADER END
6c3b9cebb551140fbb25d58bae08b539b3802133ylavic# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
6c3b9cebb551140fbb25d58bae08b539b3802133ylavic# Use is subject to license terms.
4f29b65ab4b547ad5dbe506e2d0ff5d12ead9247ylavic# This makefile drives the production of all implementation architecture
4f29b65ab4b547ad5dbe506e2d0ff5d12ead9247ylavic# dependent modules for the sun4v architecture.
d58a848a016d401b965111e50ef829e1641f7834minfrinUSR_GLENDALE_DIR = $(USR_PLAT_DIR)/SUNW,Sun-Blade-T6320
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavic# The following are SPARC specific (rather than sun4v) specific modules
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavic# which are required for the sun4v kernel to completely lint. They are
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavic# not involved in the build in any other way. In order to minimize
e8bd80a4bb88199d2f9a24a50345688e52d9c116ylavic# build time, it is assumed that they are up to date. But since sun4v
e8bd80a4bb88199d2f9a24a50345688e52d9c116ylavic# is really a separate architecture we cannot use the v7 sparc modules.
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavicSPARC_LIB_DIR = $(UTSBASE)/sparc/lint-libs/$(OBJS_DIR)
44ff304057225e944e220e981d434a046d14cf06covener# EXPORT DELETE START
44ff304057225e944e220e981d434a046d14cf06covener# CRYPTO_EK_KMODS modules go in the encryption pack (SUNWcry*)
44ff304057225e944e220e981d434a046d14cf06covener# They need to be listed separately since they duplicate global symbols
5d1ba75b8794925e67591c209085a49279791de9covener# causing the 2nd pass of lint on the kernel to complain. CRYPTO_EK_KMODS
5d1ba75b8794925e67591c209085a49279791de9covener# should not be listed in the lint target.
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand# Don't build this for OpenSolaris, since it will be replaced by
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand# a binary that is signed by Sun RE.
caad2986f81ab263f7af41467dd622dc9add17f3ylavic# EXPORT DELETE END
0b67eb8568cd58bb77082703951679b42cf098actrawick.PARALLEL: $(PARALLEL_KMODS) $(CLOSED_KMODS) $(XMODS) $(CLOSED_XMODS) \
fb1985a97912b25ec6564c73e610a31e5fc6e25fcovener# Override for CPU_KMODS... they cannot be built
09c87c777bed1655621bb20e1c46cb6b1a63279dcovener# in parallel
3060ce7f798fbda7999cd4ddf89b525d2b294185covenerdef all clean clobber clean.lint: genassym unix .WAIT \
c1a63b8fad09c419c1a64f75993feb8a343a6801ylavic $(KMODS) $(CLOSED_KMODS) $(XMODS) $(CLOSED_XMODS) $(IMPLEMENTATIONS)
c1a63b8fad09c419c1a64f75993feb8a343a6801ylavic# list the modules under sun4v.
e6b4bd1113567627ab6bb6c6a7105e1e01a7d889jailletcmodlist: unix $(KMODS) $(CLOSED_KMODS) $(XMODS) $(CLOSED_XMODS) \
e466c40e1801982602ee0200c9e8b61cc148742djailletc# list the modules for Install -k sun4v.
04983e3bd1754764eec7d6bb772fe3b0bf391771jorton @cd $(SRC)/uts/sparc; pwd; $(MAKE) $(NO_STATE) modlist
15890c9306ba98f6fc243e15a3c4778ddc7d773erplueminstall: install_platforms genassym unix .WAIT $(KMODS) $(CLOSED_KMODS) \
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe @cd $@; pwd; THISIMPL=$@ $(MAKE) $(NO_STATE) $(TARGET)
63b9f1f5880391261705f696d7d65507bbe9ace3covener @if [ -f $@/Makefile ]; then \
0451df5dc50fa5d8b3e07d92ee6a92e36a1181a5niq cd $(CLOSED)/uts/sun4v/$@; pwd; $(MAKE) $(NO_STATE) $(TARGET)
da0442c0440caef34706e2c2f3af05cb65921cc0jailletcinstall_h check: install_platforms $(IMPLEMENTATIONS) FRC
06b8f183140c8e02e0974e938a05078b511d1603covener# Rules for the /platforms directories. This is hardwired here because
06b8f183140c8e02e0974e938a05078b511d1603covener# the first stage of the project (KBI) only implements the userland
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluem# changes, but the only reasonable place to record the aliases is
259878293a997ff49f5ddfc53d3739cbdc25444ecovener# here in kernel land.
b54b024c06a19926832d77d40ba35ad8c41e4d3dminfrin$(LINKED_PLATFORMS:%=$(ROOT_PLAT_DIR)/%): $(ROOT_PLAT_DIR)
65967d05f839dbf27cf91d91fa79585eeae19660minfrin# create directories in /usr/platform/ for the implementations that are
65967d05f839dbf27cf91d91fa79585eeae19660minfrin# defined in $(IMPLEMENTED_PLATFORM)
8152945ae46857b170cb227e79bb799f4fc7710dminfrin# Foreach $(IMPLEMENTED_PLATFORM) there can be a list of $(LINKED_PLATFORMS)
8152945ae46857b170cb227e79bb799f4fc7710dminfrin# that are linked to it.
75f5c2db254c0167a0e396254460de09b775d203trawick$(USR_PLAT_DIR)/$(IMPLEMENTED_PLATFORM): $(USR_PLAT_DIR)
4f0358189bfa57b8e75bd6b94db264302a8f336amrumph# create the links in /usr/platform/ foreach $(LINKED_PLATFORMS)
4f0358189bfa57b8e75bd6b94db264302a8f336amrumph# to it's corresponding $(IMPLEMENTED_PLATFORM).
54d750a84a175d8e338880514d440773eb986b50covener# Make the /platforms directories. This is hardwired here because
54d750a84a175d8e338880514d440773eb986b50covener# the first stage of the project (KBI) only implements the userland
7a3aa12f0eda24793ee26d6a179bd53132e9dae8covener# changes, but the only reasonable place to record the aliases is
54d750a84a175d8e338880514d440773eb986b50covener# here in kernel land.
fce4949fb0b309a5744afcd503c6ed2d35621ee2covener# rules for making include, sbin, lib dirs/links in
fce4949fb0b309a5744afcd503c6ed2d35621ee2covener# /usr/platform/$(PLATFORM)/ for desktop platforms
a511a29faf2ff7ead3b67680154a624effb31aafminfrin# Full kernel lint target.
deec48c67d4786bc77112ffbf3a4e70b931097edminfrin @-$(LINT) $(LINTFLAGS) $(LINT_LIBS) 2>&1 | $(LGREP.2)
6d601599d3d65df0410eae6e573e75b2dbfb1fb4minfrinlint: lintlib .WAIT modlintlib .WAIT $(SPARC_LINTS) $(LINT_DEPS) \
684e0cfc200f66287a93bbd1708d1dd8a92a7eefcovener# EXPORT DELETE START
05a5a9c3e16f21566e1b61f4bd68025ce1b741ccjoes sed -e "/^# EXPORT DELETE START/,/^# EXPORT DELETE END/d" \
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niq# EXPORT DELETE END
c12917da693bae4028a1d5a5e8224bceed8c739dsf# Cross-reference customization: build a cross-reference over all of the
c12917da693bae4028a1d5a5e8224bceed8c739dsf# sun4v-related directories.
eafcc0ebf263d0ba69855b6e10958c4c1a2361bdsfSHARED_XRDIRS = ../sun4v ../sun4 ../sfmmu ../sparc ../sun ../common
eafcc0ebf263d0ba69855b6e10958c4c1a2361bdsfCLOSED_XRDIRS = $(SHARED_XRDIRS:../%=../% ../../../closed/uts/%)
eafcc0ebf263d0ba69855b6e10958c4c1a2361bdsf$(CLOSED_BUILD)XRDIRS = $(CLOSED_XRDIRS:../../../closed/uts/sfmmu=)