Makefile revision da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User# CDDL HEADER START
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# The contents of this file are subject to the terms of the
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updater# Common Development and Distribution License (the "License").
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# You may not use this file except in compliance 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
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# fields enclosed by brackets "[]" replaced with your own identifying
ea94d370123a5892f6c47a97f21d1b28d44bb168Tinderbox User# information: Portions Copyright [yyyy] [name of copyright owner]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# CDDL HEADER END
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Use is subject to license terms.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# ident "%Z%%M% %I% %E% SMI"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Note that the commands 'agents', 'lp', 'perl', and 'man' are first in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# the list, violating alphabetical order. This is because they are very
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# long-running and should be given the most wall-clock time for a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# parallel build.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Commands in the FIRST_SUBDIRS list are built before starting the build
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# of other commands. Currently this includes only 'isaexec' and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# 'platexec'. This is necessary because $(ROOT)/usr/lib/isaexec or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# $(ROOT)/usr/lib/platexec must exist when some other commands are built
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# because their 'make install' creates a hard link to one of them.
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews# Commands are listed one per line so that TeamWare can auto-merge most
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Commands that are messaged. Note that 'lp' and 'man' come first
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# (see previous comment about 'lp' and 'man').
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# commands that use dcgettext for localized time, LC_TIME
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# commands that belong only to the basic security module
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# commands not owned by the systems group
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Commands providing manifests must offer a check target. A recursive check
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# target across all commands directories is not currently provided.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein.PARALLEL: $(BWOSDIRS) $(SUBDIRS) $(MSGSUBDIRS) $(BSMSUBDIRS) \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinall install clean clobber lint: $(FIRST_SUBDIRS) .WAIT $(SUBDIRS) $(BSMSUBDIRS)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewscheck: svccfg_check .WAIT $(MANIFEST_TOPDIRS) $(MANIFEST_SUBDIRS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein @$(ECHO) "building requirements for svccfg check ..."; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (cd $(SRC)/cmd/svc/svccfg && pwd && $(MAKE) $(MFLAGS) native)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# The .WAIT directive works around an apparent bug in parallel make.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Evidently make was getting the target _msg vs. _dc confused under
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# some level of parallelization, causing some of the _dc objects
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# not to be built.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein_msg: $(MSGSUBDIRS) $($(MACH)_MSGSUBDIRS) .WAIT _dc
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Dependencies
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(FIRST_SUBDIRS) $(BWOSDIRS) $(SUBDIRS) $(BSMSUBDIRS) $(MANIFEST_SUBDIRS): FRC
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein @if [ -f $@/Makefile ]; then \