Makefile revision c0e7977a434048a8bc7386ea0e8befaa77a646cf
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley#
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# CDDL HEADER START
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley#
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# The contents of this file are subject to the terms of the
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# Common Development and Distribution License (the "License").
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# You may not use this file except in compliance with the License.
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley#
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# or http://www.opensolaris.org/os/licensing.
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# See the License for the specific language governing permissions
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# and limitations under the License.
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley#
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# When distributing Covered Code, include this CDDL HEADER in each
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# If applicable, add the following below this CDDL HEADER, with the
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# fields enclosed by brackets "[]" replaced with your own identifying
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# information: Portions Copyright [yyyy] [name of copyright owner]
110d1702731f42dd620879c1d765ebe91f3920ceMichael Graff#
110d1702731f42dd620879c1d765ebe91f3920ceMichael Graff# CDDL HEADER END
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley#
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# Copyright 2011 Nexenta Systems, Inc. All rights reserved.
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# Copyright (c) 2012 by Delphix. All rights reserved.
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley# Copyright (c) 2012, Joyent, Inc. All rights reserved.
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley# Copyright (c) 2013 Gary Mills
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley
5619558151f1aa4249b3ead979e76876e29278b6Bob Halleyinclude ../Makefile.master
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# Note that libcurses installs commands along with its library.
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# This is a minor bug which probably should be fixed.
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# Note also that a few extra libraries are kept in cmd source.
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley#
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# Certain libraries are linked with, hence depend on, other libraries.
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley#
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# Although we have historically used .WAIT to express dependencies, it
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# reduces the amount of parallelism and thus lengthens the time it
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# takes to build the libraries. Thus, we now require that any new
078d49b63324f01d98301ee21671abee0c41fcdeBob Halley# libraries explicitly call out their dependencies. Eventually, all
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# the library dependencies will be called out explicitly. See
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# "Library interdependencies" near the end of this file.
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley#
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# Aside from explicit dependencies (and legacy .WAITs), all libraries
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley# are built in parallel.
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley#
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley.PARALLEL:
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley
e496615043400500492fa7b891c515c8e7cb7d08Bob HalleySUBDIRS= \
e496615043400500492fa7b891c515c8e7cb7d08Bob Halley common .WAIT \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley ../cmd/sgs/libconv \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley ../cmd/sgs/libdl .WAIT
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley
5619558151f1aa4249b3ead979e76876e29278b6Bob HalleySUBDIRS += \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libc .WAIT \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley ../cmd/sgs/libelf .WAIT \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley c_synonyms \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libmd \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libmd5 \
078d49b63324f01d98301ee21671abee0c41fcdeBob Halley librsm \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libmp .WAIT \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libnsl \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libsecdb .WAIT \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley librpcsvc \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libsocket .WAIT \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libsctp \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libsip \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libcommputil \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libresolv \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libresolv2 .WAIT \
e496615043400500492fa7b891c515c8e7cb7d08Bob Halley libw .WAIT \
e496615043400500492fa7b891c515c8e7cb7d08Bob Halley libintl .WAIT \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley ../cmd/sgs/librtld_db \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libaio \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libast \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libdll \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libcmd \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libshell \
2cd0c38115b1efb043ed3104c0d08e51ceade0d7Bob Halley libsum \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley librt \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libadm \
078d49b63324f01d98301ee21671abee0c41fcdeBob Halley libctf \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libdtrace \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libdtrace_jni \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libcurses \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libtermcap \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libgen \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libgss \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libpam \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libuuid \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libthread \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libpthread .WAIT \
e496615043400500492fa7b891c515c8e7cb7d08Bob Halley libslp \
e496615043400500492fa7b891c515c8e7cb7d08Bob Halley libbsdmalloc \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libdoor \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libdevinfo \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libdladm \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libdlpi \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libeti \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libcrypt \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libdns_sd \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libefi \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libfstyp \
078d49b63324f01d98301ee21671abee0c41fcdeBob Halley libwanboot \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libwanbootutil \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libcryptoutil \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libinetutil \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libipadm \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libipmp \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libiscsit \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libkmf \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libkstat \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libkvm \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley liblm \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libmalloc \
078d49b63324f01d98301ee21671abee0c41fcdeBob Halley libmapmalloc \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libmtmalloc \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libnls \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libnwam \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libsmbios \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libtecla \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libumem \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libnvpair .WAIT \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libexacct \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libsasl \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libldap5 \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libsldap .WAIT \
078d49b63324f01d98301ee21671abee0c41fcdeBob Halley libbsm \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libsys \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libsysevent \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libnisdb \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libpool \
95552051abdb3b6fc4f56b015da27c000742646bBob Halley libpp \
95552051abdb3b6fc4f56b015da27c000742646bBob Halley libproc \
95552051abdb3b6fc4f56b015da27c000742646bBob Halley libproject \
95552051abdb3b6fc4f56b015da27c000742646bBob Halley libsendfile \
95552051abdb3b6fc4f56b015da27c000742646bBob Halley nametoaddr \
95552051abdb3b6fc4f56b015da27c000742646bBob Halley ncad_addr \
95552051abdb3b6fc4f56b015da27c000742646bBob Halley hbaapi \
95552051abdb3b6fc4f56b015da27c000742646bBob Halley smhba \
95552051abdb3b6fc4f56b015da27c000742646bBob Halley sun_fc \
95552051abdb3b6fc4f56b015da27c000742646bBob Halley sun_sas \
95552051abdb3b6fc4f56b015da27c000742646bBob Halley gss_mechs/mech_krb5 .WAIT \
95552051abdb3b6fc4f56b015da27c000742646bBob Halley libkrb5 .WAIT \
95552051abdb3b6fc4f56b015da27c000742646bBob Halley krb5 .WAIT \
95552051abdb3b6fc4f56b015da27c000742646bBob Halley libsmbfs \
95552051abdb3b6fc4f56b015da27c000742646bBob Halley libfcoe \
95552051abdb3b6fc4f56b015da27c000742646bBob Halley libsrpt \
95552051abdb3b6fc4f56b015da27c000742646bBob Halley libstmf \
95552051abdb3b6fc4f56b015da27c000742646bBob Halley libstmfproxy \
95552051abdb3b6fc4f56b015da27c000742646bBob Halley libnsctl \
95552051abdb3b6fc4f56b015da27c000742646bBob Halley libunistat \
95552051abdb3b6fc4f56b015da27c000742646bBob Halley libdscfg \
95552051abdb3b6fc4f56b015da27c000742646bBob Halley librdc \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libinstzones \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libpkg \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libpcidb
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley
5619558151f1aa4249b3ead979e76876e29278b6Bob HalleySUBDIRS += \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley passwdutil \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley pam_modules \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley crypt_modules \
95552051abdb3b6fc4f56b015da27c000742646bBob Halley libadt_jni \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley abi \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley auditd_plugins \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley libvolmgt \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libdevice \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libdevid \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libdhcpsvc \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libc_db \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libndmp \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libsec \
078d49b63324f01d98301ee21671abee0c41fcdeBob Halley libtnfprobe \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley libtnf \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley libtnfctl \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libdhcpagent \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley libdhcpdu \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley libdhcputil \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley libxnet \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley libipsecutil \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley nsswitch \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley print \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libuutil \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libscf \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libinetsvc \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley librestart \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libsched \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libelfsign \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley pkcs11 .WAIT \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libpctx .WAIT \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libcpc \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley getloginx \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley watchmalloc \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley extendedFILE \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley madv \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley mpss \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libdisasm \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libwrap \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libxcurses \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libxcurses2 \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libbrand .WAIT \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libzonecfg \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libzoneinfo \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libzonestat \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libtsnet \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libtsol \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley gss_mechs/mech_spnego \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley gss_mechs/mech_dummy \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley gss_mechs/mech_dh \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley rpcsec_gss \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libraidcfg .WAIT \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley librcm .WAIT \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libcfgadm .WAIT \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libpicl .WAIT \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libpicltree .WAIT \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley raidcfg_plugins \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley cfgadm_plugins \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libmail \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley lvm \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libsmedia \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libipp \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libdiskmgt \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley liblgrp \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libfsmgt \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley fm \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libavl \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libcmdutils \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libcontract \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley ../cmd/sendmail/libmilter \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley sasl_plugins \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley udapl \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libzpool \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libzfs_core \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libzfs \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libbe \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley pylibbe \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libzfs_jni \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley pyzfs \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley pysolaris \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley libmapid \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley brand \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley policykit \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley hal \
0d0d9a9d9895605aba3a44fd03c051e15f88ecf5Bob Halley libshare \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley libsqlite \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley libidmap \
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews libadutils \
95552051abdb3b6fc4f56b015da27c000742646bBob Halley libipmi \
95552051abdb3b6fc4f56b015da27c000742646bBob Halley libexacct/demo \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley libvrrpadm \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley libvscan \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley libgrubmgmt \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley smbsrv \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley libilb \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley scsi \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley libima \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley libsun_ima \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley mpapi \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley librstp \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley libreparse \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley libhotplug \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley libfruutils .WAIT \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libfru \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley $($(MACH)_SUBDIRS)
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley
5619558151f1aa4249b3ead979e76876e29278b6Bob Halleyi386_SUBDIRS= \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libntfs \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libparted \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libfdisk \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libsaveargs
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graffsparc_SUBDIRS= .WAIT \
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff efcode \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libds \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libdscp \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libprtdiag .WAIT \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libprtdiag_psr \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libpri \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley librsc \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley storage \
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff libpcp \
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff libtsalarm \
54f959d12b5a1f9315fbf6a776c6d349316e9686Bob Halley libv12n
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael GraffFM_sparc_DEPLIBS= libpri
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Grafffm: \
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff libexacct \
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff libipmi \
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff libzfs \
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff scsi \
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff $(FM_$(MACH)_DEPLIBS)
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff#
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff# Create a special version of $(SUBDIRS) with no .WAIT's, for use with the
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff# clean and clobber targets (for more information, see those targets, below).
22f735acbce7ffe95af20bb58bb8929b6f1d674fMichael Graff#
22f735acbce7ffe95af20bb58bb8929b6f1d674fMichael GraffNOWAIT_SUBDIRS= $(SUBDIRS:.WAIT=)
22f735acbce7ffe95af20bb58bb8929b6f1d674fMichael Graff
22f735acbce7ffe95af20bb58bb8929b6f1d674fMichael GraffDCSUBDIRS = \
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff lvm
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael GraffMSGSUBDIRS= \
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff abi \
22f735acbce7ffe95af20bb58bb8929b6f1d674fMichael Graff auditd_plugins \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley brand \
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff cfgadm_plugins \
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff gss_mechs/mech_dh \
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff gss_mechs/mech_krb5 \
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff krb5 \
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff libast \
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff libbsm \
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff libc \
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff libcfgadm \
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff libcmd \
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff libcontract \
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff libcurses \
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff libdhcpsvc \
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff libdhcputil \
76883e8cee593f45c65b0936e5d6e8f778d6e3efMichael Graff libipsecutil \
5619558151f1aa4249b3ead979e76876e29278b6Bob Halley libdiskmgt \
libdladm \
libdll \
libgrubmgmt \
libgss \
libidmap \
libipmp \
libilb \
libinetutil \
libinstzones \
libipadm \
libnsl \
libnwam \
libpam \
libpicl \
libpool \
libpkg \
libpp \
libscf \
libsasl \
libldap5 \
libsecdb \
libshare \
libshell \
libsldap \
libslp \
libsmbfs \
libsmedia \
libsum \
libtsol \
libuutil \
libvrrpadm \
libvscan \
libwanboot \
libwanbootutil \
libzfs \
libzonecfg \
lvm \
madv \
mpss \
pam_modules \
pyzfs \
pysolaris \
rpcsec_gss \
libreparse
MSGSUBDIRS += \
$($(MACH)_MSGSUBDIRS)
sparc_MSGSUBDIRS= \
libprtdiag \
libprtdiag_psr
i386_MSGSUBDIRS= libfdisk
HDRSUBDIRS= \
auditd_plugins \
libast \
libbrand \
libbsm \
libc \
libcmd \
libcmdutils \
libcommputil \
libcontract \
libcpc \
libctf \
libcurses \
libtermcap \
libcryptoutil \
libdevice \
libdevid \
libdevinfo \
libdiskmgt \
libdladm \
libdll \
libdlpi \
libdhcpagent \
libdhcpsvc \
libdhcputil \
libdisasm \
libdns_sd \
libdscfg \
libdtrace \
libdtrace_jni \
libelfsign \
libeti \
libfru \
libfstyp \
libgen \
libipadm \
libipsecutil \
libinetsvc \
libinetutil \
libinstzones \
libipmi \
libipmp \
libipp \
libiscsit \
libkstat \
libkvm \
libmail \
libmd \
libmtmalloc \
libndmp \
libnvpair \
libnsctl \
libnsl \
libnwam \
libpam \
libpcidb \
libpctx \
libpicl \
libpicltree \
libpool \
libpp \
libproc \
libraidcfg \
librcm \
librdc \
libscf \
libsip \
libsmbios \
librestart \
librpcsvc \
librsm \
librstp \
libsasl \
libsec \
libshell \
libslp \
libsmedia \
libsocket \
libsqlite \
libfcoe \
libsrpt \
libstmf \
libstmfproxy \
libsum \
libsysevent \
libtecla \
libtnf \
libtnfctl \
libtnfprobe \
libtsnet \
libtsol \
libvrrpadm \
libvolmgt \
libumem \
libunistat \
libuutil \
libwanboot \
libwanbootutil \
libwrap \
libxcurses2 \
libzfs \
libzfs_core \
libzfs_jni \
libzoneinfo \
libzonestat \
hal \
policykit \
lvm \
pkcs11 \
passwdutil \
../cmd/sendmail/libmilter \
fm \
udapl \
libmapid \
libkrb5 \
libsmbfs \
libshare \
libidmap \
libvscan \
libgrubmgmt \
smbsrv \
libilb \
scsi \
hbaapi \
smhba \
libima \
libsun_ima \
mpapi \
libreparse \
$($(MACH)_HDRSUBDIRS)
i386_HDRSUBDIRS= \
libparted \
libfdisk \
libsaveargs
sparc_HDRSUBDIRS= \
libds \
libdscp \
libpri \
libv12n \
storage
all := TARGET= all
check := TARGET= check
clean := TARGET= clean
clobber := TARGET= clobber
install := TARGET= install
install_h := TARGET= install_h
lint := TARGET= lint
_dc := TARGET= _dc
_msg := TARGET= _msg
.KEEP_STATE:
#
# For the all and install targets, we clearly must respect library
# dependencies so that the libraries link correctly. However, for
# the remaining targets (check, clean, clobber, install_h, lint, _dc
# and _msg), libraries do not have any dependencies on one another
# and thus respecting dependencies just slows down the build.
# As such, for these rules, we use pattern replacement to explicitly
# avoid triggering the dependency information. Note that for clean,
# clobber and lint, we must use $(NOWAIT_SUBDIRS) rather than
# $(SUBDIRS), to prevent `.WAIT' from expanding to `.WAIT-nodepend'.
#
all: $(SUBDIRS)
install: $(SUBDIRS) .WAIT install_extra
# extra libraries kept in other source areas
install_extra:
@cd ../cmd/sgs; pwd; $(MAKE) install_lib
@pwd
clean clobber lint: $(NOWAIT_SUBDIRS:%=%-nodepend)
install_h check: $(HDRSUBDIRS:%=%-nodepend)
_msg: $(MSGSUBDIRS:%=%-nodepend) .WAIT _dc
_dc: $(DCSUBDIRS:%=%-nodepend)
#
# Library interdependencies are called out explicitly here
#
auditd_plugins: libbsm libnsl libsecdb
gss_mechs/mech_krb5: libgss libnsl libsocket libresolv pkcs11
libadt_jni: libbsm
libast: libsocket
libadutils: libldap5 libresolv libsocket libnsl
nsswitch: libadutils libidmap
libbe: libzfs
libbsm: libtsol
libcmd: libsum libast libsocket libnsl
libcmdutils: libavl
libcontract: libnvpair
libdevid: libdevinfo
libdevinfo: libnvpair libsec
libdhcpagent: libsocket libdhcputil libuuid libdlpi libcontract
libdhcpsvc: libinetutil
libdhcputil: libnsl libgen libinetutil libdlpi
libdladm: libdevinfo libinetutil libsocket libscf librcm libnvpair \
libexacct libnsl libkstat libcurses
libdll: libast
libdlpi: libinetutil libdladm
libds: libsysevent
libdscfg: libnsctl libunistat libsocket libnsl
libdtrace: libproc libgen libctf
libdtrace_jni: libuutil libdtrace
libefi: libuuid
libfstyp: libnvpair
libelfsign: libcryptoutil libkmf
libidmap: libadutils libldap5 libavl libsldap libuutil
libipadm: libnsl libinetutil libsocket libdlpi libnvpair libdhcpagent \
libdladm libsecdb
libiscsit: libc libnvpair libstmf libuuid libnsl
libkmf: libcryptoutil pkcs11
libnsl: libmd5
libmapid: libresolv
librdc: libsocket libnsl libnsctl libunistat libdscfg
libuuid: libdlpi
libinetutil: libsocket
libipsecutil: libtecla libsocket
libinstzones: libzonecfg libcontract
libpkg: libwanboot libscf libadm
libnwam: libscf
libsecdb: libnsl
libsasl: libgss libsocket pkcs11 libmd
sasl_plugins: pkcs11 libgss libsocket libsasl
libsctp: libsocket
libshell: libast libcmd libdll libsocket libsecdb
libsip: libmd5
libsmbfs: libcmdutils libsocket libnsl libkrb5
libsocket: libnsl
libstmfproxy: libstmf libsocket libnsl libpthread
libsum: libast
libsysevent: libsecdb
libldap5: libsasl libsocket libnsl libmd
libsldap: libldap5 libtsol libnsl libc libscf libresolv
libpool: libnvpair libexacct
libpp: libast
libzonecfg: libc libsocket libnsl libuuid libnvpair libsysevent libsec \
libbrand libpool libscf
libproc: ../cmd/sgs/librtld_db ../cmd/sgs/libelf libctf libsaveargs
libproject: libpool libproc libsecdb
libtermcap: libcurses
libtsnet: libnsl libtsol libsecdb
libwrap: libnsl libsocket
libwanboot: libnvpair libresolv libnsl libsocket libdevinfo libinetutil \
libdhcputil
libwanbootutil: libnsl
pam_modules: libproject passwdutil smbsrv
libscf: libuutil libmd libgen libsmbios libnsl
libinetsvc: libscf
librestart: libuutil libscf
libsaveargs: libdisasm
../cmd/sgs/libdl: ../cmd/sgs/libconv
../cmd/sgs/libelf: ../cmd/sgs/libconv
pkcs11: libcryptoutil
print: libldap5
udapl/udapl_tavor: udapl/libdat
libzfs: libdevid libgen libnvpair libuutil \
libadm libavl libefi libidmap libmd libzfs_core
libzfs_core: libnvpair
libzfs_jni: libdiskmgt libnvpair libzfs
libzpool: libavl libumem libnvpair libcmdutils
libsec: libavl libidmap
brand: libc libsocket
libshare: libscf libzfs libuuid libfsmgt libsecdb libumem libsmbfs
libexacct/demo: libexacct libproject libsocket libnsl
libtsalarm: libpcp
smbsrv: libsocket libnsl libmd libxnet libpthread librt \
libshare libidmap pkcs11 libsqlite libcryptoutil \
libreparse libcmdutils
libv12n: libds libuuid
libvrrpadm: libsocket libdladm libscf
libvscan: libscf
libfru: libfruutils
scsi: libnvpair libfru
mpapi: libpthread libdevinfo libsysevent libnvpair
sun_fc: libdevinfo libsysevent libnvpair
libsun_ima: libdevinfo libsysevent libnsl
sun_sas: libdevinfo libsysevent libnvpair libkstat libdevid
libgrubmgmt: libdevinfo libzfs libfstyp
pylibbe: libbe libzfs
pyzfs: libnvpair libzfs
pysolaris: libsec libidmap
libreparse: libnvpair
libhotplug: libnvpair
cfgadm_plugins: libhotplug
libilb: libsocket
$(INTEL_BUILD)libdiskmgt:libfdisk
#
# The reason this rule checks for the existence of the
# Makefile is that some of the directories do not exist
# in certain situations (e.g., exportable source builds,
# OpenSolaris).
#
$(SUBDIRS): FRC
@if [ -f $@/Makefile ]; then \
cd $@; pwd; $(MAKE) $(TARGET); \
else \
true; \
fi
$(SUBDIRS:%=%-nodepend):
@if [ -f $(@:%-nodepend=%)/Makefile ]; then \
cd $(@:%-nodepend=%); pwd; $(MAKE) $(TARGET); \
else \
true; \
fi
FRC: