Makefile revision 767ee26b0bed654ba825d1f31a5af12d57cc38b9
cd348e325366620fe047edcc849e3c9424828599Peter Bray# CDDL HEADER START
cd348e325366620fe047edcc849e3c9424828599Peter Bray# The contents of this file are subject to the terms of the
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray# Common Development and Distribution License (the "License").
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal# You may not use this file except in compliance with the License.
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter Bray# See the License for the specific language governing permissions
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Kosco# and limitations under the License.
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray# When distributing Covered Code, include this CDDL HEADER in each
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter Bray# If applicable, add the following below this CDDL HEADER, with the
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter Bray# fields enclosed by brackets "[]" replaced with your own identifying
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray# information: Portions Copyright [yyyy] [name of copyright owner]
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray# CDDL HEADER END
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray# Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray# Note that the commands 'agents', 'lp', 'perl', and 'man' are first in
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Kosco# the list, violating alphabetical order. This is because they are very
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Kosco# long-running and should be given the most wall-clock time for a
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Kosco# parallel build.
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray# Commands in the FIRST_SUBDIRS list are built before starting the build
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray# of other commands. Currently this includes only 'isaexec' and
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray# 'platexec'. This is necessary because $(ROOT)/usr/lib/isaexec or
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray# $(ROOT)/usr/lib/platexec must exist when some other commands are built
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray# because their 'make install' creates a hard link to one of them.
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal# Commands are listed one per line so that TeamWare can auto-merge most
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray# Commands that are messaged. Note that 'lp' and 'man' come first
a3a5f5c0500064f4c6ac3658b1e3e4d838912329Lubos Kosco# (see previous comment about 'lp' and 'man').
56d93b0c761868f813ac0bc0b5bc21a7a9fefd89Vladimir Kotal# commands that use dcgettext for localized time, LC_TIME
477c09a2656e6a2c1075425ad81e61d594164fa9Lubos Kosco# commands that belong only to audit and device allocation
bc5565fc58603964988b42b6aee40e246f35d94fVladimir Kotal# commands not owned by the systems group
bc5565fc58603964988b42b6aee40e246f35d94fVladimir KotalSUBDIRS = $(COMMON_SUBDIRS) $($(MACH)_SUBDIRS)
bc5565fc58603964988b42b6aee40e246f35d94fVladimir Kotal.PARALLEL: $(BWOSDIRS) $(SUBDIRS) $(MSGSUBDIRS) $(AUDITSUBDIRS)
cd348e325366620fe047edcc849e3c9424828599Peter Brayall install clean clobber lint: $(FIRST_SUBDIRS) .WAIT $(SUBDIRS) \
bc5565fc58603964988b42b6aee40e246f35d94fVladimir Kotal# Manifests cannot be checked in parallel, because we are using
bc5565fc58603964988b42b6aee40e246f35d94fVladimir Kotal# the global repository that is in $(SRC)/cmd/svc/seed/global.db.
bc5565fc58603964988b42b6aee40e246f35d94fVladimir Kotal# For this reason, to avoid .PARALLEL and .NO_PARALLEL conflicts,
bc5565fc58603964988b42b6aee40e246f35d94fVladimir Kotal# we spawn off a sub-make to perform the non-parallel 'make check'
bc5565fc58603964988b42b6aee40e246f35d94fVladimir Kotal# The .WAIT directive works around an apparent bug in parallel make.
bc5565fc58603964988b42b6aee40e246f35d94fVladimir Kotal# Evidently make was getting the target _msg vs. _dc confused under
bc5565fc58603964988b42b6aee40e246f35d94fVladimir Kotal# some level of parallelization, causing some of the _dc objects
bc5565fc58603964988b42b6aee40e246f35d94fVladimir Kotal# not to be built.
cd348e325366620fe047edcc849e3c9424828599Peter Bray_msg: $(MSGSUBDIRS) $($(MACH)_MSGSUBDIRS) .WAIT _dc
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray# Dependencies
cd348e325366620fe047edcc849e3c9424828599Peter Bray$(FIRST_SUBDIRS) $(BWOSDIRS) $(SUBDIRS) $(AUDITSUBDIRS): FRC
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray @if [ -f $@/Makefile ]; then \