Makefile revision 2f349fb3f7f2c951525d92f15ef050d897ec3244
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater# CDDL HEADER START
229ea4644b3a7d9c7fdaa43888e7f55ba01e2ee3Automatic Updater# The contents of this file are subject to the terms of the
1167fc7904c5f0a472f8df207ac46dd52c7f1ec8Automatic Updater# Common Development and Distribution License (the "License").
0c39b3ed9409ecb277d5e32fa763a4e4d6598df8Automatic Updater# You may not use this file except in compliance with the License.
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
0519188c8e1ae76978fc4e0f799620cd36eba07aAutomatic Updater# or http://www.opensolaris.org/os/licensing.
79b273c187a4aa1016a62181983dfdd0521681aeMark Andrews# See the License for the specific language governing permissions
90ff38a0d8deaf5f9c2aa5916d99b2e572d28738Automatic Updater# and limitations under the License.
ac4e70ff8955669341f435bc0a734a17c01af124Mark Andrews# When distributing Covered Code, include this CDDL HEADER in each
6c6a121295b30772cbf3dd75a51fb9d883051a0eAutomatic Updater# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# If applicable, add the following below this CDDL HEADER, with the
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater# fields enclosed by brackets "[]" replaced with your own identifying
e171a4137c6ba348957e61b7c4c3541493c0da02Automatic Updater# information: Portions Copyright [yyyy] [name of copyright owner]
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# CDDL HEADER END
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Use is subject to license terms.
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson# Note that the commands 'agents', 'lp', 'perl', and 'man' are first in
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater# the list, violating alphabetical order. This is because they are very
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater# long-running and should be given the most wall-clock time for a
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson# parallel build.
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# Commands in the FIRST_SUBDIRS list are built before starting the build
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# of other commands. Currently this includes only 'isaexec' and
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt# 'platexec'. This is necessary because $(ROOT)/usr/lib/isaexec or
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater# $(ROOT)/usr/lib/platexec must exist when some other commands are built
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# because their 'make install' creates a hard link to one of them.
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# Commands are listed one per line so that TeamWare can auto-merge most
84a18c72b9f05a7d2aabbc50886de494251d1719Automatic Updater# Commands that are messaged. Note that 'lp' and 'man' come first
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# (see previous comment about 'lp' and 'man').
e5bf83fe0bbca838a0749e9071bd76d9ee0fb59bFrancis Dupont# commands that use dcgettext for localized time, LC_TIME
ead8aa3182c5805fccb6c7c1636cede6a24a5fc1Automatic Updater# commands that belong only to audit and device allocation
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# commands not owned by the systems group
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic UpdaterSUBDIRS = $(COMMON_SUBDIRS) $($(MACH)_SUBDIRS)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater.PARALLEL: $(BWOSDIRS) $(SUBDIRS) $(MSGSUBDIRS) $(AUDITSUBDIRS)
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updaterall install clean clobber lint: $(FIRST_SUBDIRS) .WAIT $(SUBDIRS) \
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater# Manifests cannot be checked in parallel, because we are using
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater# the global repository that is in $(SRC)/cmd/svc/seed/global.db.
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater# For this reason, to avoid .PARALLEL and .NO_PARALLEL conflicts,
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater# we spawn off a sub-make to perform the non-parallel 'make check'
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater# The .WAIT directive works around an apparent bug in parallel make.
e628576d3b3d91c8954679077f4c208f1e43b433Automatic Updater# Evidently make was getting the target _msg vs. _dc confused under
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater# some level of parallelization, causing some of the _dc objects
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater# not to be built.
8e9f3b69914ee02a80b87c97b1f8093edb3e9ae0Automatic Updater_msg: $(MSGSUBDIRS) $($(MACH)_MSGSUBDIRS) .WAIT _dc
fd7c65dce9c2b1a3d12ca4df9074cd38019fdb5fAutomatic Updater$(FIRST_SUBDIRS) $(BWOSDIRS) $(SUBDIRS) $(AUDITSUBDIRS): FRC
47ff70af9e842bf0f69d209433995216f560fe4aAutomatic Updater @if [ -f $@/Makefile ]; then \