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 2015 Nexenta Systems, Inc. All rights reserved.
24 # Copyright (c) 2012 Joyent, Inc. All rights reserved.
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>
29 include ..
/Makefile.master
32 # Note that the commands 'lp', and 'perl' are first in
33 # the list, violating alphabetical order. This is because they are very
34 # long-running and should be given the most wall-clock time for a
37 # Commands in the FIRST_SUBDIRS list are built before starting the build
38 # of other commands. Currently this includes only 'isaexec' and
39 # 'platexec'. This is necessary because $(ROOT)/usr/lib/isaexec or
40 # $(ROOT)/usr/lib/platexec must exist when some other commands are built
41 # because their 'make install' creates a hard link to one of them.
43 # Commands are listed one per line so that TeamWare can auto-merge most
500 # Commands that are messaged. Note that 'lp' comes first
501 # (see previous comment about 'lp'.)
751 # commands that use dcgettext for localized time, LC_TIME
767 # commands that belong only to audit.
782 # commands not owned by the systems group
788 install := TARGET
= install
789 clean := TARGET
= clean
790 clobber := TARGET
= clobber
791 lint
:= TARGET
= lint
792 _msg
:= TARGET
= _msg
797 SUBDIRS
= $(COMMON_SUBDIRS
) $($(MACH
)_SUBDIRS
)
799 .PARALLEL
: $(BWOSDIRS
) $(SUBDIRS
) $(MSGSUBDIRS
) $(AUDITSUBDIRS
)
801 all install clean clobber lint
: $(FIRST_SUBDIRS
) .WAIT
$(SUBDIRS
) \
805 # Manifests cannot be checked in parallel, because we are using
806 # the global repository that is in $(SRC)/cmd/svc/seed/global.db.
807 # For this reason, to avoid .PARALLEL and .NO_PARALLEL conflicts,
808 # we spawn off a sub-make to perform the non-parallel 'make check'
811 $(MAKE
) -f Makefile.
check check
814 # The .WAIT directive works around an apparent bug in parallel make.
815 # Evidently make was getting the target _msg vs. _dc confused under
816 # some level of parallelization, causing some of the _dc objects
819 _msg
: $(MSGSUBDIRS
) $($(MACH
)_MSGSUBDIRS
) .WAIT _dc
832 $(FIRST_SUBDIRS
) $(BWOSDIRS
) $(SUBDIRS
) $(AUDITSUBDIRS
): FRC
833 @if
[ -f
$@
/Makefile
]; then \
834 cd
$@
; pwd
; $(MAKE
) $(TARGET
); \