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]
23 # Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
24 # Copyright 2016 Joyent, Inc.
25 # Copyright (c) 2012 by Delphix. All rights reserved.
26 # Copyright (c) 2013 DEY Storage Systems, Inc. All rights reserved.
27 # Copyright 2014 Garrett D'Amore <garrett@damore.org>
28 # Copyright 2016 Toomas Soome <tsoome@me.com>
29 # Copyright 2016 Nexenta Systems, Inc.
32 include ..
/Makefile.master
35 # Note that the commands 'lp', and 'perl' are first in
36 # the list, violating alphabetical order. This is because they are very
37 # long-running and should be given the most wall-clock time for a
40 # Commands in the FIRST_SUBDIRS list are built before starting the build
41 # of other commands. Currently this includes only 'isaexec' and
42 # 'platexec'. This is necessary because $(ROOT)/usr/lib/isaexec or
43 # $(ROOT)/usr/lib/platexec must exist when some other commands are built
44 # because their 'make install' creates a hard link to one of them.
46 # Commands are listed one per line so that TeamWare can auto-merge most
504 # Commands that are messaged. Note that 'lp' comes first
505 # (see previous comment about 'lp'.)
754 # commands that use dcgettext for localized time, LC_TIME
770 # commands that belong only to audit.
785 # commands not owned by the systems group
791 install := TARGET
= install
792 clean := TARGET
= clean
793 clobber := TARGET
= clobber
794 lint
:= TARGET
= lint
795 _msg
:= TARGET
= _msg
800 SUBDIRS
= $(COMMON_SUBDIRS
) $($(MACH
)_SUBDIRS
)
802 .PARALLEL
: $(BWOSDIRS
) $(SUBDIRS
) $(MSGSUBDIRS
) $(AUDITSUBDIRS
)
804 all install clean clobber lint
: $(FIRST_SUBDIRS
) .WAIT
$(SUBDIRS
) \
808 # Manifests cannot be checked in parallel, because we are using
809 # the global repository that is in $(SRC)/cmd/svc/seed/global.db.
810 # For this reason, to avoid .PARALLEL and .NO_PARALLEL conflicts,
811 # we spawn off a sub-make to perform the non-parallel 'make check'
814 $(MAKE
) -f Makefile.
check check
817 # The .WAIT directive works around an apparent bug in parallel make.
818 # Evidently make was getting the target _msg vs. _dc confused under
819 # some level of parallelization, causing some of the _dc objects
822 _msg
: $(MSGSUBDIRS
) $($(MACH
)_MSGSUBDIRS
) .WAIT _dc
834 $(FIRST_SUBDIRS
) $(BWOSDIRS
) $(SUBDIRS
) $(AUDITSUBDIRS
): FRC
835 @if
[ -f
$@
/Makefile
]; then \
836 cd
$@
; pwd
; $(MAKE
) $(TARGET
); \