Makefile revision 7c478bd95313f5f23a4c958a745db2134aa03244
297be3708069ef31814d6d75c0d71a50a78feb03Mark Andrews# CDDL HEADER START
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# The contents of this file are subject to the terms of the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Common Development and Distribution License, Version 1.0 only
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# (the "License"). You may not use this file except in compliance
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# with the License.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# See the License for the specific language governing permissions
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# and limitations under the License.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# When distributing Covered Code, include this CDDL HEADER in each
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# If applicable, add the following below this CDDL HEADER, with the
297be3708069ef31814d6d75c0d71a50a78feb03Mark Andrews# fields enclosed by brackets "[]" replaced with your own identifying
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# information: Portions Copyright [yyyy] [name of copyright owner]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# CDDL HEADER END
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Use is subject to license terms.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# ident "%Z%%M% %I% %E% SMI"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# This makefile drives the production of all implementation architecture
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# dependent modules for the sun4u architecture.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# The following are SPARC specific (rather than sun4u) specific modules
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# which are required for the sun4u kernel to completely lint. They are
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# not involved in the build in any other way. In order to minimize
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# build time, it is assumed that they are up to date. But since sun4u
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# is really a separate architecture we cannot use the v7 sparc modules.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinSPARC_LIB_DIR = $(UTSBASE)/sparc/lint-libs/$(OBJS_DIR)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# EXPORT DELETE START
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# CRYPTO_EK_KMODS modules go in the encryption pack (SUNWcry*)
297be3708069ef31814d6d75c0d71a50a78feb03Mark Andrews# They need to be listed separately since they duplicate global symbols
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# causing the 2nd pass of lint on the kernel to complain. CRYPTO_EK_KMODS
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews# should not be listed in the lint target.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# EXPORT DELETE END
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Override for CPU_KMODS... they cannot be built
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# in parallel
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeindef all clean clobber clean.lint: genassym unix .WAIT $(KMODS) $(XMODS) \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininstall: install_platforms genassym unix .WAIT $(KMODS) $(XMODS) \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein @if [ -f $@/Makefile ]; then \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininstall_h check: install_platforms $(IMPLEMENTATIONS) FRC
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Rules for the /platforms directories. This is hardwired here because
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# the first stage of the project (KBI) only implements the userland
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# changes, but the only reasonable place to record the aliases is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# here in kernel land.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# create directories in /usr/platform/ for the implementations that are
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# defined in $(IMPLEMENTED_PLATFORM)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# (eg. SUNW,Ultra-1)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Foreach $(IMPLEMENTED_PLATFORM) there can be a list of $(LINKED_PLATFORMS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# that are linked to it.
297be3708069ef31814d6d75c0d71a50a78feb03Mark Andrews$(USR_PLAT_DIR)/$(IMPLEMENTED_PLATFORM): $(USR_PLAT_DIR)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews# create the links in /usr/platform/ foreach $(LINKED_PLATFORMS)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews# to it's corresponding $(IMPLEMENTED_PLATFORM).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Make the /platforms directories. This is hardwired here because
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# the first stage of the project (KBI) only implements the userland
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# changes, but the only reasonable place to record the aliases is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# here in kernel land.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininstall_platforms: $(ROOT_PSM_DIR) $(USR_PSM_DIR) \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# rules for making include, sbin, lib dirs/links in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# /usr/platform/$(PLATFORM)/ for desktop platforms
$(INS.slink5)
-$(INS.dir.root.bin)
$(XREF) -x $@