xref: /titanic_44/usr/src/lib/Makefile (revision 22ca5eba2a84a9612aa439c234327fda99608f01)
174b5a35dSPaul Cheng#
274b5a35dSPaul Cheng# CDDL HEADER START
374b5a35dSPaul Cheng#
474b5a35dSPaul Cheng# The contents of this file are subject to the terms of the
574b5a35dSPaul Cheng# Common Development and Distribution License (the "License").
674b5a35dSPaul Cheng# You may not use this file except in compliance with the License.
774b5a35dSPaul Cheng#
874b5a35dSPaul Cheng# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
974b5a35dSPaul Cheng# or http://www.opensolaris.org/os/licensing.
1074b5a35dSPaul Cheng# See the License for the specific language governing permissions
1174b5a35dSPaul Cheng# and limitations under the License.
1274b5a35dSPaul Cheng#
1374b5a35dSPaul Cheng# When distributing Covered Code, include this CDDL HEADER in each
1474b5a35dSPaul Cheng# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1574b5a35dSPaul Cheng# If applicable, add the following below this CDDL HEADER, with the
1674b5a35dSPaul Cheng# fields enclosed by brackets "[]" replaced with your own identifying
1774b5a35dSPaul Cheng# information: Portions Copyright [yyyy] [name of copyright owner]
1874b5a35dSPaul Cheng#
1974b5a35dSPaul Cheng# CDDL HEADER END
2074b5a35dSPaul Cheng#
2174b5a35dSPaul Cheng
226cb35b1cSYuri Pankov#
23c3a558e7SSue Gleeson# Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
244445fffbSMatthew Ahrens# Copyright (c) 2012 by Delphix. All rights reserved.
25abc79d9dSRobert Mustacchi# Copyright (c) 2012, Joyent, Inc. All rights reserved.
260a1278f2SGary Mills# Copyright (c) 2013 Gary Mills
27786d1eecSBart Coddens# Copyright 2014 Garrett D'Amore <garrett@damore.org>
289c7136ddSGary Mills# Copyright (c) 2015 Gary Mills
296cb35b1cSYuri Pankov# Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
306cb35b1cSYuri Pankov#
317c478bd9Sstevel@tonic-gate
327c478bd9Sstevel@tonic-gateinclude ../Makefile.master
337c478bd9Sstevel@tonic-gate
347c478bd9Sstevel@tonic-gate#	Note that libcurses installs commands along with its library.
357c478bd9Sstevel@tonic-gate#	This is a minor bug which probably should be fixed.
367c478bd9Sstevel@tonic-gate#	Note also that a few extra libraries are kept in cmd source.
377c478bd9Sstevel@tonic-gate#
387c478bd9Sstevel@tonic-gate# Certain libraries are linked with, hence depend on, other libraries.
396cb35b1cSYuri Pankov# Library dependencies are called out explicitly, see "Library
406cb35b1cSYuri Pankov# interdependencies" below.
417c478bd9Sstevel@tonic-gate.PARALLEL:
427c478bd9Sstevel@tonic-gate
436cb35b1cSYuri Pankov# Build libc and its dependencies
447c478bd9Sstevel@tonic-gateSUBDIRS=			\
456cb35b1cSYuri Pankov	common			\
467c478bd9Sstevel@tonic-gate	../cmd/sgs/libconv	\
476cb35b1cSYuri Pankov	../cmd/sgs/libdl	\
486cb35b1cSYuri Pankov	libc			\
496cb35b1cSYuri Pankov	.WAIT
50fb9f9b97Skupfer
516cb35b1cSYuri Pankov# Build libraries with lots of dependents
52fb9f9b97SkupferSUBDIRS +=		\
536cb35b1cSYuri Pankov	libm		\
54734b6a94Sdarrenm	libmd		\
556cb35b1cSYuri Pankov	libmp		\
567c478bd9Sstevel@tonic-gate	libnsl		\
576cb35b1cSYuri Pankov	libnvpair	\
586cb35b1cSYuri Pankov	libsocket	\
596cb35b1cSYuri Pankov	.WAIT
606cb35b1cSYuri Pankov
616cb35b1cSYuri Pankov# Build everything else. Aside from explicit dependencies, all libraries
626cb35b1cSYuri Pankov# are built in parallel.
636cb35b1cSYuri PankovSUBDIRS +=				\
646cb35b1cSYuri Pankov	../cmd/sendmail/libmilter	\
656cb35b1cSYuri Pankov	../cmd/sgs/libelf	\
667c478bd9Sstevel@tonic-gate	../cmd/sgs/librtld_db	\
676cb35b1cSYuri Pankov	abi		\
686cb35b1cSYuri Pankov	auditd_plugins	\
696cb35b1cSYuri Pankov	brand		\
706cb35b1cSYuri Pankov	c_synonyms	\
716cb35b1cSYuri Pankov	cfgadm_plugins	\
726cb35b1cSYuri Pankov	crypt_modules	\
736cb35b1cSYuri Pankov	extendedFILE	\
746cb35b1cSYuri Pankov	fm		\
756cb35b1cSYuri Pankov	getloginx	\
766cb35b1cSYuri Pankov	gss_mechs/mech_dh	\
776cb35b1cSYuri Pankov	gss_mechs/mech_dummy	\
786cb35b1cSYuri Pankov	gss_mechs/mech_krb5	\
796cb35b1cSYuri Pankov	gss_mechs/mech_spnego	\
806cb35b1cSYuri Pankov	hal		\
816cb35b1cSYuri Pankov	hbaapi		\
826cb35b1cSYuri Pankov	krb5		\
836cb35b1cSYuri Pankov	libadm		\
846cb35b1cSYuri Pankov	libadt_jni	\
856cb35b1cSYuri Pankov	libadutils	\
867c478bd9Sstevel@tonic-gate	libaio		\
87da2e3ebdSchin	libast		\
886cb35b1cSYuri Pankov	libavl		\
896cb35b1cSYuri Pankov	libbe		\
906cb35b1cSYuri Pankov	libbrand	\
916cb35b1cSYuri Pankov	libbsdmalloc	\
926cb35b1cSYuri Pankov	libbsm		\
936cb35b1cSYuri Pankov	libc_db		\
946cb35b1cSYuri Pankov	libcfgadm	\
95da2e3ebdSchin	libcmd		\
966cb35b1cSYuri Pankov	libcmdutils	\
976cb35b1cSYuri Pankov	libcommputil	\
986cb35b1cSYuri Pankov	libcontract	\
996cb35b1cSYuri Pankov	libcpc		\
1006cb35b1cSYuri Pankov	libcrypt	\
1016cb35b1cSYuri Pankov	libcryptoutil	\
1027c478bd9Sstevel@tonic-gate	libctf		\
1036cb35b1cSYuri Pankov	libcurses	\
1046cb35b1cSYuri Pankov	libdevice	\
1056cb35b1cSYuri Pankov	libdevid	\
1066cb35b1cSYuri Pankov	libdevinfo	\
1076cb35b1cSYuri Pankov	libdhcpagent	\
1086cb35b1cSYuri Pankov	libdhcputil	\
1096cb35b1cSYuri Pankov	libdisasm	\
1106cb35b1cSYuri Pankov	libdiskmgt	\
1116cb35b1cSYuri Pankov	libdladm	\
1126cb35b1cSYuri Pankov	libdll		\
1136cb35b1cSYuri Pankov	libdlpi		\
1146cb35b1cSYuri Pankov	libdns_sd	\
1156cb35b1cSYuri Pankov	libdoor		\
1166cb35b1cSYuri Pankov	libdscfg	\
1177c478bd9Sstevel@tonic-gate	libdtrace	\
118fb3fb4f3Stomee	libdtrace_jni	\
1197c478bd9Sstevel@tonic-gate	libefi		\
1206cb35b1cSYuri Pankov	libelfsign	\
1216cb35b1cSYuri Pankov	libeti		\
1226cb35b1cSYuri Pankov	libexacct	\
1236cb35b1cSYuri Pankov	libexacct/demo	\
1246cb35b1cSYuri Pankov	libfakekernel	\
1256cb35b1cSYuri Pankov	libfcoe		\
1266cb35b1cSYuri Pankov	libfru		\
1276cb35b1cSYuri Pankov	libfruutils	\
1286cb35b1cSYuri Pankov	libfsmgt	\
1290e42dee6Sartem	libfstyp	\
1306cb35b1cSYuri Pankov	libgen		\
1316cb35b1cSYuri Pankov	libgrubmgmt	\
1326cb35b1cSYuri Pankov	libgss		\
1336cb35b1cSYuri Pankov	libhotplug	\
1346cb35b1cSYuri Pankov	libidmap	\
1356cb35b1cSYuri Pankov	libilb		\
1366cb35b1cSYuri Pankov	libima		\
1376cb35b1cSYuri Pankov	libinetsvc	\
1387c478bd9Sstevel@tonic-gate	libinetutil	\
1396cb35b1cSYuri Pankov	libinstzones	\
1406cb35b1cSYuri Pankov	libintl		\
1416e91bba0SGirish Moodalbail	libipadm	\
142fe77cc04SRobert Mustacchi	libipd		\
1436cb35b1cSYuri Pankov	libipmi		\
1447c478bd9Sstevel@tonic-gate	libipmp		\
1456cb35b1cSYuri Pankov	libipp		\
1466cb35b1cSYuri Pankov	libipsecutil	\
147a6d42e7dSPeter Dunlap	libiscsit	\
14899ebb4caSwyllys	libkmf		\
1496cb35b1cSYuri Pankov	libkrb5		\
1507c478bd9Sstevel@tonic-gate	libkstat	\
1517c478bd9Sstevel@tonic-gate	libkvm		\
1527c478bd9Sstevel@tonic-gate	libldap5	\
1536cb35b1cSYuri Pankov	liblgrp		\
1546cb35b1cSYuri Pankov	liblm		\
1556cb35b1cSYuri Pankov	libm1		\
1566cb35b1cSYuri Pankov	libmail		\
1576cb35b1cSYuri Pankov	libmalloc	\
1586cb35b1cSYuri Pankov	libmapid	\
1596cb35b1cSYuri Pankov	libmapmalloc	\
1606cb35b1cSYuri Pankov	libmd5		\
1616cb35b1cSYuri Pankov	libmtmalloc	\
1626cb35b1cSYuri Pankov	libmvec		\
1636cb35b1cSYuri Pankov	libndmp		\
1647c478bd9Sstevel@tonic-gate	libnisdb	\
1656cb35b1cSYuri Pankov	libnls		\
1666cb35b1cSYuri Pankov	libnsctl	\
1676cb35b1cSYuri Pankov	libnwam		\
1686cb35b1cSYuri Pankov	libpam		\
1696cb35b1cSYuri Pankov	libpcidb	\
1706cb35b1cSYuri Pankov	libpctx		\
1716cb35b1cSYuri Pankov	libpicl		\
1726cb35b1cSYuri Pankov	libpicltree	\
1736cb35b1cSYuri Pankov	libpkg		\
1747c478bd9Sstevel@tonic-gate	libpool		\
175da2e3ebdSchin	libpp		\
1767c478bd9Sstevel@tonic-gate	libproc		\
1777c478bd9Sstevel@tonic-gate	libproject	\
1786cb35b1cSYuri Pankov	libpthread	\
1796cb35b1cSYuri Pankov	libraidcfg	\
1806cb35b1cSYuri Pankov	librcm		\
1816cb35b1cSYuri Pankov	librdc		\
1826cb35b1cSYuri Pankov	libreparse	\
1836cb35b1cSYuri Pankov	libresolv	\
1846cb35b1cSYuri Pankov	libresolv2	\
1856cb35b1cSYuri Pankov	librestart	\
1866cb35b1cSYuri Pankov	librpcsvc	\
1876cb35b1cSYuri Pankov	librsm		\
1886cb35b1cSYuri Pankov	librstp		\
1896cb35b1cSYuri Pankov	librt		\
1906cb35b1cSYuri Pankov	libsasl		\
1916cb35b1cSYuri Pankov	libscf		\
1926cb35b1cSYuri Pankov	libsched	\
1936cb35b1cSYuri Pankov	libsctp		\
1946cb35b1cSYuri Pankov	libsec		\
1956cb35b1cSYuri Pankov	libsecdb	\
1967c478bd9Sstevel@tonic-gate	libsendfile	\
19748a4016cSRobert Mustacchi	libsff		\
1986cb35b1cSYuri Pankov	libshare	\
1996cb35b1cSYuri Pankov	libshell	\
2006cb35b1cSYuri Pankov	libsip		\
2016cb35b1cSYuri Pankov	libsldap	\
2026cb35b1cSYuri Pankov	libslp		\
203fcf3ce44SJohn Forte	libsmbfs	\
2046cb35b1cSYuri Pankov	libsmbios	\
2056cb35b1cSYuri Pankov	libsmedia	\
2066cb35b1cSYuri Pankov	libsqlite	\
207c3a558e7SSue Gleeson	libsrpt		\
208fcf3ce44SJohn Forte	libstmf		\
20945039663SJohn Forte	libstmfproxy	\
2106cb35b1cSYuri Pankov	libsum		\
2116cb35b1cSYuri Pankov	libsun_ima	\
2126cb35b1cSYuri Pankov	libsys		\
2136cb35b1cSYuri Pankov	libsysevent	\
2146cb35b1cSYuri Pankov	libtecla	\
2156cb35b1cSYuri Pankov	libtermcap	\
2166cb35b1cSYuri Pankov	libthread	\
2177c478bd9Sstevel@tonic-gate	libtnf		\
2187c478bd9Sstevel@tonic-gate	libtnfctl	\
2196cb35b1cSYuri Pankov	libtnfprobe	\
2206cb35b1cSYuri Pankov	libtsnet	\
2216cb35b1cSYuri Pankov	libtsol		\
2226cb35b1cSYuri Pankov	libumem		\
2236cb35b1cSYuri Pankov	libunistat	\
2246cb35b1cSYuri Pankov	libuuid		\
2257c478bd9Sstevel@tonic-gate	libuutil	\
2266cb35b1cSYuri Pankov	libvolmgt	\
2276cb35b1cSYuri Pankov	libvrrpadm	\
2286cb35b1cSYuri Pankov	libvscan	\
2296cb35b1cSYuri Pankov	libw		\
2306cb35b1cSYuri Pankov	libwanboot	\
2316cb35b1cSYuri Pankov	libwanbootutil	\
2327c478bd9Sstevel@tonic-gate	libwrap		\
2337c478bd9Sstevel@tonic-gate	libxcurses	\
2347c478bd9Sstevel@tonic-gate	libxcurses2	\
2356cb35b1cSYuri Pankov	libxnet		\
2366cb35b1cSYuri Pankov	libzfs		\
2376cb35b1cSYuri Pankov	libzfs_core	\
2386cb35b1cSYuri Pankov	libzfs_jni	\
2397c478bd9Sstevel@tonic-gate	libzonecfg	\
2407c478bd9Sstevel@tonic-gate	libzoneinfo	\
241efd4c9b6SSteve Lawrence	libzonestat	\
242fa9e4066Sahrens	libzpool	\
2436cb35b1cSYuri Pankov	madv		\
244fcf3ce44SJohn Forte	mpapi		\
2456cb35b1cSYuri Pankov	mpss		\
2466cb35b1cSYuri Pankov	nametoaddr	\
2476cb35b1cSYuri Pankov	ncad_addr	\
2486cb35b1cSYuri Pankov	nsswitch	\
2496cb35b1cSYuri Pankov	pam_modules	\
2506cb35b1cSYuri Pankov	passwdutil	\
2516cb35b1cSYuri Pankov	pkcs11		\
2526cb35b1cSYuri Pankov	policykit	\
2536cb35b1cSYuri Pankov	print		\
2546cb35b1cSYuri Pankov	pylibbe		\
2556cb35b1cSYuri Pankov	pysolaris	\
2566cb35b1cSYuri Pankov	pyzfs		\
2576cb35b1cSYuri Pankov	raidcfg_plugins	\
2586cb35b1cSYuri Pankov	rpcsec_gss	\
2596cb35b1cSYuri Pankov	sasl_plugins	\
2606cb35b1cSYuri Pankov	scsi		\
2616cb35b1cSYuri Pankov	smbsrv		\
2626cb35b1cSYuri Pankov	smhba		\
2636cb35b1cSYuri Pankov	sun_fc		\
2646cb35b1cSYuri Pankov	sun_sas		\
2656cb35b1cSYuri Pankov	udapl		\
2666cb35b1cSYuri Pankov	watchmalloc	\
2677c478bd9Sstevel@tonic-gate	$($(MACH)_SUBDIRS)
2687c478bd9Sstevel@tonic-gate
2697e7bd3dcSMark Logani386_SUBDIRS=		\
270702941cdSRichard Lowe	libfdisk	\
271702941cdSRichard Lowe	libsaveargs
2727e7bd3dcSMark Logan
2736cb35b1cSYuri Pankovsparc_SUBDIRS=		\
2747c478bd9Sstevel@tonic-gate	efcode		\
27530588217SMike Christensen	libds		\
27625cf1a30Sjl139090	libdscp		\
2776cb35b1cSYuri Pankov	libprtdiag	\
27803831d35Sstevel	libprtdiag_psr	\
279ef884685Srb144127	libpri		\
28003831d35Sstevel	librsc		\
2817c478bd9Sstevel@tonic-gate	storage		\
2824a6822d0Swillard	libpcp		\
28382629e30SMike Christensen	libtsalarm	\
28482629e30SMike Christensen	libv12n
2857c478bd9Sstevel@tonic-gate
2867c478bd9Sstevel@tonic-gate#
2877c478bd9Sstevel@tonic-gate# Create a special version of $(SUBDIRS) with no .WAIT's, for use with the
2887c478bd9Sstevel@tonic-gate# clean and clobber targets (for more information, see those targets, below).
2897c478bd9Sstevel@tonic-gate#
2907c478bd9Sstevel@tonic-gateNOWAIT_SUBDIRS= $(SUBDIRS:.WAIT=)
2917c478bd9Sstevel@tonic-gate
292*22ca5ebaSYuri PankovDCSUBDIRS=
2937c478bd9Sstevel@tonic-gate
2947c478bd9Sstevel@tonic-gateMSGSUBDIRS=		\
2957c478bd9Sstevel@tonic-gate	abi		\
2967c478bd9Sstevel@tonic-gate	auditd_plugins	\
2979acbbeafSnn35248	brand		\
2987c478bd9Sstevel@tonic-gate	cfgadm_plugins	\
2997c478bd9Sstevel@tonic-gate	gss_mechs/mech_dh	\
3007c478bd9Sstevel@tonic-gate	gss_mechs/mech_krb5	\
3017c478bd9Sstevel@tonic-gate	krb5		\
302da2e3ebdSchin	libast		\
3037c478bd9Sstevel@tonic-gate	libbsm		\
3047c478bd9Sstevel@tonic-gate	libc		\
3057c478bd9Sstevel@tonic-gate	libcfgadm	\
306da2e3ebdSchin	libcmd		\
3077c478bd9Sstevel@tonic-gate	libcontract	\
3087c478bd9Sstevel@tonic-gate	libcurses	\
3097c478bd9Sstevel@tonic-gate	libdhcputil	\
310181c2f42Smmusante	libdiskmgt	\
31133343a97Smeem	libdladm	\
312da2e3ebdSchin	libdll		\
313753a6d45SSherry Moore	libgrubmgmt	\
3147c478bd9Sstevel@tonic-gate	libgss		\
315c5c4113dSnw141292	libidmap	\
316dbed73cbSSangeeta Misra	libilb		\
3178002d411SSowmini Varadhan	libinetutil	\
3185c51f124SMoriah Waterland	libinstzones	\
3196e91bba0SGirish Moodalbail	libipadm	\
3206cb35b1cSYuri Pankov	libipmp		\
3216cb35b1cSYuri Pankov	libipsecutil	\
3226cb35b1cSYuri Pankov	libldap5	\
3237c478bd9Sstevel@tonic-gate	libnsl		\
3246ba597c5SAnurag S. Maskey	libnwam		\
3257c478bd9Sstevel@tonic-gate	libpam		\
3267c478bd9Sstevel@tonic-gate	libpicl		\
3275c51f124SMoriah Waterland	libpkg		\
3286cb35b1cSYuri Pankov	libpool		\
329da2e3ebdSchin	libpp		\
3306cb35b1cSYuri Pankov	libreparse	\
3317c478bd9Sstevel@tonic-gate	libsasl		\
3326cb35b1cSYuri Pankov	libscf		\
3337c478bd9Sstevel@tonic-gate	libsecdb	\
3346185db85Sdougm	libshare	\
335da2e3ebdSchin	libshell	\
3367c478bd9Sstevel@tonic-gate	libsldap	\
3377c478bd9Sstevel@tonic-gate	libslp		\
3384bff34e3Sthurlow	libsmbfs	\
3397c478bd9Sstevel@tonic-gate	libsmedia	\
3407c2fbfb3SApril Chin	libsum		\
34145916cd2Sjpk	libtsol		\
3427c478bd9Sstevel@tonic-gate	libuutil	\
3431cb875aeSCathy Zhou	libvrrpadm	\
344911106dfSjm199354	libvscan	\
3457c478bd9Sstevel@tonic-gate	libwanboot	\
3467c478bd9Sstevel@tonic-gate	libwanbootutil	\
347c3aa2a37Sck153898	libzfs		\
3487c478bd9Sstevel@tonic-gate	libzonecfg	\
3497c478bd9Sstevel@tonic-gate	madv		\
3507c478bd9Sstevel@tonic-gate	mpss		\
3517c478bd9Sstevel@tonic-gate	pam_modules	\
352e4d060fbSSam Falkner	pysolaris	\
3536cb35b1cSYuri Pankov	pyzfs		\
3547a286c47SDai Ngo	rpcsec_gss	\
3557c478bd9Sstevel@tonic-gate	$($(MACH)_MSGSUBDIRS)
3567c478bd9Sstevel@tonic-gate
35703831d35Sstevelsparc_MSGSUBDIRS=	\
35803831d35Sstevel	libprtdiag	\
35903831d35Sstevel	libprtdiag_psr
3607c478bd9Sstevel@tonic-gate
361aa1b14e7SSheshadri Vasudevani386_MSGSUBDIRS= libfdisk
362aa1b14e7SSheshadri Vasudevan
363f841f6adSrafHDRSUBDIRS=				\
3646cb35b1cSYuri Pankov	../cmd/sendmail/libmilter	\
3657c478bd9Sstevel@tonic-gate	auditd_plugins	\
3666cb35b1cSYuri Pankov	fm		\
3676cb35b1cSYuri Pankov	hal		\
3686cb35b1cSYuri Pankov	hbaapi		\
369da2e3ebdSchin	libast		\
3709acbbeafSnn35248	libbrand	\
3717c478bd9Sstevel@tonic-gate	libbsm		\
3727c478bd9Sstevel@tonic-gate	libc		\
373da2e3ebdSchin	libcmd		\
3747c478bd9Sstevel@tonic-gate	libcmdutils	\
3756e91bba0SGirish Moodalbail	libcommputil	\
3767c478bd9Sstevel@tonic-gate	libcontract	\
3777c478bd9Sstevel@tonic-gate	libcpc		\
3786cb35b1cSYuri Pankov	libcryptoutil	\
3797c478bd9Sstevel@tonic-gate	libctf		\
3807c478bd9Sstevel@tonic-gate	libcurses	\
3817c478bd9Sstevel@tonic-gate	libdevice	\
3827c478bd9Sstevel@tonic-gate	libdevid	\
3837c478bd9Sstevel@tonic-gate	libdevinfo	\
3846cb35b1cSYuri Pankov	libdhcpagent	\
3856cb35b1cSYuri Pankov	libdhcputil	\
3866cb35b1cSYuri Pankov	libdisasm	\
3873e1bd7a2Ssjelinek	libdiskmgt	\
3887c478bd9Sstevel@tonic-gate	libdladm	\
389da2e3ebdSchin	libdll		\
3907c478bd9Sstevel@tonic-gate	libdlpi		\
3914b22b933Srs200217	libdns_sd	\
392fcf3ce44SJohn Forte	libdscfg	\
3937c478bd9Sstevel@tonic-gate	libdtrace	\
394fb3fb4f3Stomee	libdtrace_jni	\
395df8bdeb3Sjohnz	libelfsign	\
3967c478bd9Sstevel@tonic-gate	libeti		\
397b819cea2SGordon Ross	libfakekernel	\
3986cb35b1cSYuri Pankov	libfcoe		\
399c69f580fSSundeep Panicker	libfru		\
4000e42dee6Sartem	libfstyp	\
4017c478bd9Sstevel@tonic-gate	libgen		\
4026cb35b1cSYuri Pankov	libgrubmgmt	\
4036cb35b1cSYuri Pankov	libidmap	\
4046cb35b1cSYuri Pankov	libilb		\
4056cb35b1cSYuri Pankov	libima		\
4067c478bd9Sstevel@tonic-gate	libinetsvc	\
4077c478bd9Sstevel@tonic-gate	libinetutil	\
40822fb2eebSMoriah Waterland	libinstzones	\
4096cb35b1cSYuri Pankov	libipadm	\
4106cb35b1cSYuri Pankov	libipd		\
4119113a79cSeschrock	libipmi		\
4127c478bd9Sstevel@tonic-gate	libipmp		\
4137c478bd9Sstevel@tonic-gate	libipp		\
4146cb35b1cSYuri Pankov	libipsecutil	\
415a6d42e7dSPeter Dunlap	libiscsit	\
4166cb35b1cSYuri Pankov	libkrb5		\
4177c478bd9Sstevel@tonic-gate	libkstat	\
4187c478bd9Sstevel@tonic-gate	libkvm		\
4197c478bd9Sstevel@tonic-gate	libmail		\
4206cb35b1cSYuri Pankov	libmapid	\
421734b6a94Sdarrenm	libmd		\
4227c478bd9Sstevel@tonic-gate	libmtmalloc	\
4232654012fSReza Sabdar	libndmp		\
424fcf3ce44SJohn Forte	libnsctl	\
42545916cd2Sjpk	libnsl		\
4266cb35b1cSYuri Pankov	libnvpair	\
427b00044a2SJames Carlson	libnwam		\
4287c478bd9Sstevel@tonic-gate	libpam		\
429abc79d9dSRobert Mustacchi	libpcidb	\
4307c478bd9Sstevel@tonic-gate	libpctx		\
4317c478bd9Sstevel@tonic-gate	libpicl		\
4327c478bd9Sstevel@tonic-gate	libpicltree	\
4337c478bd9Sstevel@tonic-gate	libpool		\
434da2e3ebdSchin	libpp		\
4357c478bd9Sstevel@tonic-gate	libproc		\
4363e4f2897Sjc156560	libraidcfg	\
4377c478bd9Sstevel@tonic-gate	librcm		\
438fcf3ce44SJohn Forte	librdc		\
4396cb35b1cSYuri Pankov	libreparse	\
4407c478bd9Sstevel@tonic-gate	librestart	\
4417c478bd9Sstevel@tonic-gate	librpcsvc	\
4427c478bd9Sstevel@tonic-gate	librsm		\
4434eaa4710SRishi Srivatsavai	librstp		\
4447c478bd9Sstevel@tonic-gate	libsasl		\
4456cb35b1cSYuri Pankov	libscf		\
446fa9e4066Sahrens	libsec		\
44748a4016cSRobert Mustacchi	libsff		\
4486cb35b1cSYuri Pankov	libshare	\
449da2e3ebdSchin	libshell	\
4506cb35b1cSYuri Pankov	libsip		\
4517c478bd9Sstevel@tonic-gate	libslp		\
4526cb35b1cSYuri Pankov	libsmbfs	\
4536cb35b1cSYuri Pankov	libsmbios	\
4547c478bd9Sstevel@tonic-gate	libsmedia	\
4556e91bba0SGirish Moodalbail	libsocket	\
456c5c4113dSnw141292	libsqlite	\
457c3a558e7SSue Gleeson	libsrpt		\
458fcf3ce44SJohn Forte	libstmf		\
45945039663SJohn Forte	libstmfproxy	\
4607c2fbfb3SApril Chin	libsum		\
4616cb35b1cSYuri Pankov	libsun_ima	\
4627c478bd9Sstevel@tonic-gate	libsysevent	\
4637c478bd9Sstevel@tonic-gate	libtecla	\
4646cb35b1cSYuri Pankov	libtermcap	\
4657c478bd9Sstevel@tonic-gate	libtnf		\
4667c478bd9Sstevel@tonic-gate	libtnfctl	\
4677c478bd9Sstevel@tonic-gate	libtnfprobe	\
46845916cd2Sjpk	libtsnet	\
46945916cd2Sjpk	libtsol		\
4707c478bd9Sstevel@tonic-gate	libumem		\
471fcf3ce44SJohn Forte	libunistat	\
4727c478bd9Sstevel@tonic-gate	libuutil	\
4736cb35b1cSYuri Pankov	libvolmgt	\
4746cb35b1cSYuri Pankov	libvrrpadm	\
4756cb35b1cSYuri Pankov	libvscan	\
4766e91bba0SGirish Moodalbail	libwanboot	\
4776e91bba0SGirish Moodalbail	libwanbootutil	\
4787c478bd9Sstevel@tonic-gate	libwrap		\
4797c478bd9Sstevel@tonic-gate	libxcurses2	\
480fa9e4066Sahrens	libzfs		\
4814445fffbSMatthew Ahrens	libzfs_core	\
482088e9d47Seschrock	libzfs_jni	\
4837c478bd9Sstevel@tonic-gate	libzoneinfo	\
484efd4c9b6SSteve Lawrence	libzonestat	\
485fcf3ce44SJohn Forte	mpapi		\
4866cb35b1cSYuri Pankov	passwdutil	\
4876cb35b1cSYuri Pankov	pkcs11		\
4886cb35b1cSYuri Pankov	policykit	\
4896cb35b1cSYuri Pankov	scsi		\
4906cb35b1cSYuri Pankov	smbsrv		\
4916cb35b1cSYuri Pankov	smhba		\
4926cb35b1cSYuri Pankov	udapl		\
4937c478bd9Sstevel@tonic-gate	$($(MACH)_HDRSUBDIRS)
4947c478bd9Sstevel@tonic-gate
495964db34dSMark Logani386_HDRSUBDIRS=	\
496702941cdSRichard Lowe	libfdisk	\
497702941cdSRichard Lowe	libsaveargs
498964db34dSMark Logan
4997c478bd9Sstevel@tonic-gatesparc_HDRSUBDIRS=	\
50030588217SMike Christensen	libds		\
50125cf1a30Sjl139090	libdscp		\
502fcf3ce44SJohn Forte	libpri		\
50382629e30SMike Christensen	libv12n		\
504fcf3ce44SJohn Forte	storage
5057c478bd9Sstevel@tonic-gate
5067c478bd9Sstevel@tonic-gateall :=		TARGET= all
5077c478bd9Sstevel@tonic-gatecheck :=	TARGET= check
5087c478bd9Sstevel@tonic-gateclean :=	TARGET= clean
5097c478bd9Sstevel@tonic-gateclobber :=	TARGET= clobber
5107c478bd9Sstevel@tonic-gateinstall :=	TARGET= install
5117c478bd9Sstevel@tonic-gateinstall_h :=	TARGET= install_h
5127c478bd9Sstevel@tonic-gatelint :=		TARGET= lint
5137c478bd9Sstevel@tonic-gate_dc :=		TARGET= _dc
5147c478bd9Sstevel@tonic-gate_msg :=		TARGET= _msg
5157c478bd9Sstevel@tonic-gate
5167c478bd9Sstevel@tonic-gate.KEEP_STATE:
5177c478bd9Sstevel@tonic-gate
5187c478bd9Sstevel@tonic-gate#
5197c478bd9Sstevel@tonic-gate# For the all and install targets, we clearly must respect library
5207c478bd9Sstevel@tonic-gate# dependencies so that the libraries link correctly.  However, for
5217c478bd9Sstevel@tonic-gate# the remaining targets (check, clean, clobber, install_h, lint, _dc
5227c478bd9Sstevel@tonic-gate# and _msg), libraries do not have any dependencies on one another
5237c478bd9Sstevel@tonic-gate# and thus respecting dependencies just slows down the build.
5247c478bd9Sstevel@tonic-gate# As such, for these rules, we use pattern replacement to explicitly
5257c478bd9Sstevel@tonic-gate# avoid triggering the dependency information.  Note that for clean,
5267c478bd9Sstevel@tonic-gate# clobber and lint, we must use $(NOWAIT_SUBDIRS) rather than
5277c478bd9Sstevel@tonic-gate# $(SUBDIRS), to prevent `.WAIT' from expanding to `.WAIT-nodepend'.
5287c478bd9Sstevel@tonic-gate#
5297c478bd9Sstevel@tonic-gate
5307c478bd9Sstevel@tonic-gateall:			$(SUBDIRS)
5317c478bd9Sstevel@tonic-gate
5327c478bd9Sstevel@tonic-gateinstall:		$(SUBDIRS) .WAIT install_extra
5337c478bd9Sstevel@tonic-gate
5347c478bd9Sstevel@tonic-gate# extra libraries kept in other source areas
5357c478bd9Sstevel@tonic-gateinstall_extra:
5367c478bd9Sstevel@tonic-gate	@cd ../cmd/sgs; pwd; $(MAKE) install_lib
5377c478bd9Sstevel@tonic-gate	@pwd
5387c478bd9Sstevel@tonic-gate
5397c478bd9Sstevel@tonic-gateclean clobber lint:	$(NOWAIT_SUBDIRS:%=%-nodepend)
5407c478bd9Sstevel@tonic-gate
5417c478bd9Sstevel@tonic-gateinstall_h check:	$(HDRSUBDIRS:%=%-nodepend)
5427c478bd9Sstevel@tonic-gate
5437c478bd9Sstevel@tonic-gate_msg:			$(MSGSUBDIRS:%=%-nodepend) .WAIT _dc
5447c478bd9Sstevel@tonic-gate
5457c478bd9Sstevel@tonic-gate_dc:			$(DCSUBDIRS:%=%-nodepend)
5467c478bd9Sstevel@tonic-gate
5476cb35b1cSYuri Pankov# Library interdependencies are called out explicitly here.
5486cb35b1cSYuri Pankov../cmd/sgs/libconv: common
5496cb35b1cSYuri Pankov../cmd/sgs/libdl: common
5506cb35b1cSYuri Pankovlibc:		../cmd/sgs/libconv ../cmd/sgs/libdl
5516cb35b1cSYuri Pankov
5526cb35b1cSYuri Pankovlibm:		libc
5536cb35b1cSYuri Pankovlibmd:		libc
5546cb35b1cSYuri Pankovlibmp:		libc
5556cb35b1cSYuri Pankovlibnsl:		libc libmd libmp
5566cb35b1cSYuri Pankovlibnvpair:	libc libnsl
5576cb35b1cSYuri Pankovlibsocket:	libc libnsl
5586cb35b1cSYuri Pankov
5596cb35b1cSYuri Pankovbasedeps:	libc libm libmd libmp libnsl libnvpair libsocket
5606cb35b1cSYuri Pankovbasedeps :=	TARGET=install
5616cb35b1cSYuri Pankov
5626cb35b1cSYuri Pankov# The following dependencies don't need to be listed below as they are built
5636cb35b1cSYuri Pankov# before everything else:
5646cb35b1cSYuri Pankov# libc libm libmd libmp libnsl libnvpair libsocket
5656cb35b1cSYuri Pankovabi:		libctf libmapmalloc libproc
5666cb35b1cSYuri Pankovauditd_plugins: libbsm libsecdb libgss libmtmalloc
5676cb35b1cSYuri Pankovbrand:		libzonecfg libmapmalloc
5686cb35b1cSYuri Pankovcfgadm_plugins:	libdevice libdevinfo libhotplug librcm hbaapi libkstat libscf
5696cb35b1cSYuri Pankovfm:		libexacct libipmi libzfs scsi libdevinfo libdevid libcfgadm \
57048a4016cSRobert Mustacchi		libcontract libsysevent ../cmd/sgs/libelf libdladm
5716cb35b1cSYuri Pankov$(SPARC_BLD)fm:	libpri
5726cb35b1cSYuri Pankovgss_mechs/mech_dh: libgss
5736cb35b1cSYuri Pankovgss_mechs/mech_dummy: libgss
5746cb35b1cSYuri Pankovgss_mechs/mech_krb5: libgss libresolv2 pkcs11 libkstat
5759c7136ddSGary Millsgss_mechs/mech_spnego: gss_mechs/mech_krb5
5766cb35b1cSYuri Pankovkrb5:		gss_mechs/mech_krb5 libtecla libldap5
5777c478bd9Sstevel@tonic-gatelibadt_jni:	libbsm
5786cb35b1cSYuri Pankovlibadutils: 	libldap5 libresolv2
5796cb35b1cSYuri Pankovlibbe: 		libzfs libinstzones libuuid libgen libdevinfo libefi
5806cb35b1cSYuri Pankovlibbsm:		libinetutil libscf libsecdb libtsol
5816cb35b1cSYuri Pankovlibcfgadm:	libdevinfo
5826cb35b1cSYuri Pankovlibcmd: 	libsum libast
5836cb35b1cSYuri Pankovlibcmdutils:	libavl
5846cb35b1cSYuri Pankovlibcpc:		libpctx
5856cb35b1cSYuri Pankovlibcrypt:	libgen
5867c478bd9Sstevel@tonic-gatelibdevid:	libdevinfo
5876cb35b1cSYuri Pankovlibdevinfo:	libsec libgen
5886cb35b1cSYuri Pankovlibdhcpagent:	libdhcputil libuuid libdlpi libcontract
5896cb35b1cSYuri Pankovlibdhcputil:	libgen libinetutil libdlpi
5906cb35b1cSYuri Pankovlibdiskmgt:	libdevid libdevinfo libadm libefi libkstat libsysevent
5916cb35b1cSYuri Pankov$(INTEL_BLD)libdiskmgt: libfdisk
5926cb35b1cSYuri Pankovlibdladm:	libdevinfo libinetutil libscf librcm libexacct libkstat \
5936cb35b1cSYuri Pankov		libpool
594da2e3ebdSchinlibdll: 	libast
595d62bc4baSyz147064libdlpi:	libinetutil libdladm
59682629e30SMike Christensenlibds:		libsysevent
5976cb35b1cSYuri Pankovlibdscfg:	libnsctl libunistat libadm
5989c7136ddSGary Millslibdtrace:	libproc libgen libctf libmapmalloc
599fb3fb4f3Stomeelibdtrace_jni:	libuutil libdtrace
6007c478bd9Sstevel@tonic-gatelibefi:		libuuid
6016cb35b1cSYuri Pankovlibelfsign:	libcryptoutil libkmf ../cmd/sgs/libelf
6026cb35b1cSYuri Pankovlibeti:		libcurses
6036cb35b1cSYuri Pankovlibexacct/demo:	libexacct libproject
6046cb35b1cSYuri Pankovlibfakekernel:	libumem libcryptoutil
6059c7136ddSGary Millslibfcoe:	libdladm
606ac88567aSHyon Kimlibfru:		libfruutils
6076cb35b1cSYuri Pankovlibfsmgt:	libkstat
6086cb35b1cSYuri Pankovlibgrubmgmt:	libdevinfo libzfs libfstyp libefi
6096cb35b1cSYuri Pankov$(INTEL_BLD)libgrubmgmt: libfdisk
6106cb35b1cSYuri Pankovlibidmap:	libavl libuutil
6116cb35b1cSYuri Pankovlibinetsvc:	libscf
6126cb35b1cSYuri Pankovlibinstzones:	libzonecfg libcontract
6136cb35b1cSYuri Pankovlibipadm:	libinetutil libdlpi libdhcpagent libdladm libsecdb
6146cb35b1cSYuri Pankovlibipmp:	libinetutil
6156cb35b1cSYuri Pankovlibipsecutil:	libtecla libtsol
6166cb35b1cSYuri Pankovlibiscsit:	libstmf libuuid
6176cb35b1cSYuri Pankovlibkmf:		libcryptoutil pkcs11
6186cb35b1cSYuri Pankovlibkvm:		../cmd/sgs/libelf
6196cb35b1cSYuri Pankovlibldap5:	libsasl
6206cb35b1cSYuri Pankovlibmapid:	libresolv2 libscf
6216cb35b1cSYuri Pankovlibndmp:	libscf
6226cb35b1cSYuri Pankovlibnisdb:	libldap5
6236cb35b1cSYuri Pankovlibnwam:	libscf libbsm libdladm
6246cb35b1cSYuri Pankovlibpcp:		libumem libdevinfo
6256cb35b1cSYuri Pankovlibpctx:	libproc
6266cb35b1cSYuri Pankovlibpkg:		libwanboot libscf libadm
6276cb35b1cSYuri Pankovlibpool:	libscf libexacct
6286cb35b1cSYuri Pankovlibpp:		libast
6296cb35b1cSYuri Pankovlibproc:	../cmd/sgs/librtld_db ../cmd/sgs/libelf libctf
6306cb35b1cSYuri Pankov$(INTEL_BLD)libproc: libsaveargs
6316cb35b1cSYuri Pankovlibproject:	libpool libproc libsecdb
6326cb35b1cSYuri Pankovlibprtdiag:	libkstat
6336cb35b1cSYuri Pankovlibprtdiag_psr:	libprtdiag
6346cb35b1cSYuri Pankovlibraidcfg:	libdevinfo
6356cb35b1cSYuri Pankovlibrdc:		libnsctl libunistat libdscfg
6366cb35b1cSYuri Pankovlibrestart:	libuutil libscf libpool libproject libsecdb libsysevent
6376cb35b1cSYuri Pankovlibsasl:	libgss pkcs11
6386cb35b1cSYuri Pankovlibsaveargs:	libdisasm
6396cb35b1cSYuri Pankovlibscf:		libuutil libgen libsmbios
6406cb35b1cSYuri Pankovlibsec:		libavl libidmap
64148a4016cSRobert Mustacchilibsff:		libnvpair
6426cb35b1cSYuri Pankovlibshare:	libscf libzfs libuuid libfsmgt libsecdb libumem libsmbfs
6436cb35b1cSYuri Pankovlibshell:	libast libcmd libdll libsecdb
6446cb35b1cSYuri Pankovlibsip:		libmd5
6456cb35b1cSYuri Pankovlibsldap:	libldap5 libscf
6466cb35b1cSYuri Pankovlibsmbfs:	libkrb5 libsec libidmap pkcs11
647af349cd6SToomas Soomelibsmbios:	libdevinfo
6486cb35b1cSYuri Pankovlibsrpt:	libstmf
6496cb35b1cSYuri Pankovlibstmf:	libscf
6506cb35b1cSYuri Pankovlibstmfproxy: 	libstmf libpthread
6516cb35b1cSYuri Pankovlibsum: 	libast
6526cb35b1cSYuri Pankovlibsun_ima:	libdevinfo libsysevent
6536cb35b1cSYuri Pankovlibsysevent:	libsecdb
6546cb35b1cSYuri Pankovlibtecla:	libcurses
6556cb35b1cSYuri Pankovlibtermcap:	libcurses
6566cb35b1cSYuri Pankovlibtnfctl:	../cmd/sgs/libelf
6576cb35b1cSYuri Pankovlibtsalarm:	libpcp
6586cb35b1cSYuri Pankovlibtsnet:	libtsol libsecdb
6596cb35b1cSYuri Pankovlibtsol:	libsecdb
6606cb35b1cSYuri Pankovlibuuid:	libdlpi
6616cb35b1cSYuri Pankovlibv12n:	libds libuuid
6626cb35b1cSYuri Pankovlibvolmgt:	libadm
6636cb35b1cSYuri Pankovlibvrrpadm:	libdladm libscf
6646cb35b1cSYuri Pankovlibvscan:	libscf libsecdb
6656cb35b1cSYuri Pankovlibwanboot:	libresolv2 libdevinfo libinetutil libdhcputil
6666cb35b1cSYuri Pankovlibzfs:		libdevid libgen libuutil libadm libavl libefi libidmap \
6676cb35b1cSYuri Pankov		libumem libtsol libzfs_core
6686cb35b1cSYuri Pankovlibzfs_jni:	libdiskmgt libzfs
6696cb35b1cSYuri Pankovlibzonecfg:	libuuid libsysevent libsec libbrand libpool libscf libproc \
6706cb35b1cSYuri Pankov		libuutil libbsm libsecdb
6716cb35b1cSYuri Pankovlibzonestat:	libcmdutils libumem
6726cb35b1cSYuri Pankovlibzpool:	libavl libumem libcmdutils libsysevent
6736cb35b1cSYuri Pankovmadv:		libgen
6746cb35b1cSYuri Pankovmpapi:		libpthread libdevinfo libsysevent
6756cb35b1cSYuri Pankovmpss:		libgen
6766cb35b1cSYuri Pankovnsswitch:	libadutils libidmap libdns_sd libscf libldap5 libsldap
6776cb35b1cSYuri Pankovpam_modules:	libproject passwdutil smbsrv libtsnet libpam libbsm libsecdb
6786cb35b1cSYuri Pankovpasswdutil:	libsldap
6796cb35b1cSYuri Pankovpkcs11:		libcryptoutil libgen libuuid
6806cb35b1cSYuri Pankovpolicykit:	libsecdb
6816cb35b1cSYuri Pankovprint:		libldap5 libmd5 libsendfile
682f169c0eaSGlenn Lagassepylibbe: 	libbe libzfs
683e4d060fbSSam Falknerpysolaris:	libsec libidmap
6846cb35b1cSYuri Pankovpyzfs:		libzfs
6856cb35b1cSYuri Pankovraidcfg_plugins: libraidcfg librcm libcfgadm libpicl libpicltree
6866cb35b1cSYuri Pankovrpcsec_gss:	libgss
6876cb35b1cSYuri Pankovsasl_plugins:	pkcs11 libgss libsasl
6889001d209SYuri Pankovscsi:		libfru libumem libdevid libdevinfo
6896cb35b1cSYuri Pankovsmbsrv:		libxnet libpthread librt libshare libidmap pkcs11 libsqlite \
6906cb35b1cSYuri Pankov		libcryptoutil libreparse libcmdutils libresolv2 libsmbfs \
6916cb35b1cSYuri Pankov		libuuid libfakekernel libgss libldap5 krb5
6926cb35b1cSYuri Pankovstorage:	libdevice libdevinfo libdevid
6936cb35b1cSYuri Pankovsun_fc:		libdevinfo libsysevent
6946cb35b1cSYuri Pankovsun_sas:	libdevinfo libsysevent libkstat libdevid
6956cb35b1cSYuri Pankovudapl:		libdevinfo libdladm
6967c478bd9Sstevel@tonic-gate
6977c478bd9Sstevel@tonic-gate#
6987c478bd9Sstevel@tonic-gate# The reason this rule checks for the existence of the
6997c478bd9Sstevel@tonic-gate# Makefile is that some of the directories do not exist
700fb9f9b97Skupfer# in certain situations (e.g., exportable source builds,
701fb9f9b97Skupfer# OpenSolaris).
7027c478bd9Sstevel@tonic-gate#
703f808c858Sraf$(SUBDIRS): FRC
7047c478bd9Sstevel@tonic-gate	@if [ -f $@/Makefile  ]; then \
7057c478bd9Sstevel@tonic-gate		cd $@; pwd; $(MAKE) $(TARGET); \
7067c478bd9Sstevel@tonic-gate	else \
7077c478bd9Sstevel@tonic-gate		true; \
7087c478bd9Sstevel@tonic-gate	fi
7097c478bd9Sstevel@tonic-gate
710f808c858Sraf$(SUBDIRS:%=%-nodepend):
7117c478bd9Sstevel@tonic-gate	@if [ -f $(@:%-nodepend=%)/Makefile  ]; then \
7127c478bd9Sstevel@tonic-gate		cd $(@:%-nodepend=%); pwd; $(MAKE) $(TARGET); \
7137c478bd9Sstevel@tonic-gate	else \
7147c478bd9Sstevel@tonic-gate		true; \
7157c478bd9Sstevel@tonic-gate	fi
7167c478bd9Sstevel@tonic-gate
7177c478bd9Sstevel@tonic-gateFRC:
718