6591892 ipf/netinet/Makefile incorrectly tries to install ip_icmp.h
authorakolb
Wed, 27 Feb 2008 15:35:58 -0800
changeset 6094 3154969ecb41
parent 6093 6ff430027f10
child 6095 ffd81788f184
6591892 ipf/netinet/Makefile incorrectly tries to install ip_icmp.h 6591900 Various sun4u platforms try to install sys symlink in usr/share/src/uts in parallel 6592974 Kernel can compile in parallel with libraries 6592975 Sparc platforms can be compiled in parallel 6592976 Intel platforms can be compiled in parallel 6592977 sun4u sub-platforms can be compiled in parallel 6621861 src/tools can be built in parallel
usr/src/Makefile
usr/src/tools/Makefile
usr/src/uts/Makefile
usr/src/uts/common/Makefile.rules
usr/src/uts/common/inet/ipf/netinet/Makefile
usr/src/uts/i86pc/unix/Makefile
usr/src/uts/i86xpv/unix/Makefile
usr/src/uts/intel/Makefile
usr/src/uts/intel/dtrace/Makefile
usr/src/uts/sparc/dtrace/Makefile
usr/src/uts/sun4/Makefile
usr/src/uts/sun4u/Makefile
usr/src/uts/sun4u/Makefile.sun4u.shared
usr/src/uts/sun4u/cherrystone/sys/Makefile
usr/src/uts/sun4u/daktari/sys/Makefile
usr/src/uts/sun4u/excalibur/sys/Makefile
usr/src/uts/sun4u/genassym/Makefile
usr/src/uts/sun4u/genunix/Makefile
usr/src/uts/sun4u/lw8/sys/Makefile
usr/src/uts/sun4u/montecarlo/sys/Makefile
usr/src/uts/sun4u/mpxu/sys/Makefile
usr/src/uts/sun4u/ngdr/sys/Makefile
usr/src/uts/sun4u/opl/sys/Makefile
usr/src/uts/sun4u/opl/unix/Makefile
usr/src/uts/sun4u/platmod/Makefile
usr/src/uts/sun4u/serengeti/sys/Makefile
usr/src/uts/sun4u/serengeti/unix/Makefile
usr/src/uts/sun4u/starcat/sys/Makefile
usr/src/uts/sun4u/starcat/unix/Makefile
usr/src/uts/sun4u/starfire/sys/Makefile
usr/src/uts/sun4u/starfire/unix/Makefile
usr/src/uts/sun4u/sunfire/sys/Makefile
usr/src/uts/sun4u/unix/Makefile
usr/src/uts/sun4v/genunix/Makefile
usr/src/uts/sun4v/unix/Makefile
--- a/usr/src/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -19,7 +19,7 @@
 # CDDL HEADER END
 #
 #
-# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 # ident	"%Z%%M%	%I%	%E% SMI"
@@ -51,6 +51,16 @@
 #
 CHKHDRSUBDIRS=	head uts lib
 
+#
+# Headers that can be built in parallel
+#
+PARALLEL_HEADERS = sysheaders userheaders libheaders ucbheaders cmdheaders
+
+#
+# Directories that can be built in parallel
+#
+PARALLEL_DIRS = uts lib
+
 # The check target also causes smf(5) service manifests to be validated.
 CHKMFSTSUBDIRS=	cmd
 
@@ -134,11 +144,17 @@
 		    (cd $(ROOT); tar xBpf -); \
 	fi
 
+#
+# Declare what parts can be build in parallel
+# DUMMY at the end is used in case macro expansion produces an empty string to
+# prevent everything going in parallel
+#
+.PARALLEL: $(PARALLEL_HEADERS) DUMMY
+.PARALLEL: $(PARALLEL_DIRS) DUMMY
+
 $(SUBDIRS) head ucbhead pkgdefs: FRC
 	@cd $@; pwd; $(MAKE) $(TARGET)
 
-.PARALLEL:	sysheaders userheaders libheaders ucbheaders cmdheaders
-
 # librpcsvc has a dependency on headers installed by
 # userheaders, hence the .WAIT before libheaders.
 sgs: rootdirs .WAIT sysheaders userheaders .WAIT \
--- a/usr/src/tools/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/tools/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -19,7 +19,7 @@
 # CDDL HEADER END
 #
 #
-# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 #ident	"%Z%%M%	%I%	%E% SMI"
@@ -120,7 +120,7 @@
 
 .KEEP_STATE:
 
-all install: $(ROOTDIRS) .WAIT $(SUBDIRS)
+all install: $(SUBDIRS)
 
 clean: $(SUBDIRS)
 
@@ -133,7 +133,9 @@
 
 _msg: $(MSGSUBDIRS)
 
-$(SUBDIRS): FRC
+.PARALLEL: $(SUBDIRS) $(PKG_SUBDIRS) $(CLOSED_SUBDIRS)
+
+$(SUBDIRS): $(ROOTDIRS) FRC
 	@cd $@; pwd; $(MAKE) $(TARGET)
 
 $(PKG_SUBDIRS): FRC
--- a/usr/src/uts/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -19,7 +19,7 @@
 # CDDL HEADER END
 #
 #
-# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 # ident	"%Z%%M%	%I%	%E% SMI"
@@ -30,14 +30,46 @@
 #
 # List of architectures to build as part of the standard build.
 #
-# Note that sparc must trail the individual platforms so that sparc
-# lint targets will have the unix lint libraries to compare against.
+# Some of these architectures are built in parallel (see i386_PARALLEL and
+# sparc_PARALLEL). This requires building some parts first before parallel build
+# can start. Platform make files know what should be built as a prerequisite for
+# the parallel build to work. The i386_PREREQ and sparc_PREREQ variables tell
+# which platform directory to enter to start making prerequisite dependencies.
 #
 sparc_ARCHITECTURES = sun4v sun4u sparc
 
-i386_ARCHITECTURES = i86pc
-i386_ARCHITECTURES += i86xpv
-i386_ARCHITECTURES += intel
+i386_ARCHITECTURES = i86pc i86xpv intel
+
+#
+# For i386 all architectures can be compiled in parallel.
+#
+# intel/Makefile knows how to build prerequisites needed for parallel build.
+#
+i386_PREREQ = intel
+i386_PARALLEL = $(i386_ARCHITECTURES)
+
+#
+# For sparc all architectures can be compiled in parallel.
+#
+# sun4/Makefile knows how to build prerequisites needed for parallel build.
+# can start.
+#
+sparc_PREREQ = sun4
+sparc_PARALLEL = $(sparc_ARCHITECTURES)
+
+#
+# Platforms defined in $(MACH)_PARALLEL are built in parallel. DUMMY is placed
+# at the end in case $(MACH)_PARALLEL is empty to prevent everything going in
+# parallel.
+#
+.PARALLEL: $($(MACH)_PARALLEL) DUMMY
+
+#
+# For build prerequisites we use a special target which is constructed by adding
+# '.prereq' suffix to the $(MACH)_PREREQ.
+#
+PREREQ_TARGET = $($(MACH)_PREREQ:%=%.prereq)
+
 
 def		:=	TARGET= def
 all		:=	TARGET= all
@@ -69,7 +101,23 @@
 	@cd ..; pwd; $(MAKE) rootdirs
 	@pwd
 
-$($(MACH)_ARCHITECTURES): FRC
+#
+# Rule to build prerequisites. The left part of the pattern will match
+# PREREQ_TARGET.
+#
+# The location of the Makefile is determined by strippinng '.prereq' suffix from
+# the target name. We add '.prereq' suffix to the target passed to the child
+# Makefile so that it can distinguish prerequisite build from the regular one.
+#
+#
+%.prereq:
+	@cd $(@:%.prereq=%); pwd; $(MAKE) $(NO_STATE) $(TARGET).prereq
+
+#
+# Rule to build architecture files. Build all required prerequisites and then
+# build the rest (potentially in parallel).
+#
+$($(MACH)_ARCHITECTURES): $(PREREQ_TARGET) FRC
 	@cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET)
 
 $(PMTMO_FILE) pmtmo_file: $(PATCH_MAKEUP_TABLE)
--- a/usr/src/uts/common/Makefile.rules	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/common/Makefile.rules	Wed Feb 27 15:35:58 2008 -0800
@@ -1087,15 +1087,6 @@
 	nawk '{sub(/metamed.h/, "mdmed.h"); print $$0}' >$@
 
 #
-# Privilege constants
-#
-
-PRIVS_C = $(UTSBASE)/common/os/priv_const.c
-
-$(PRIVS_C): $(PRIVS_AWK) $(PRIVS_DEF)
-	$(NAWK) -f $(PRIVS_AWK) < $(PRIVS_DEF) cfile=$@
-
-#
 #	Section 1b:	Lint `objects'
 #
 $(LINTS_DIR)/%.ln:		$(COMMONBASE)/crypto/aes/%.c
--- a/usr/src/uts/common/inet/ipf/netinet/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/common/inet/ipf/netinet/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -1,7 +1,7 @@
 #
 #ident	"%Z%%M%	%I%	%E% SMI"
 #
-# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 # uts/common/inet/ipf/netinet/Makefile
@@ -9,7 +9,7 @@
 # include global definitions
 include ../../../../../Makefile.master
 
-HDRS=	ipl.h ip_compat.h ip_fil.h ip_icmp.h ip_nat.h ip_proxy.h ip_state.h \
+HDRS=	ipl.h ip_compat.h ip_fil.h ip_nat.h ip_proxy.h ip_state.h \
 	ip_frag.h ip_auth.h ip_lookup.h ip_pool.h ip_htable.h ipf_stack.h
 
 ROOTDIRS= $(ROOT)/usr/include/netinet
--- a/usr/src/uts/i86pc/unix/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/i86pc/unix/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 #ident	"%Z%%M%	%I%	%E% SMI"
@@ -195,10 +195,6 @@
 $(DSF_DIR)/$(OBJS_DIR)/assym.h $(DSF_DIR)/$(OBJS_DIR)/kdi_assym.h:	FRC
 	@cd $(DSF_DIR); $(MAKE) all.targ
 
-$(GENLIB): FRC
-	@(cd $(GENLIB_DIR); pwd; $(MAKE) all.targ)
-	@pwd
-
 #
 #	The global lint target builds the kernel lint library (llib-lunix.ln)
 #	which is equivalent to a lint of /unix.o. Then all kernel modules for
@@ -210,11 +206,13 @@
 #
 
 $(LINT_LIB):	$(LINT_LIB_DIR) $(LINTS)
+	@pwd
 	@-$(ECHO) "\n$(UNIX): (library construction):"
 	@$(LINT) -o$(UNIX) $(LINTFLAGS) $(LINTS)
 	@$(MV) $(@F) $@
 
 $(DBOOT_LINT_LIB):	$(LINT_LIB_DIR) $(DBOOT_LINTS)
+	@pwd
 	@-$(ECHO) "\n$(DBOOT): (library construction):"
 	@$(LINT) -o$(DBOOT) $(DBOOT_LINTFLAGS) $(DBOOT_LINTS)
 	@$(MV) $(@F) $@
--- a/usr/src/uts/i86xpv/unix/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/i86xpv/unix/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 #ident	"%Z%%M%	%I%	%E% SMI"
@@ -180,10 +180,6 @@
 $(DSF_DIR)/$(OBJS_DIR)/assym.h $(DSF_DIR)/$(OBJS_DIR)/kdi_assym.h:	FRC
 	@cd $(DSF_DIR); $(MAKE) all.targ
 
-$(GENLIB): FRC
-	@(cd $(GENLIB_DIR); pwd; $(MAKE) all.targ)
-	@pwd
-
 #
 #	The global lint target builds the kernel lint library (llib-lunix.ln)
 #	which is equivalent to a lint of /unix.o. Then all kernel modules for
@@ -195,11 +191,13 @@
 #
 
 $(LINT_LIB):	$(LINT_LIB_DIR) $(LINTS)
+	@pwd
 	@-$(ECHO) "\n$(UNIX): (library construction):"
 	@$(LINT) -o$(UNIX) $(LINTFLAGS) $(LINTS)
 	@$(MV) $(@F) $@
 
 $(DBOOT_LINT_LIB):	$(LINT_LIB_DIR) $(DBOOT_LINTS)
+	@pwd
 	@-$(ECHO) "\n$(DBOOT): (library construction):"
 	@$(LINT) -o$(DBOOT) $(DBOOT_LINTFLAGS) $(DBOOT_LINTS)
 	@$(MV) $(@F) $@
--- a/usr/src/uts/intel/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/intel/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -71,17 +71,22 @@
 #
 #
 def		:=	TARGET= def
+def.prereq	:=	TARGET= def
 all		:=	TARGET= all
+all.prereq	:=	TARGET= all
 install		:=	TARGET= install
+install.prereq	:=	TARGET= all
 clean		:=	TARGET= clean
 clobber		:=	TARGET= clobber
 lint		:=	TARGET= lint
+lint.prereq	:=	TARGET= lint
 modlintlib	:=	TARGET= modlintlib
 modlist		:=	TARGET= modlist
 modlist		:=	NO_STATE= -K $$MODSTATE$$$$
 clean.lint	:=	TARGET= clean.lint
 check		:=	TARGET= check
 install_h	:=	TARGET= install_h
+install_h.prereq	:=	TARGET= install_h
 
 .KEEP_STATE:
 
@@ -91,6 +96,59 @@
 def all install clean clobber modlist: genassym $(KMODS) $(CLOSED_KMODS) \
 	$(SVVS) $(XMODS) $(CLOSED_XMODS) config
 
+
+#
+# Privilege constants
+#
+# NOTE: The rules for generating priv_const.c file are shared between all
+# processor architectures and and should be kept in sync. If they are changed in
+# this file make sure that sparc rules are updated as well.
+#
+PRIVS_C = $(SRC)/uts/common/os/priv_const.c
+
+$(PRIVS_C): $(PRIVS_AWK) $(PRIVS_DEF)
+	$(NAWK) -f $(PRIVS_AWK) < $(PRIVS_DEF) cfile=$@
+
+#
+# Prerequisites
+#
+# The uts/Makefile defines build parallelism for x86 platforms such that i86pc,
+# i86xpv and intel are all built in parallel. This requires building certain
+# parts before the parallel build can start. The uts/Makefile appends the
+# '.prereq' string to the original target and executes this Makefile to build
+# any prerequisites needed before the full parallel build can start. After that
+# make continues with normal targets.
+#
+# Any build prerequisites for x86 builds should be described here.
+#
+# genassym is used to build intel/dtrace and genunix, so it should be built
+# first.
+#
+# priv_const.c is required to build genunix.
+#
+# genunix is used by everyone to ctf-merge with. Genunix is CTF-merged with
+#   intel/ip so as a side effect this dependency builds intel/ip as part of the
+#   prerequisites.
+#
+# intel/dtrace depends on i86pc/genassym, so we need to build both
+# i86pc/genassym and intel/genassym.
+#
+all.prereq install.prereq def.prereq: genassym genunix FRC
+	@cd ../i86pc/genassym; pwd; $(MAKE) $(@:%.prereq=%)
+
+#
+# i86pc lint libraries should be built first
+#
+lint.prereq: FRC
+	@cd ../i86pc; pwd; $(MAKE) $(NO_STATE) lint
+
+#
+# Nothing to do for any other prerequisite targets.
+#
+%.prereq:
+
+genunix: $(PRIVS_C)
+
 modlintlib clean.lint: $(LINT_KMODS) $(CLOSED_LINT_KMODS) $(SVVS) \
 	$(XMODS) $(CLOSED_XMODS)
 
@@ -135,6 +193,7 @@
 globallint := LINTFLAGS += -erroff=E_NAME_MULTIPLY_DEF2
 
 globallint:
+	@pwd
 	@-$(ECHO) "\nFULL KERNEL: global crosschecks:"
 	@-$(LINT) $(LINTFLAGS) $(LINT_LIBS) 2>&1 | $(LGREP.intel) | $(LGREP.2)
 
--- a/usr/src/uts/intel/dtrace/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/intel/dtrace/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -19,7 +19,7 @@
 # CDDL HEADER END
 #
 #
-# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 #ident	"%Z%%M%	%I%	%E% SMI"
@@ -73,10 +73,4 @@
 
 $(BINARY):	$(ASSYM_H)
 
-#
-#	Rule to generate assym.h
-#
-$(ASSYM_H): FRC
-	@cd $(DSF_DIR); $(MAKE) all.targ
-
 include $(UTSBASE)/intel/Makefile.targ
--- a/usr/src/uts/sparc/dtrace/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/sparc/dtrace/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -19,7 +19,7 @@
 # CDDL HEADER END
 #
 #
-# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 #ident	"%Z%%M%	%I%	%E% SMI"
@@ -91,10 +91,4 @@
 
 $(BINARY):	$(ASSYM_H)
 
-#
-#	Rule to generate assym.h
-#
-$(ASSYM_H): FRC
-	@cd $(DSF_DIR); $(MAKE) all.targ
-
 include $(UTSBASE)/sparc/Makefile.targ
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/uts/sun4/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -0,0 +1,43 @@
+#
+# 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 2008 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# ident	"%Z%%M%	%I%	%E% SMI"
+#
+# This makefile drives the production of all sparc-specific dependencies that
+# should be built before sun4v/sun4u/sparc platforms can be built in parallel.
+#
+
+#
+# Include platform-specific Makefile definitions.
+#
+UTSBASE = ..
+include  $(UTSBASE)/$(MACH)/Makefile.$(MACH)
+
+SPARC_PREREQ = $(UTSBASE)/sun4u
+
+#
+# So far all the prerequisite information is in sun4u Makefile
+#
+%.prereq:
+	@cd $(SPARC_PREREQ); pwd; $(MAKE) $(NO_STATE) $@
--- a/usr/src/uts/sun4u/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/sun4u/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -19,7 +19,7 @@
 # CDDL HEADER END
 #
 #
-# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 # ident	"%Z%%M%	%I%	%E% SMI"
@@ -67,12 +67,17 @@
 
 
 def		:=	TARGET= def
+def.prereq	:=	TARGET= def
 all		:=	TARGET= all
+all.prereq	:=	TARGET= all
 install		:=	TARGET= install
+install.prereq	:=	TARGET= all
 install_h	:=	TARGET= install_h
+install_h.prere	:=	TARGET= install_h
 clean		:=	TARGET= clean
 clobber		:=	TARGET= clobber
 lint		:=	TARGET= lint
+lint.prereq	:=	TARGET= lint
 lintlib		:=	TARGET= lintlib
 modlintlib	:=	TARGET= modlintlib
 modlist		:=	TARGET= modlist
@@ -114,6 +119,92 @@
 genassym unix $(KMODS):	FRC
 	@cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET)
 
+#
+# Privilege constants
+#
+# NOTE: The rules for generating priv_const.c file are shared between all
+# processor architectures and should be kept in sync. If they are changed in
+# this file make sure that x86 rules are updated as well.
+#
+PRIVS_C = $(UTSBASE)/common/os/priv_const.c
+
+$(PRIVS_C): $(PRIVS_AWK) $(PRIVS_DEF)
+	$(NAWK) -f $(PRIVS_AWK) < $(PRIVS_DEF) cfile=$@
+
+
+#
+# Prerequisites
+#
+# The uts/Makefile defines build parallelism for sun4 platforms such that sparc,
+# sun4u and sun4v are all built in parallel. Also this Makefile specifies that
+# all IMPLEMENTATIONS sun4u sub-platforms are built in parallel. This requires
+# building certain parts before the parallel build can start. The uts/Makefile
+# appends the '.prereq' string to the original target and executes this Makefile
+# to build any prerequisites needed before the full parallel build can start.
+# After that make continues with normal targets.
+#
+# Any build prerequisites for sun4 and IMPLEMENTATIONS builds should be
+# described here.
+#
+# genassym is used to build dtrace and genunix, so it should be built first.
+#
+# priv_const.c is required to build genunix.
+#
+# genunix is used by everyone to ctfmerge with. Genunix is merged with sparc/ip
+#   so as a side effect this dependency builds sparc/ip as part of the
+#   prerequisites.
+#
+# unix is not required by itself but several sun4u platforms require
+#   sun4u/platmod to be present. The easiest way to achieve this is to build
+#   sun4u/unix first since sun4u/unix Makefile builds sun4u/platform correctly.
+#   This causes full sun4u/unix to be built before all sun4u platforms and
+#   before uts/sun4v and uts/sparc, but it acceptable since it is not spending
+#   too much time building sun4u/unix.
+#
+all.prereq def.prereq install.prereq: genassym genunix unix
+
+#
+# Various sun4u platforms expect proto/root_sparc/platform/sun4u/include to be
+# present. This is handled by running make install_h in sun4u/unix directory
+# first.
+#
+install_h.prereq: FRC
+	@cd sys; pwd; $(MAKE) $(TARGET)
+
+#
+# sun4u/unix and sun4u/genunix should be linted first since sparc does global
+# cross-check with these lint libraries. The sun4u/unix and sun4u/genunix can be
+# linted in parallel.
+#
+LINT_PREREQ = unix.lint genunix.lint
+lint.prereq: $(LINT_PREREQ)
+
+.PARALLEL:  $(LINT_PREREQ)
+
+$(LINT_PREREQ):
+	@cd $(@:%.lint=%); pwd; $(MAKE) $(TARGET)
+
+#
+# Nothing to do with any other prerequisites
+#
+%.prereq:
+
+#
+# Platform inter-dependencies
+#
+lw8: serengeti
+
+quasar: darwin
+
+#
+# The genunix requires priv_const.c file to be generated first.
+#
+genunix: $(PRIVS_C)
+
+#
+# Rules
+#
+
 $(IMPLEMENTATIONS):	FRC
 	@cd $@; pwd; THISIMPL=$@ $(MAKE) $(NO_STATE) $(TARGET)
 
@@ -204,6 +295,7 @@
 LINT_TARGET	= globallint
 
 globallint:
+	@pwd
 	@-$(ECHO) "\nSUN4U KERNEL: global crosschecks:"
 	@-$(LINT) $(LINTFLAGS) $(LINT_LIBS) 2>&1 | $(LGREP.2)
 
--- a/usr/src/uts/sun4u/Makefile.sun4u.shared	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/sun4u/Makefile.sun4u.shared	Wed Feb 27 15:35:58 2008 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 # ident	"%Z%%M%	%I%	%E% SMI"
@@ -158,38 +158,38 @@
 include $(UTSBASE)/Makefile.uts
 
 # These come after Makefile.uts (for CLOSED_BUILD).
-IMPLEMENTATIONS		 = tazmo .WAIT
-IMPLEMENTATIONS		+= starfire .WAIT
-IMPLEMENTATIONS		+= javelin .WAIT
-IMPLEMENTATIONS		+= darwin .WAIT
-IMPLEMENTATIONS		+= quasar .WAIT
-IMPLEMENTATIONS		+= grover .WAIT
-IMPLEMENTATIONS		+= enchilada .WAIT
-IMPLEMENTATIONS		+= taco .WAIT
-IMPLEMENTATIONS		+= mpxu .WAIT
-IMPLEMENTATIONS		+= excalibur .WAIT
-IMPLEMENTATIONS		+= montecarlo .WAIT
-IMPLEMENTATIONS		+= serengeti .WAIT
-IMPLEMENTATIONS		+= littleneck .WAIT
-IMPLEMENTATIONS		+= starcat .WAIT
-IMPLEMENTATIONS		+= daktari .WAIT
-IMPLEMENTATIONS		+= cherrystone .WAIT
-IMPLEMENTATIONS		+= fjlite .WAIT
-IMPLEMENTATIONS		+= snowbird .WAIT
-IMPLEMENTATIONS		+= schumacher .WAIT
-IMPLEMENTATIONS		+= blade .WAIT
-IMPLEMENTATIONS		+= boston .WAIT
-IMPLEMENTATIONS		+= seattle .WAIT
-IMPLEMENTATIONS		+= chicago .WAIT
-IMPLEMENTATIONS		+= sunfire .WAIT
-IMPLEMENTATIONS		+= lw8 .WAIT
-IMPLEMENTATIONS		+= makaha .WAIT
-IMPLEMENTATIONS		+= opl .WAIT
-IMPLEMENTATIONS		+= lw2plus .WAIT
-IMPLEMENTATIONS		+= douglas .WAIT
+IMPLEMENTATIONS		 = tazmo 
+IMPLEMENTATIONS		+= starfire 
+IMPLEMENTATIONS		+= javelin 
+IMPLEMENTATIONS		+= darwin 
+IMPLEMENTATIONS		+= quasar 
+IMPLEMENTATIONS		+= grover 
+IMPLEMENTATIONS		+= enchilada 
+IMPLEMENTATIONS		+= taco 
+IMPLEMENTATIONS		+= mpxu 
+IMPLEMENTATIONS		+= excalibur 
+IMPLEMENTATIONS		+= montecarlo 
+IMPLEMENTATIONS		+= serengeti 
+IMPLEMENTATIONS		+= littleneck 
+IMPLEMENTATIONS		+= starcat 
+IMPLEMENTATIONS		+= daktari 
+IMPLEMENTATIONS		+= cherrystone 
+IMPLEMENTATIONS		+= fjlite 
+IMPLEMENTATIONS		+= snowbird 
+IMPLEMENTATIONS		+= schumacher 
+IMPLEMENTATIONS		+= blade 
+IMPLEMENTATIONS		+= boston 
+IMPLEMENTATIONS		+= seattle 
+IMPLEMENTATIONS		+= chicago 
+IMPLEMENTATIONS		+= sunfire 
+IMPLEMENTATIONS		+= lw8 
+IMPLEMENTATIONS		+= makaha 
+IMPLEMENTATIONS		+= opl 
+IMPLEMENTATIONS		+= lw2plus 
+IMPLEMENTATIONS		+= douglas
 
-$(CLOSED_BUILD)CLOSED_IMPLEMENTATIONS	= chalupa .WAIT
-$(CLOSED_BUILD)CLOSED_IMPLEMENTATIONS	+= ents .WAIT
+$(CLOSED_BUILD)CLOSED_IMPLEMENTATIONS	= chalupa 
+$(CLOSED_BUILD)CLOSED_IMPLEMENTATIONS	+= ents 
 
 #
 #	machine specific optimization, override default in Makefile.master
--- a/usr/src/uts/sun4u/cherrystone/sys/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/sun4u/cherrystone/sys/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -2,9 +2,8 @@
 # CDDL HEADER START
 #
 # The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License").  You may not use this file except in compliance
-# with the License.
+# 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.
@@ -20,8 +19,8 @@
 # CDDL HEADER END
 #
 #
-# Copyright (c) 2001 by Sun Microsystems, Inc.
-# All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
 #
 #ident	"%Z%%M%	%I%	%E% SMI"
 #
@@ -48,9 +47,6 @@
 ROOTDIR=		$(ROOT)/usr/share/src
 ROOTDIRS=		$(ROOTDIR)/uts $(ROOTDIR)/uts/$(PLATFORM)
 
-ROOTLINK=		$(ROOTDIR)/uts/$(PLATFORM)/sys
-LINKDEST=		../../../../platform/$(PLATFORM)/include/sys
-
 CHECKHDRS=		$(HDRS:%.h=%.check)
 
 .KEEP_STATE:
@@ -70,10 +66,6 @@
 $(ROOTDIRS):
 	$(INS.dir.root.bin)
 
-# -r because this used to be a directory and is now a link.
-$(ROOTLINK):	$(ROOTDIRS)
-	-$(RM) -r $@; $(SYMLINK) $(LINKDEST) $@ $(CHOWNLINK) $(CHGRPLINK)
-
 FRC:
 
 include ../Makefile.targ
--- a/usr/src/uts/sun4u/daktari/sys/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/sun4u/daktari/sys/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -2,9 +2,8 @@
 # CDDL HEADER START
 #
 # The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License").  You may not use this file except in compliance
-# with the License.
+# 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.
@@ -20,7 +19,7 @@
 # CDDL HEADER END
 #
 #
-# Copyright 2000, 2003 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 #ident	"%Z%%M%	%I%	%E% SMI"
@@ -48,9 +47,6 @@
 ROOTDIR=		$(ROOT)/usr/share/src
 ROOTDIRS=		$(ROOTDIR)/uts $(ROOTDIR)/uts/$(PLATFORM)
 
-ROOTLINK=		$(ROOTDIR)/uts/$(PLATFORM)/sys
-LINKDEST=		../../../../platform/$(PLATFORM)/include/sys
-
 CHECKHDRS=		$(HDRS:%.h=%.check)
 
 .KEEP_STATE:
@@ -70,10 +66,6 @@
 $(ROOTDIRS):
 	$(INS.dir.root.bin)
 
-# -r because this used to be a directory and is now a link.
-$(ROOTLINK):	$(ROOTDIRS)
-	-$(RM) -r $@; $(SYMLINK) $(LINKDEST) $@ $(CHOWNLINK) $(CHGRPLINK)
-
 FRC:
 
 include ../Makefile.targ
--- a/usr/src/uts/sun4u/excalibur/sys/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/sun4u/excalibur/sys/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -2,9 +2,8 @@
 # CDDL HEADER START
 #
 # The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License").  You may not use this file except in compliance
-# with the License.
+# 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.
@@ -22,8 +21,8 @@
 #
 # ident	"%Z%%M%	%I%	%E% SMI"
 #
-# Copyright (c) 1999-2000 by Sun Microsystems, Inc.
-# All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
 #
 UTSBASE	= ../../..
 
@@ -46,9 +45,6 @@
 ROOTDIR=	$(ROOT)/usr/share/src
 ROOTDIRS=	$(ROOTDIR)/uts $(ROOTDIR)/uts/$(PLATFORM)
 
-ROOTLINK=	$(ROOTDIR)/uts/$(PLATFORM)/sys
-LINKDEST=	../../../../platform/$(PLATFORM)/include/sys
-
 CHECKHDRS=	$(HDRS:%.h=%.check)
 
 .KEEP_STATE:
@@ -68,10 +64,6 @@
 $(ROOTDIRS):
 	$(INS.dir.bin.bin)
 
-# -r because this used to be a directory and is now a link.
-$(ROOTLINK):	$(ROOTDIRS)
-	-$(RM) -r $@; $(SYMLINK) $(LINKDEST) $@ $(CHOWNLINK) $(CHGRPLINK)
-
 FRC:
 
 include ../Makefile.targ
--- a/usr/src/uts/sun4u/genassym/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/sun4u/genassym/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -2,9 +2,8 @@
 # CDDL HEADER START
 #
 # The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License").  You may not use this file except in compliance
-# with the License.
+# 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.
@@ -20,7 +19,8 @@
 # CDDL HEADER END
 #
 #
-# Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
+#
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 #ident	"%Z%%M%	%I%	%E% SMI"
@@ -82,6 +82,8 @@
 
 install:	def
 
+install_h:
+
 #
 #	create assym.h
 #
--- a/usr/src/uts/sun4u/genunix/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/sun4u/genunix/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 # ident	"%Z%%M%	%I%	%E% SMI"
@@ -132,6 +132,9 @@
 
 install:  	$(INSTALL_DEPS)
 
+install_h:
+
+
 $(LIBGEN):	$(GENUNIX) $(LIBSTUBS)
 	$(BUILD.SO) $(GENUNIX) $(LIBSTUBS)
 
--- a/usr/src/uts/sun4u/lw8/sys/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/sun4u/lw8/sys/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 #ident	"%Z%%M%	%I%	%E% SMI"
@@ -48,9 +48,6 @@
 ROOTDIR=		$(ROOT)/usr/share/src
 ROOTDIRS=		$(ROOTDIR)/uts $(ROOTDIR)/uts/$(PLATFORM)
 
-ROOTLINK=		$(ROOTDIR)/uts/$(PLATFORM)/sys
-LINKDEST=		../../../../platform/$(PLATFORM)/include/sys
-
 CHECKHDRS=		$(HDRS:%.h=%.check)
 
 .KEEP_STATE:
@@ -70,10 +67,6 @@
 $(ROOTDIRS):
 	$(INS.dir.root.bin)
 
-# -r because this used to be a directory and is now a link.
-$(ROOTLINK):	$(ROOTDIRS)
-	-$(RM) -r $@; $(SYMLINK) $(LINKDEST) $@ $(CHOWNLINK) $(CHGRPLINK)
-
 FRC:
 
 include ../Makefile.targ
--- a/usr/src/uts/sun4u/montecarlo/sys/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/sun4u/montecarlo/sys/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -19,7 +19,7 @@
 # CDDL HEADER END
 #
 #
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 # ident	"%Z%%M%	%I%	%E% SMI"
@@ -44,9 +44,6 @@
 ROOTDIR=	$(ROOT)/usr/share/src
 ROOTDIRS=	$(ROOTDIR)/uts $(ROOTDIR)/uts/$(PLATFORM)
 
-ROOTLINK=	$(ROOTDIR)/uts/$(PLATFORM)/sys
-LINKDEST=	../../../../platform/$(PLATFORM)/include/sys
-
 CHECKHDRS=		$(HDRS:%.h=%.check)
 
 .KEEP_STATE:
@@ -66,10 +63,6 @@
 $(ROOTDIRS):
 	$(INS.dir.root.bin)
 
-# -r because this used to be a directory and is now a link.
-$(ROOTLINK):	$(ROOTDIRS)
-	-$(RM) -r $@; $(SYMLINK) $(LINKDEST) $@ $(CHOWNLINK) $(CHGRPLINK)
-
 FRC:
 
 include ../Makefile.targ
--- a/usr/src/uts/sun4u/mpxu/sys/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/sun4u/mpxu/sys/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -2,9 +2,8 @@
 # CDDL HEADER START
 #
 # The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License").  You may not use this file except in compliance
-# with the License.
+# 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.
@@ -20,7 +19,7 @@
 # CDDL HEADER END
 #
 #
-# Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 # ident	"%Z%%M%	%I%	%E% SMI"
@@ -48,9 +47,6 @@
 ROOTDIR=	$(ROOT)/usr/share/src
 ROOTDIRS=	$(ROOTDIR)/uts $(ROOTDIR)/uts/$(PLATFORM)
 
-ROOTLINK=	$(ROOTDIR)/uts/$(PLATFORM)/sys
-LINKDEST=	../../../../platform/$(PLATFORM)/include/sys
-
 CHECKHDRS=		$(HDRS:%.h=%.check)
 
 .KEEP_STATE:
@@ -73,10 +69,6 @@
 $(ROOTDIRS):
 	$(INS.dir.root.bin)
 
-# -r because this used to be a directory and is now a link.
-$(ROOTLINK):	$(ROOTDIRS)
-	-$(RM) -r $@; $(SYMLINK) $(LINKDEST) $@ $(CHOWNLINK) $(CHGRPLINK)
-
 FRC:
 
 include ../Makefile.targ
--- a/usr/src/uts/sun4u/ngdr/sys/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/sun4u/ngdr/sys/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -2,9 +2,8 @@
 # CDDL HEADER START
 #
 # The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License").  You may not use this file except in compliance
-# with the License.
+# 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.
@@ -22,8 +21,8 @@
 #
 #ident	"%Z%%M%	%I%	%E% SMI"
 #
-# Copyright (c) 2001 by Sun Microsystems, Inc.
-# All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
 #
 # uts/sun4u/ngdr/sys/Makefile
 #
@@ -45,9 +44,6 @@
 ROOTDIR=	$(ROOT)/usr/share/src
 ROOTDIRS=	$(ROOTDIR)/uts $(ROOTDIR)/uts/$(PLATFORM)
 
-ROOTLINK=	$(ROOTDIR)/uts/$(PLATFORM)/sys
-LINKDEST=	../../../../platform/$(PLATFORM)/include/sys
-
 CHKHDRS=	dr.h		\
 		dr_util.h
 
@@ -71,10 +67,6 @@
 $(ROOTDIRS):
 	$(INS.dir.root.bin)
 
-# -r because this used to be a directory and is now a link.
-$(ROOTLINK):	$(ROOTDIRS)
-	-$(RM) -r $@; $(SYMLINK) $(LINKDEST) $@ $(CHOWNLINK) $(CHGRPLINK)
-
 FRC:
 
 include ../../Makefile.targ
--- a/usr/src/uts/sun4u/opl/sys/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/sun4u/opl/sys/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -19,7 +19,7 @@
 # CDDL HEADER END
 #
 #
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 # ident	"%Z%%M%	%I%	%E% SMI"
@@ -76,9 +76,6 @@
 ROOTDIR=	$(ROOT)/usr/share/src
 ROOTDIRS=	$(ROOTDIR)/uts $(ROOTDIR)/uts/$(PLATFORM)
 
-ROOTLINK=	$(ROOTDIR)/uts/$(PLATFORM)/sys
-LINKDEST=	../../../../platform/$(PLATFORM)/include/sys
-
 CHECKHDRS=	$(HDRS:%.h=%.check) \
 		$(CHKHDRS:%.h=%.check) \
 		$(OPLMSUHDRS:%.h=oplmsu/%.check) \
@@ -103,10 +100,6 @@
 $(ROOTDIRS):
 	$(INS.dir.bin.bin)
 
-# -r because this used to be a directory and is now a link.
-$(ROOTLINK):	$(ROOTDIRS)
-	-$(RM) -r $@; $(SYMLINK) $(LINKDEST) $@ $(CHOWNLINK) $(CHGRPLINK)
-
 FRC:
 
 include ../Makefile.targ
--- a/usr/src/uts/sun4u/opl/unix/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/sun4u/opl/unix/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -19,7 +19,7 @@
 # CDDL HEADER END
 #
 #
-# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 # ident	"%Z%%M%	%I%	%E% SMI"
@@ -153,20 +153,6 @@
 	$(LD) -r -o $@ -M$(KRTLD_MAPFILE) $(KRTLD_OBJECTS)
 
 #
-#	Special rules for generating assym.h for inclusion in assembly files.
-#
-$(DSF_DIR)/$(OBJS_DIR)/assym.h:	FRC
-	@cd $(DSF_DIR); pwd; $(MAKE) all.targ
-
-$(GENLIB):	FRC
-	@(cd $(GENLIB_DIR); pwd; $(MAKE) all.targ)
-	@pwd
-
-$(PLATLIB):
-	?@(cd $(PLAT_DIR); pwd; $(MAKE) all.targ)
-	?@pwd
-
-#
 #	CPU_OBJ now comprises of 2 object files which come from sun4 common
 #	and from architecture dependent code.  OBJS_DIR is prepended where
 #	CPU_OBJ is defined to allow for building multiple CPU_OBJ's
--- a/usr/src/uts/sun4u/platmod/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/sun4u/platmod/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 # ident	"%Z%%M%	%I%	%E% SMI"
@@ -91,6 +91,8 @@
 
 install:	$(INSTALL_DEPS)
 
+install_h:
+
 $(PLATLIB):	$(BINARY)
 	$(BUILD.SO) $(BINARY)
 
--- a/usr/src/uts/sun4u/serengeti/sys/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/sun4u/serengeti/sys/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -2,9 +2,8 @@
 # CDDL HEADER START
 #
 # The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License").  You may not use this file except in compliance
-# with the License.
+# 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.
@@ -20,8 +19,8 @@
 # CDDL HEADER END
 #
 #
-# Copyright (c) 2000 by Sun Microsystems, Inc.
-# All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
 #
 #ident	"%Z%%M%	%I%	%E% SMI"
 #
@@ -48,9 +47,6 @@
 ROOTDIR=		$(ROOT)/usr/share/src
 ROOTDIRS=		$(ROOTDIR)/uts $(ROOTDIR)/uts/$(PLATFORM)
 
-ROOTLINK=		$(ROOTDIR)/uts/$(PLATFORM)/sys
-LINKDEST=		../../../../platform/$(PLATFORM)/include/sys
-
 CHECKHDRS=		$(HDRS:%.h=%.check)
 
 .KEEP_STATE:
@@ -70,10 +66,6 @@
 $(ROOTDIRS):
 	$(INS.dir.root.bin)
 
-# -r because this used to be a directory and is now a link.
-$(ROOTLINK):	$(ROOTDIRS)
-	-$(RM) -r $@; $(SYMLINK) $(LINKDEST) $@ $(CHOWNLINK) $(CHGRPLINK)
-
 FRC:
 
 include ../Makefile.targ
--- a/usr/src/uts/sun4u/serengeti/unix/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/sun4u/serengeti/unix/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 # ident	"%Z%%M%	%I%	%E% SMI"
@@ -154,19 +154,6 @@
 	$(LD) -r -o $@ -M $(KRTLD_MAPFILE) $(KRTLD_OBJECTS)
 
 #
-#	Special rules for generating assym.h for inclusion in assembly files.
-#
-$(DSF_DIR)/$(OBJS_DIR)/assym.h:	FRC
-	@cd $(DSF_DIR); $(MAKE) all.targ
-
-$(GENLIB):	FRC
-	@(cd $(GENLIB_DIR); pwd; $(MAKE) all.targ)
-	@pwd
-
-$(PLATLIB):
-	?@(cd $(PLAT_DIR); pwd; $(MAKE) all.targ)
-	?@pwd
-#
 #	CPU_OBJ now comprises of 2 object files which come from sun4 common
 #	and from architecture dependent code.  OBJS_DIR is prepended where
 #	CPU_OBJ is defined to allow for building multiple CPU_OBJ's
--- a/usr/src/uts/sun4u/starcat/sys/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/sun4u/starcat/sys/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -19,10 +19,10 @@
 # CDDL HEADER END
 #
 #
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
-#pragma ident	"%Z%%M%	%I%	%E% SMI"
+#ident	"%Z%%M%	%I%	%E% SMI"
 #
 UTSBASE	= ../../..
 
@@ -54,9 +54,6 @@
 ROOTDIR=	$(ROOT)/usr/share/src
 ROOTDIRS=	$(ROOTDIR)/uts $(ROOTDIR)/uts/$(PLATFORM)
 
-ROOTLINK=	$(ROOTDIR)/uts/$(PLATFORM)/sys
-LINKDEST=	../../../../platform/$(PLATFORM)/include/sys
-
 CHECKHDRS=	$(HDRS:%.h=%.check) \
 		$(CHKHDRS:%.h=%.check) \
 		$(STARHDRS:%.h=%.check)
@@ -78,10 +75,6 @@
 $(ROOTDIRS):
 	$(INS.dir.bin.bin)
 
-# -r because this used to be a directory and is now a link.
-$(ROOTLINK):	$(ROOTDIRS)
-	-$(RM) -r $@; $(SYMLINK) $(LINKDEST) $@ $(CHOWNLINK) $(CHGRPLINK)
-
 FRC:
 
 include ../Makefile.targ
--- a/usr/src/uts/sun4u/starcat/unix/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/sun4u/starcat/unix/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 # ident	"%Z%%M%	%I%	%E% SMI"
@@ -154,19 +154,6 @@
 	$(LD) -r -o $@ -M$(KRTLD_MAPFILE) $(KRTLD_OBJECTS)
 
 #
-#	Special rules for generating assym.h for inclusion in assembly files.
-#
-$(DSF_DIR)/$(OBJS_DIR)/assym.h:	FRC
-	@cd $(DSF_DIR); $(MAKE) all.targ
-
-$(GENLIB):	FRC
-	@(cd $(GENLIB_DIR); pwd; $(MAKE) all.targ)
-	@pwd
-
-$(PLATLIB):
-	?@(cd $(PLAT_DIR); pwd; $(MAKE) all.targ)
-	?@pwd
-#
 #	CPU_OBJ now comprises of 2 object files which come from sun4 common
 #	and from architecture dependent code.  OBJS_DIR is prepended where
 #	CPU_DIR is defined to allow for building multiple CPU_OBJ's
--- a/usr/src/uts/sun4u/starfire/sys/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/sun4u/starfire/sys/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -2,9 +2,8 @@
 # CDDL HEADER START
 #
 # The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License").  You may not use this file except in compliance
-# with the License.
+# 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.
@@ -22,8 +21,8 @@
 #
 # ident	"%Z%%M%	%I%	%E% SMI"
 #
-# Copyright (c) 1997-1999, 2001 by Sun Microsystems, Inc.
-# All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
 #
 UTSBASE	= ../../..
 
@@ -48,9 +47,6 @@
 ROOTDIR=	$(ROOT)/usr/share/src
 ROOTDIRS=	$(ROOTDIR)/uts $(ROOTDIR)/uts/$(PLATFORM)
 
-ROOTLINK=	$(ROOTDIR)/uts/$(PLATFORM)/sys
-LINKDEST=	../../../../platform/$(PLATFORM)/include/sys
-
 CHECKHDRS=	$(HDRS:%.h=%.check) \
 		$(STARHDRS:%.h=%.check)
 
@@ -71,10 +67,6 @@
 $(ROOTDIRS):
 	$(INS.dir.root.bin)
 
-# -r because this used to be a directory and is now a link.
-$(ROOTLINK):	$(ROOTDIRS)
-	-$(RM) -r $@; $(SYMLINK) $(LINKDEST) $@ $(CHOWNLINK) $(CHGRPLINK)
-
 FRC:
 
 include ../Makefile.targ
--- a/usr/src/uts/sun4u/starfire/unix/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/sun4u/starfire/unix/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 # ident	"%Z%%M%	%I%	%E% SMI"
@@ -148,20 +148,6 @@
 	$(LD) -r -o $@ -M$(KRTLD_MAPFILE) $(KRTLD_OBJECTS)
 
 #
-#	Special rules for generating assym.h for inclusion in assembly files.
-#
-$(DSF_DIR)/$(OBJS_DIR)/assym.h:	FRC
-	@cd $(DSF_DIR); $(MAKE) all.targ
-
-$(GENLIB):	FRC
-	@(cd $(GENLIB_DIR); pwd; $(MAKE) all.targ)
-	@pwd
-
-$(PLATLIB):
-	?@(cd $(PLAT_DIR); pwd; $(MAKE) all.targ)
-	?@pwd
-
-#
 #	CPU_OBJ now comprises of 2 object files which come from sun4 common
 #	and from architecture dependent code.  OBJS_DIR is prepended where
 #	CPU_OBJ is defined to allow for building multiple CPU_OBJ's
--- a/usr/src/uts/sun4u/sunfire/sys/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/sun4u/sunfire/sys/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 #ident	"%Z%%M%	%I%	%E% SMI"
@@ -46,9 +46,6 @@
 ROOTDIR=		$(ROOT)/usr/share/src
 ROOTDIRS=		$(ROOTDIR)/uts $(ROOTDIR)/uts/$(PLATFORM)
 
-ROOTLINK=		$(ROOTDIR)/uts/$(PLATFORM)/sys
-LINKDEST=		../../../../platform/$(PLATFORM)/include/sys
-
 CHECKHDRS=		$(HDRS:%.h=%.check)
 
 .KEEP_STATE:
@@ -68,10 +65,6 @@
 $(ROOTDIRS):
 	$(INS.dir.root.bin)
 
-# -r because this used to be a directory and is now a link.
-$(ROOTLINK):	$(ROOTDIRS)
-	-$(RM) -r $@; $(SYMLINK) $(LINKDEST) $@ $(CHOWNLINK) $(CHGRPLINK)
-
 FRC:
 
 include ../Makefile.targ
--- a/usr/src/uts/sun4u/unix/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/sun4u/unix/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 # ident	"%Z%%M%	%I%	%E% SMI"
@@ -163,20 +163,6 @@
 	$(LD) -r -o $@ -M$(KRTLD_MAPFILE) $(KRTLD_OBJECTS)
 
 #
-#	Special rules for generating assym.h for inclusion in assembly files.
-#
-$(DSF_DIR)/$(OBJS_DIR)/assym.h:	FRC
-	@cd $(DSF_DIR); $(MAKE) all.targ
-
-$(GENLIB):	FRC
-	@(cd $(GENLIB_DIR); pwd; $(MAKE) all.targ)
-	@pwd
-
-$(PLATLIB):
-	?@(cd $(PLAT_DIR); pwd; $(MAKE) all.targ)
-	?@pwd
-
-#
 #	CPU_OBJ now comprises of 2 object files which come from sun4 common
 #	and from architecture dependent code.  OBJS_DIR is prepended where
 #	CPU_OBJ is defined to allow for building multiple CPU_OBJ's
@@ -184,6 +170,10 @@
 $(CPULIB):	$(CPU_OBJ)
 	$(BUILD.SO) $(CPU_OBJ)
 
+$(PLATLIB):
+	?@(cd $(PLAT_DIR); pwd; $(MAKE) all.targ)
+	?@pwd
+
 #
 #	The global lint target builds the kernel lint library (llib-lunix.ln)
 #	which is equivalent to a lint of /unix.o. Then all kernel modules for
@@ -195,6 +185,7 @@
 #
 
 $(LINT_LIB):	$(LINT_LIB_DIR) $(LINTS)
+	@pwd
 	@-$(ECHO) "\n$(UNIX): (library construction):"
 	@$(LINT) -o $(UNIX) $(LINTFLAGS) $(LINTS)
 	@$(MV) $(@F) $@
--- a/usr/src/uts/sun4v/genunix/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/sun4v/genunix/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 # ident	"%Z%%M%	%I%	%E% SMI"
@@ -135,11 +135,8 @@
 $(LIBGEN):	$(GENUNIX) $(LIBSTUBS)
 	$(BUILD.SO) $(GENUNIX) $(LIBSTUBS)
 
-$(IPCTF_TARGET) ipctf_target: FRC
-	@cd $(IPDRV_DIR); pwd; $(MAKE) ipctf.$(OBJS_DIR)
+$(GENUNIX): $(IPCTF_TARGET) $(OBJECTS)
 	@pwd
-
-$(GENUNIX): $(IPCTF_TARGET) $(OBJECTS)
 	$(LD) -r $(LDFLAGS) -o $@ $(OBJECTS)
 	$(CTFMERGE_GENUNIX_MERGE)
 	$(POST_PROCESS)
--- a/usr/src/uts/sun4v/unix/Makefile	Wed Feb 27 14:13:34 2008 -0800
+++ b/usr/src/uts/sun4v/unix/Makefile	Wed Feb 27 15:35:58 2008 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 # ident	"%Z%%M%	%I%	%E% SMI"
@@ -168,12 +168,12 @@
 	@cd $(DSF_DIR); $(MAKE) all.targ
 
 $(GENLIB):	FRC
+	@pwd
 	@(cd $(GENLIB_DIR); pwd; $(MAKE) all.targ)
-	@pwd
 
 $(PLATLIB):
+	?@pwd
 	?@(cd $(PLAT_DIR); pwd; $(MAKE) all.targ)
-	?@pwd
 
 #
 #	CPU_OBJ now comprises of 2 object files which come from sun4 common