4 # The contents of this file are subject to the terms of the
5 # Common Development and Distribution License (the "License").
6 # You may not use this file except in compliance with the License.
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
22 # Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
23 # Copyright 2010 Nexenta Systems, Inc. All rights reserved.
24 # Copyright 2011 Joyent, Inc. All rights reserved.
26 include ..
/Makefile.master
29 # Note that the commands 'agents', 'lp', 'perl', and 'man' are first in
30 # the list, violating alphabetical order. This is because they are very
31 # long-running and should be given the most wall-clock time for a
34 # Commands in the FIRST_SUBDIRS list are built before starting the build
35 # of other commands. Currently this includes only 'isaexec' and
36 # 'platexec'. This is necessary because $(ROOT)/usr/lib/isaexec or
37 # $(ROOT)/usr/lib/platexec must exist when some other commands are built
38 # because their 'make install' creates a hard link to one of them.
40 # Commands are listed one per line so that TeamWare can auto-merge most
470 $(CLOSED_BUILD
)COMMON_SUBDIRS
+= \
471 $(CLOSED
)/cmd
/iconv \
473 $(CLOSED
)/cmd
/localedef \
474 $(CLOSED
)/cmd
/more_xpg4 \
477 $(CLOSED
)/cmd
/patch \
479 $(CLOSED
)/cmd
/printf \
481 $(CLOSED
)/cmd
/sed_xpg4
513 # Commands that are messaged. Note that 'lp' and 'man' come first
514 # (see previous comment about 'lp' and 'man').
754 $(CLOSED_BUILD
)MSGSUBDIRS
+= \
755 $(CLOSED
)/cmd
/iconv \
757 $(CLOSED
)/cmd
/localedef \
758 $(CLOSED
)/cmd
/more_xpg4 \
760 $(CLOSED
)/cmd
/patch \
762 $(CLOSED
)/cmd
/printf \
764 $(CLOSED
)/cmd
/sed_xpg4
777 # commands that use dcgettext for localized time, LC_TIME
792 $(CLOSED_BUILD
)DCSUBDIRS
+= \
796 # commands that belong only to audit.
811 # commands not owned by the systems group
817 install := TARGET
= install
818 clean := TARGET
= clean
819 clobber := TARGET
= clobber
820 lint
:= TARGET
= lint
821 _msg
:= TARGET
= _msg
826 SUBDIRS
= $(COMMON_SUBDIRS
) $($(MACH
)_SUBDIRS
)
828 .PARALLEL
: $(BWOSDIRS
) $(SUBDIRS
) $(MSGSUBDIRS
) $(AUDITSUBDIRS
)
830 all install clean clobber lint
: $(FIRST_SUBDIRS
) .WAIT
$(SUBDIRS
) \
834 # Manifests cannot be checked in parallel, because we are using
835 # the global repository that is in $(SRC)/cmd/svc/seed/global.db.
836 # For this reason, to avoid .PARALLEL and .NO_PARALLEL conflicts,
837 # we spawn off a sub-make to perform the non-parallel 'make check'
840 $(MAKE
) -f Makefile.
check check
843 # The .WAIT directive works around an apparent bug in parallel make.
844 # Evidently make was getting the target _msg vs. _dc confused under
845 # some level of parallelization, causing some of the _dc objects
848 _msg
: $(MSGSUBDIRS
) $($(MACH
)_MSGSUBDIRS
) .WAIT _dc
860 $(FIRST_SUBDIRS
) $(BWOSDIRS
) $(SUBDIRS
) $(AUDITSUBDIRS
): FRC
861 @if
[ -f
$@
/Makefile
]; then \
862 cd
$@
; pwd
; $(MAKE
) $(TARGET
); \