Makefile revision 5c51f1241dbbdf2656d0e10011981411ed0c9673
3544N/A# The contents of this file are subject to the terms of the 3544N/A# Common Development and Distribution License (the "License"). 3544N/A# You may not use this file except in compliance with the License. 3544N/A# See the License for the specific language governing permissions 3544N/A# and limitations under the License. 3544N/A# When distributing Covered Code, include this CDDL HEADER in each 3544N/A# If applicable, add the following below this CDDL HEADER, with the 3544N/A# fields enclosed by brackets "[]" replaced with your own identifying 3544N/A# information: Portions Copyright [yyyy] [name of copyright owner] 3544N/A# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 5185N/A# Use is subject to license terms. 3544N/A# Note that libcurses installs commands along with its library. 3544N/A# This is a minor bug which probably should be fixed. 3544N/A# Note also that a few extra libraries are kept in cmd source. 3544N/A# Certain libraries are linked with, hence depend on, other libraries. 3544N/A# Although we have historically used .WAIT to express dependencies, it 3544N/A# reduces the amount of parallelism and thus lengthens the time it 3544N/A# takes to build the libraries. Thus, we now require that any new 3544N/A# libraries explicitly call out their dependencies. Eventually, all 3544N/A# the library dependencies will be called out explicitly. See 3544N/A# "Library interdependencies" near the end of this file. 3544N/A# Aside from explicit dependencies (and legacy .WAITs), all libraries 3544N/A# The $(CLOSED_BUILD) additions to SUBDIRS & MSGSUBDIRS are unfortunate, 3544N/A# but required due to the "dependencies" of using .WAIT to barrier the 3544N/A# parallel dmake builds. once 4631488 has been fixed, they can be 3544N/A# consolidated into one $(CLOSED_BUILD)SUBDIRS += (all closed libs) as 5185N/A# Create a special version of $(SUBDIRS) with no .WAIT's, for use with the 5185N/A# clean and clobber targets (for more information, see those targets, below). 5185N/A# For the all and install targets, we clearly must respect library 4495N/A# dependencies so that the libraries link correctly. However, for 4495N/A# the remaining targets (check, clean, clobber, install_h, lint, _dc 4770N/A# and _msg), libraries do not have any dependencies on one another 4495N/A# and thus respecting dependencies just slows down the build. 4495N/A# As such, for these rules, we use pattern replacement to explicitly 5185N/A# avoid triggering the dependency information. Note that for clean, 4495N/A# clobber and lint, we must use $(NOWAIT_SUBDIRS) rather than 4495N/A# $(SUBDIRS), to prevent `.WAIT' from expanding to `.WAIT-nodepend'. 4770N/A# extra libraries kept in other source areas 4495N/A# dependencies for pam_modules (see below) 4495N/A# Library interdependencies are called out explicitly here 4305N/A# The reason this rule checks for the existence of the 5185N/A# Makefile is that some of the directories do not exist 4495N/A# in certain situations (e.g., exportable source builds,