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 29*c5cd3237SYuri Pankov# Copyright 2017 Nexenta Systems, Inc. 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 \ 104e01ec5d5SJason King libcustr \ 1056cb35b1cSYuri Pankov libdevice \ 1066cb35b1cSYuri Pankov libdevid \ 1076cb35b1cSYuri Pankov libdevinfo \ 1086cb35b1cSYuri Pankov libdhcpagent \ 1096cb35b1cSYuri Pankov libdhcputil \ 1106cb35b1cSYuri Pankov libdisasm \ 1116cb35b1cSYuri Pankov libdiskmgt \ 1126cb35b1cSYuri Pankov libdladm \ 1136cb35b1cSYuri Pankov libdll \ 1146cb35b1cSYuri Pankov libdlpi \ 1156cb35b1cSYuri Pankov libdns_sd \ 1166cb35b1cSYuri Pankov libdoor \ 1176cb35b1cSYuri Pankov libdscfg \ 1187c478bd9Sstevel@tonic-gate libdtrace \ 119fb3fb4f3Stomee libdtrace_jni \ 1207c478bd9Sstevel@tonic-gate libefi \ 1216cb35b1cSYuri Pankov libelfsign \ 1226cb35b1cSYuri Pankov libeti \ 1236cb35b1cSYuri Pankov libexacct \ 1246cb35b1cSYuri Pankov libexacct/demo \ 1256cb35b1cSYuri Pankov libfakekernel \ 1266cb35b1cSYuri Pankov libfcoe \ 1276cb35b1cSYuri Pankov libfru \ 1286cb35b1cSYuri Pankov libfruutils \ 1296cb35b1cSYuri Pankov libfsmgt \ 1300e42dee6Sartem libfstyp \ 1316cb35b1cSYuri Pankov libgen \ 1326cb35b1cSYuri Pankov libgrubmgmt \ 1336cb35b1cSYuri Pankov libgss \ 1346cb35b1cSYuri Pankov libhotplug \ 1356cb35b1cSYuri Pankov libidmap \ 1366cb35b1cSYuri Pankov libilb \ 1376cb35b1cSYuri Pankov libima \ 1386cb35b1cSYuri Pankov libinetsvc \ 1397c478bd9Sstevel@tonic-gate libinetutil \ 1406cb35b1cSYuri Pankov libinstzones \ 1416cb35b1cSYuri Pankov libintl \ 1426e91bba0SGirish Moodalbail libipadm \ 143fe77cc04SRobert Mustacchi libipd \ 1446cb35b1cSYuri Pankov libipmi \ 1457c478bd9Sstevel@tonic-gate libipmp \ 1466cb35b1cSYuri Pankov libipp \ 1476cb35b1cSYuri Pankov libipsecutil \ 148a6d42e7dSPeter Dunlap libiscsit \ 149a60349c8SRobert Mustacchi libjedec \ 15099ebb4caSwyllys libkmf \ 1516cb35b1cSYuri Pankov libkrb5 \ 1527c478bd9Sstevel@tonic-gate libkstat \ 1537c478bd9Sstevel@tonic-gate libkvm \ 1547c478bd9Sstevel@tonic-gate libldap5 \ 1556cb35b1cSYuri Pankov liblgrp \ 1566cb35b1cSYuri Pankov liblm \ 1576cb35b1cSYuri Pankov libm1 \ 1586cb35b1cSYuri Pankov libmail \ 1596cb35b1cSYuri Pankov libmalloc \ 1606cb35b1cSYuri Pankov libmapid \ 1616cb35b1cSYuri Pankov libmapmalloc \ 1626cb35b1cSYuri Pankov libmd5 \ 1636cb35b1cSYuri Pankov libmtmalloc \ 1646cb35b1cSYuri Pankov libmvec \ 1656cb35b1cSYuri Pankov libndmp \ 1667c478bd9Sstevel@tonic-gate libnisdb \ 1676cb35b1cSYuri Pankov libnls \ 1686cb35b1cSYuri Pankov libnsctl \ 1696cb35b1cSYuri Pankov libnwam \ 1706cb35b1cSYuri Pankov libpam \ 1716cb35b1cSYuri Pankov libpcidb \ 1726cb35b1cSYuri Pankov libpctx \ 1736cb35b1cSYuri Pankov libpicl \ 1746cb35b1cSYuri Pankov libpicltree \ 1756cb35b1cSYuri Pankov libpkg \ 1767c478bd9Sstevel@tonic-gate libpool \ 177da2e3ebdSchin libpp \ 1787c478bd9Sstevel@tonic-gate libproc \ 1797c478bd9Sstevel@tonic-gate libproject \ 1806cb35b1cSYuri Pankov libpthread \ 1816cb35b1cSYuri Pankov libraidcfg \ 1826cb35b1cSYuri Pankov librcm \ 1836cb35b1cSYuri Pankov librdc \ 1846cb35b1cSYuri Pankov libreparse \ 1856cb35b1cSYuri Pankov libresolv \ 1866cb35b1cSYuri Pankov libresolv2 \ 1876cb35b1cSYuri Pankov librestart \ 1886cb35b1cSYuri Pankov librpcsvc \ 1896cb35b1cSYuri Pankov librsm \ 1906cb35b1cSYuri Pankov librstp \ 1916cb35b1cSYuri Pankov librt \ 1926cb35b1cSYuri Pankov libsasl \ 1936cb35b1cSYuri Pankov libscf \ 1946cb35b1cSYuri Pankov libsched \ 1956cb35b1cSYuri Pankov libsctp \ 1966cb35b1cSYuri Pankov libsec \ 1976cb35b1cSYuri Pankov libsecdb \ 1987c478bd9Sstevel@tonic-gate libsendfile \ 19948a4016cSRobert Mustacchi libsff \ 2006cb35b1cSYuri Pankov libshare \ 2016cb35b1cSYuri Pankov libshell \ 2026cb35b1cSYuri Pankov libsip \ 2036cb35b1cSYuri Pankov libsldap \ 2046cb35b1cSYuri Pankov libslp \ 205fcf3ce44SJohn Forte libsmbfs \ 2066cb35b1cSYuri Pankov libsmbios \ 2076cb35b1cSYuri Pankov libsmedia \ 2086cb35b1cSYuri Pankov libsqlite \ 209c3a558e7SSue Gleeson libsrpt \ 210fcf3ce44SJohn Forte libstmf \ 21145039663SJohn Forte libstmfproxy \ 2126cb35b1cSYuri Pankov libsum \ 2136cb35b1cSYuri Pankov libsun_ima \ 2146cb35b1cSYuri Pankov libsys \ 2156cb35b1cSYuri Pankov libsysevent \ 2166cb35b1cSYuri Pankov libtecla \ 2176cb35b1cSYuri Pankov libtermcap \ 2186cb35b1cSYuri Pankov libthread \ 2197c478bd9Sstevel@tonic-gate libtnf \ 2207c478bd9Sstevel@tonic-gate libtnfctl \ 2216cb35b1cSYuri Pankov libtnfprobe \ 2226cb35b1cSYuri Pankov libtsnet \ 2236cb35b1cSYuri Pankov libtsol \ 2246cb35b1cSYuri Pankov libumem \ 2256cb35b1cSYuri Pankov libunistat \ 2266cb35b1cSYuri Pankov libuuid \ 2277c478bd9Sstevel@tonic-gate libuutil \ 2286cb35b1cSYuri Pankov libvolmgt \ 2296cb35b1cSYuri Pankov libvrrpadm \ 2306cb35b1cSYuri Pankov libvscan \ 2316cb35b1cSYuri Pankov libw \ 2326cb35b1cSYuri Pankov libwanboot \ 2336cb35b1cSYuri Pankov libwanbootutil \ 2347c478bd9Sstevel@tonic-gate libwrap \ 2357c478bd9Sstevel@tonic-gate libxcurses \ 2367c478bd9Sstevel@tonic-gate libxcurses2 \ 2376cb35b1cSYuri Pankov libxnet \ 2386cb35b1cSYuri Pankov libzfs \ 2396cb35b1cSYuri Pankov libzfs_core \ 2406cb35b1cSYuri Pankov libzfs_jni \ 2417c478bd9Sstevel@tonic-gate libzonecfg \ 2427c478bd9Sstevel@tonic-gate libzoneinfo \ 243efd4c9b6SSteve Lawrence libzonestat \ 244fa9e4066Sahrens libzpool \ 2456cb35b1cSYuri Pankov madv \ 246fcf3ce44SJohn Forte mpapi \ 2476cb35b1cSYuri Pankov mpss \ 2486cb35b1cSYuri Pankov nametoaddr \ 2496cb35b1cSYuri Pankov ncad_addr \ 2506cb35b1cSYuri Pankov nsswitch \ 2516cb35b1cSYuri Pankov pam_modules \ 2526cb35b1cSYuri Pankov passwdutil \ 2536cb35b1cSYuri Pankov pkcs11 \ 2546cb35b1cSYuri Pankov policykit \ 2556cb35b1cSYuri Pankov print \ 2566cb35b1cSYuri Pankov pylibbe \ 2576cb35b1cSYuri Pankov pysolaris \ 2586cb35b1cSYuri Pankov pyzfs \ 2596cb35b1cSYuri Pankov raidcfg_plugins \ 2606cb35b1cSYuri Pankov rpcsec_gss \ 2616cb35b1cSYuri Pankov sasl_plugins \ 2626cb35b1cSYuri Pankov scsi \ 2636cb35b1cSYuri Pankov smbsrv \ 2646cb35b1cSYuri Pankov smhba \ 2656cb35b1cSYuri Pankov sun_fc \ 2666cb35b1cSYuri Pankov sun_sas \ 2676cb35b1cSYuri Pankov udapl \ 2686cb35b1cSYuri Pankov watchmalloc \ 2697c478bd9Sstevel@tonic-gate $($(MACH)_SUBDIRS) 2707c478bd9Sstevel@tonic-gate 2717e7bd3dcSMark Logani386_SUBDIRS= \ 272702941cdSRichard Lowe libfdisk \ 273702941cdSRichard Lowe libsaveargs 2747e7bd3dcSMark Logan 2756cb35b1cSYuri Pankovsparc_SUBDIRS= \ 2767c478bd9Sstevel@tonic-gate efcode \ 27730588217SMike Christensen libds \ 27825cf1a30Sjl139090 libdscp \ 2796cb35b1cSYuri Pankov libprtdiag \ 28003831d35Sstevel libprtdiag_psr \ 281ef884685Srb144127 libpri \ 28203831d35Sstevel librsc \ 2837c478bd9Sstevel@tonic-gate storage \ 2844a6822d0Swillard libpcp \ 28582629e30SMike Christensen libtsalarm \ 28682629e30SMike Christensen libv12n 2877c478bd9Sstevel@tonic-gate 2887c478bd9Sstevel@tonic-gate# 2897c478bd9Sstevel@tonic-gate# Create a special version of $(SUBDIRS) with no .WAIT's, for use with the 2907c478bd9Sstevel@tonic-gate# clean and clobber targets (for more information, see those targets, below). 2917c478bd9Sstevel@tonic-gate# 2927c478bd9Sstevel@tonic-gateNOWAIT_SUBDIRS= $(SUBDIRS:.WAIT=) 2937c478bd9Sstevel@tonic-gate 29422ca5ebaSYuri PankovDCSUBDIRS= 2957c478bd9Sstevel@tonic-gate 2967c478bd9Sstevel@tonic-gateMSGSUBDIRS= \ 2977c478bd9Sstevel@tonic-gate abi \ 2987c478bd9Sstevel@tonic-gate auditd_plugins \ 2999acbbeafSnn35248 brand \ 3007c478bd9Sstevel@tonic-gate cfgadm_plugins \ 3017c478bd9Sstevel@tonic-gate gss_mechs/mech_dh \ 3027c478bd9Sstevel@tonic-gate gss_mechs/mech_krb5 \ 3037c478bd9Sstevel@tonic-gate krb5 \ 304da2e3ebdSchin libast \ 3057c478bd9Sstevel@tonic-gate libbsm \ 3067c478bd9Sstevel@tonic-gate libc \ 3077c478bd9Sstevel@tonic-gate libcfgadm \ 308da2e3ebdSchin libcmd \ 3097c478bd9Sstevel@tonic-gate libcontract \ 3107c478bd9Sstevel@tonic-gate libcurses \ 3117c478bd9Sstevel@tonic-gate libdhcputil \ 312181c2f42Smmusante libdiskmgt \ 31333343a97Smeem libdladm \ 314da2e3ebdSchin libdll \ 315753a6d45SSherry Moore libgrubmgmt \ 3167c478bd9Sstevel@tonic-gate libgss \ 317c5c4113dSnw141292 libidmap \ 318dbed73cbSSangeeta Misra libilb \ 3198002d411SSowmini Varadhan libinetutil \ 3205c51f124SMoriah Waterland libinstzones \ 3216e91bba0SGirish Moodalbail libipadm \ 3226cb35b1cSYuri Pankov libipmp \ 3236cb35b1cSYuri Pankov libipsecutil \ 3246cb35b1cSYuri Pankov libldap5 \ 3257c478bd9Sstevel@tonic-gate libnsl \ 3266ba597c5SAnurag S. Maskey libnwam \ 3277c478bd9Sstevel@tonic-gate libpam \ 3287c478bd9Sstevel@tonic-gate libpicl \ 3295c51f124SMoriah Waterland libpkg \ 3306cb35b1cSYuri Pankov libpool \ 331da2e3ebdSchin libpp \ 3326cb35b1cSYuri Pankov libreparse \ 3337c478bd9Sstevel@tonic-gate libsasl \ 3346cb35b1cSYuri Pankov libscf \ 3357c478bd9Sstevel@tonic-gate libsecdb \ 3366185db85Sdougm libshare \ 337da2e3ebdSchin libshell \ 3387c478bd9Sstevel@tonic-gate libsldap \ 3397c478bd9Sstevel@tonic-gate libslp \ 3404bff34e3Sthurlow libsmbfs \ 3417c478bd9Sstevel@tonic-gate libsmedia \ 3427c2fbfb3SApril Chin libsum \ 34345916cd2Sjpk libtsol \ 3447c478bd9Sstevel@tonic-gate libuutil \ 3451cb875aeSCathy Zhou libvrrpadm \ 346911106dfSjm199354 libvscan \ 3477c478bd9Sstevel@tonic-gate libwanboot \ 3487c478bd9Sstevel@tonic-gate libwanbootutil \ 349c3aa2a37Sck153898 libzfs \ 3507c478bd9Sstevel@tonic-gate libzonecfg \ 3517c478bd9Sstevel@tonic-gate madv \ 3527c478bd9Sstevel@tonic-gate mpss \ 3537c478bd9Sstevel@tonic-gate pam_modules \ 354e4d060fbSSam Falkner pysolaris \ 3556cb35b1cSYuri Pankov pyzfs \ 3567a286c47SDai Ngo rpcsec_gss \ 3577c478bd9Sstevel@tonic-gate $($(MACH)_MSGSUBDIRS) 3587c478bd9Sstevel@tonic-gate 35903831d35Sstevelsparc_MSGSUBDIRS= \ 36003831d35Sstevel libprtdiag \ 36103831d35Sstevel libprtdiag_psr 3627c478bd9Sstevel@tonic-gate 363aa1b14e7SSheshadri Vasudevani386_MSGSUBDIRS= libfdisk 364aa1b14e7SSheshadri Vasudevan 365f841f6adSrafHDRSUBDIRS= \ 3666cb35b1cSYuri Pankov ../cmd/sendmail/libmilter \ 3677c478bd9Sstevel@tonic-gate auditd_plugins \ 3686cb35b1cSYuri Pankov fm \ 3696cb35b1cSYuri Pankov hal \ 3706cb35b1cSYuri Pankov hbaapi \ 371da2e3ebdSchin libast \ 3729acbbeafSnn35248 libbrand \ 3737c478bd9Sstevel@tonic-gate libbsm \ 3747c478bd9Sstevel@tonic-gate libc \ 375da2e3ebdSchin libcmd \ 3767c478bd9Sstevel@tonic-gate libcmdutils \ 3776e91bba0SGirish Moodalbail libcommputil \ 3787c478bd9Sstevel@tonic-gate libcontract \ 3797c478bd9Sstevel@tonic-gate libcpc \ 3806cb35b1cSYuri Pankov libcryptoutil \ 3817c478bd9Sstevel@tonic-gate libctf \ 3827c478bd9Sstevel@tonic-gate libcurses \ 383e01ec5d5SJason King libcustr \ 3847c478bd9Sstevel@tonic-gate libdevice \ 3857c478bd9Sstevel@tonic-gate libdevid \ 3867c478bd9Sstevel@tonic-gate libdevinfo \ 3876cb35b1cSYuri Pankov libdhcpagent \ 3886cb35b1cSYuri Pankov libdhcputil \ 3896cb35b1cSYuri Pankov libdisasm \ 3903e1bd7a2Ssjelinek libdiskmgt \ 3917c478bd9Sstevel@tonic-gate libdladm \ 392da2e3ebdSchin libdll \ 3937c478bd9Sstevel@tonic-gate libdlpi \ 3944b22b933Srs200217 libdns_sd \ 395fcf3ce44SJohn Forte libdscfg \ 3967c478bd9Sstevel@tonic-gate libdtrace \ 397fb3fb4f3Stomee libdtrace_jni \ 398df8bdeb3Sjohnz libelfsign \ 3997c478bd9Sstevel@tonic-gate libeti \ 400b819cea2SGordon Ross libfakekernel \ 4016cb35b1cSYuri Pankov libfcoe \ 402c69f580fSSundeep Panicker libfru \ 4030e42dee6Sartem libfstyp \ 4047c478bd9Sstevel@tonic-gate libgen \ 4056cb35b1cSYuri Pankov libgrubmgmt \ 4066cb35b1cSYuri Pankov libidmap \ 4076cb35b1cSYuri Pankov libilb \ 4086cb35b1cSYuri Pankov libima \ 4097c478bd9Sstevel@tonic-gate libinetsvc \ 4107c478bd9Sstevel@tonic-gate libinetutil \ 41122fb2eebSMoriah Waterland libinstzones \ 4126cb35b1cSYuri Pankov libipadm \ 4136cb35b1cSYuri Pankov libipd \ 4149113a79cSeschrock libipmi \ 4157c478bd9Sstevel@tonic-gate libipmp \ 4167c478bd9Sstevel@tonic-gate libipp \ 4176cb35b1cSYuri Pankov libipsecutil \ 418a6d42e7dSPeter Dunlap libiscsit \ 4196cb35b1cSYuri Pankov libkrb5 \ 4207c478bd9Sstevel@tonic-gate libkstat \ 4217c478bd9Sstevel@tonic-gate libkvm \ 4227c478bd9Sstevel@tonic-gate libmail \ 4236cb35b1cSYuri Pankov libmapid \ 424734b6a94Sdarrenm libmd \ 4257c478bd9Sstevel@tonic-gate libmtmalloc \ 4262654012fSReza Sabdar libndmp \ 427fcf3ce44SJohn Forte libnsctl \ 42845916cd2Sjpk libnsl \ 4296cb35b1cSYuri Pankov libnvpair \ 430b00044a2SJames Carlson libnwam \ 4317c478bd9Sstevel@tonic-gate libpam \ 432abc79d9dSRobert Mustacchi libpcidb \ 4337c478bd9Sstevel@tonic-gate libpctx \ 4347c478bd9Sstevel@tonic-gate libpicl \ 4357c478bd9Sstevel@tonic-gate libpicltree \ 4367c478bd9Sstevel@tonic-gate libpool \ 437da2e3ebdSchin libpp \ 4387c478bd9Sstevel@tonic-gate libproc \ 4393e4f2897Sjc156560 libraidcfg \ 4407c478bd9Sstevel@tonic-gate librcm \ 441fcf3ce44SJohn Forte librdc \ 4426cb35b1cSYuri Pankov libreparse \ 4437c478bd9Sstevel@tonic-gate librestart \ 4447c478bd9Sstevel@tonic-gate librpcsvc \ 4457c478bd9Sstevel@tonic-gate librsm \ 4464eaa4710SRishi Srivatsavai librstp \ 4477c478bd9Sstevel@tonic-gate libsasl \ 4486cb35b1cSYuri Pankov libscf \ 449fa9e4066Sahrens libsec \ 45048a4016cSRobert Mustacchi libsff \ 4516cb35b1cSYuri Pankov libshare \ 452da2e3ebdSchin libshell \ 4536cb35b1cSYuri Pankov libsip \ 4547c478bd9Sstevel@tonic-gate libslp \ 4556cb35b1cSYuri Pankov libsmbfs \ 4566cb35b1cSYuri Pankov libsmbios \ 4577c478bd9Sstevel@tonic-gate libsmedia \ 4586e91bba0SGirish Moodalbail libsocket \ 459c5c4113dSnw141292 libsqlite \ 460c3a558e7SSue Gleeson libsrpt \ 461fcf3ce44SJohn Forte libstmf \ 46245039663SJohn Forte libstmfproxy \ 4637c2fbfb3SApril Chin libsum \ 4646cb35b1cSYuri Pankov libsun_ima \ 4657c478bd9Sstevel@tonic-gate libsysevent \ 4667c478bd9Sstevel@tonic-gate libtecla \ 4676cb35b1cSYuri Pankov libtermcap \ 4687c478bd9Sstevel@tonic-gate libtnf \ 4697c478bd9Sstevel@tonic-gate libtnfctl \ 4707c478bd9Sstevel@tonic-gate libtnfprobe \ 47145916cd2Sjpk libtsnet \ 47245916cd2Sjpk libtsol \ 4737c478bd9Sstevel@tonic-gate libumem \ 474fcf3ce44SJohn Forte libunistat \ 4757c478bd9Sstevel@tonic-gate libuutil \ 4766cb35b1cSYuri Pankov libvolmgt \ 4776cb35b1cSYuri Pankov libvrrpadm \ 4786cb35b1cSYuri Pankov libvscan \ 4796e91bba0SGirish Moodalbail libwanboot \ 4806e91bba0SGirish Moodalbail libwanbootutil \ 4817c478bd9Sstevel@tonic-gate libwrap \ 4827c478bd9Sstevel@tonic-gate libxcurses2 \ 483fa9e4066Sahrens libzfs \ 4844445fffbSMatthew Ahrens libzfs_core \ 485088e9d47Seschrock libzfs_jni \ 4867c478bd9Sstevel@tonic-gate libzoneinfo \ 487efd4c9b6SSteve Lawrence libzonestat \ 488fcf3ce44SJohn Forte mpapi \ 4896cb35b1cSYuri Pankov passwdutil \ 4906cb35b1cSYuri Pankov pkcs11 \ 4916cb35b1cSYuri Pankov policykit \ 4926cb35b1cSYuri Pankov scsi \ 4936cb35b1cSYuri Pankov smbsrv \ 4946cb35b1cSYuri Pankov smhba \ 4956cb35b1cSYuri Pankov udapl \ 4967c478bd9Sstevel@tonic-gate $($(MACH)_HDRSUBDIRS) 4977c478bd9Sstevel@tonic-gate 498964db34dSMark Logani386_HDRSUBDIRS= \ 499702941cdSRichard Lowe libfdisk \ 500702941cdSRichard Lowe libsaveargs 501964db34dSMark Logan 5027c478bd9Sstevel@tonic-gatesparc_HDRSUBDIRS= \ 50330588217SMike Christensen libds \ 50425cf1a30Sjl139090 libdscp \ 505fcf3ce44SJohn Forte libpri \ 50682629e30SMike Christensen libv12n \ 507fcf3ce44SJohn Forte storage 5087c478bd9Sstevel@tonic-gate 5097c478bd9Sstevel@tonic-gateall := TARGET= all 5107c478bd9Sstevel@tonic-gatecheck := TARGET= check 5117c478bd9Sstevel@tonic-gateclean := TARGET= clean 5127c478bd9Sstevel@tonic-gateclobber := TARGET= clobber 5137c478bd9Sstevel@tonic-gateinstall := TARGET= install 5147c478bd9Sstevel@tonic-gateinstall_h := TARGET= install_h 5157c478bd9Sstevel@tonic-gatelint := TARGET= lint 5167c478bd9Sstevel@tonic-gate_dc := TARGET= _dc 5177c478bd9Sstevel@tonic-gate_msg := TARGET= _msg 5187c478bd9Sstevel@tonic-gate 5197c478bd9Sstevel@tonic-gate.KEEP_STATE: 5207c478bd9Sstevel@tonic-gate 5217c478bd9Sstevel@tonic-gate# 5227c478bd9Sstevel@tonic-gate# For the all and install targets, we clearly must respect library 5237c478bd9Sstevel@tonic-gate# dependencies so that the libraries link correctly. However, for 5247c478bd9Sstevel@tonic-gate# the remaining targets (check, clean, clobber, install_h, lint, _dc 5257c478bd9Sstevel@tonic-gate# and _msg), libraries do not have any dependencies on one another 5267c478bd9Sstevel@tonic-gate# and thus respecting dependencies just slows down the build. 5277c478bd9Sstevel@tonic-gate# As such, for these rules, we use pattern replacement to explicitly 5287c478bd9Sstevel@tonic-gate# avoid triggering the dependency information. Note that for clean, 5297c478bd9Sstevel@tonic-gate# clobber and lint, we must use $(NOWAIT_SUBDIRS) rather than 5307c478bd9Sstevel@tonic-gate# $(SUBDIRS), to prevent `.WAIT' from expanding to `.WAIT-nodepend'. 5317c478bd9Sstevel@tonic-gate# 5327c478bd9Sstevel@tonic-gate 5337c478bd9Sstevel@tonic-gateall: $(SUBDIRS) 5347c478bd9Sstevel@tonic-gate 5357c478bd9Sstevel@tonic-gateinstall: $(SUBDIRS) .WAIT install_extra 5367c478bd9Sstevel@tonic-gate 5377c478bd9Sstevel@tonic-gate# extra libraries kept in other source areas 5387c478bd9Sstevel@tonic-gateinstall_extra: 5397c478bd9Sstevel@tonic-gate @cd ../cmd/sgs; pwd; $(MAKE) install_lib 5407c478bd9Sstevel@tonic-gate @pwd 5417c478bd9Sstevel@tonic-gate 5427c478bd9Sstevel@tonic-gateclean clobber lint: $(NOWAIT_SUBDIRS:%=%-nodepend) 5437c478bd9Sstevel@tonic-gate 5447c478bd9Sstevel@tonic-gateinstall_h check: $(HDRSUBDIRS:%=%-nodepend) 5457c478bd9Sstevel@tonic-gate 5467c478bd9Sstevel@tonic-gate_msg: $(MSGSUBDIRS:%=%-nodepend) .WAIT _dc 5477c478bd9Sstevel@tonic-gate 5487c478bd9Sstevel@tonic-gate_dc: $(DCSUBDIRS:%=%-nodepend) 5497c478bd9Sstevel@tonic-gate 5506cb35b1cSYuri Pankov# Library interdependencies are called out explicitly here. 5516cb35b1cSYuri Pankov../cmd/sgs/libconv: common 5526cb35b1cSYuri Pankov../cmd/sgs/libdl: common 5536cb35b1cSYuri Pankovlibc: ../cmd/sgs/libconv ../cmd/sgs/libdl 5546cb35b1cSYuri Pankov 5556cb35b1cSYuri Pankovlibm: libc 5566cb35b1cSYuri Pankovlibmd: libc 5576cb35b1cSYuri Pankovlibmp: libc 5586cb35b1cSYuri Pankovlibnsl: libc libmd libmp 5596cb35b1cSYuri Pankovlibnvpair: libc libnsl 5606cb35b1cSYuri Pankovlibsocket: libc libnsl 5616cb35b1cSYuri Pankov 5626cb35b1cSYuri Pankovbasedeps: libc libm libmd libmp libnsl libnvpair libsocket 5636cb35b1cSYuri Pankovbasedeps := TARGET=install 5646cb35b1cSYuri Pankov 565*c5cd3237SYuri Pankov# The following dependencies are currently required by libdbus-1 and should 566*c5cd3237SYuri Pankov# be used for anything linking against it. 567*c5cd3237SYuri Pankovdbusdeps: libsecdb libtsol libinetutil libscf libuutil libgen libsmbios 568*c5cd3237SYuri Pankov 5696cb35b1cSYuri Pankov# The following dependencies don't need to be listed below as they are built 5706cb35b1cSYuri Pankov# before everything else: 5716cb35b1cSYuri Pankov# libc libm libmd libmp libnsl libnvpair libsocket 5726cb35b1cSYuri Pankovabi: libctf libmapmalloc libproc 5736cb35b1cSYuri Pankovauditd_plugins: libbsm libsecdb libgss libmtmalloc 5746cb35b1cSYuri Pankovbrand: libzonecfg libmapmalloc 5756cb35b1cSYuri Pankovcfgadm_plugins: libdevice libdevinfo libhotplug librcm hbaapi libkstat libscf 5766cb35b1cSYuri Pankovfm: libexacct libipmi libzfs scsi libdevinfo libdevid libcfgadm \ 57748a4016cSRobert Mustacchi libcontract libsysevent ../cmd/sgs/libelf libdladm 5786cb35b1cSYuri Pankov$(SPARC_BLD)fm: libpri 5796cb35b1cSYuri Pankovgss_mechs/mech_dh: libgss 5806cb35b1cSYuri Pankovgss_mechs/mech_dummy: libgss 5816cb35b1cSYuri Pankovgss_mechs/mech_krb5: libgss libresolv2 pkcs11 libkstat 5829c7136ddSGary Millsgss_mechs/mech_spnego: gss_mechs/mech_krb5 583*c5cd3237SYuri Pankovhal: dbusdeps 5846cb35b1cSYuri Pankovkrb5: gss_mechs/mech_krb5 libtecla libldap5 5857c478bd9Sstevel@tonic-gatelibadt_jni: libbsm 5866cb35b1cSYuri Pankovlibadutils: libldap5 libresolv2 5876cb35b1cSYuri Pankovlibbe: libzfs libinstzones libuuid libgen libdevinfo libefi 5886cb35b1cSYuri Pankovlibbsm: libinetutil libscf libsecdb libtsol 5896cb35b1cSYuri Pankovlibcfgadm: libdevinfo 5906cb35b1cSYuri Pankovlibcmd: libsum libast 5916cb35b1cSYuri Pankovlibcmdutils: libavl 5926cb35b1cSYuri Pankovlibcpc: libpctx 5936cb35b1cSYuri Pankovlibcrypt: libgen 5947c478bd9Sstevel@tonic-gatelibdevid: libdevinfo 5956cb35b1cSYuri Pankovlibdevinfo: libsec libgen 5966cb35b1cSYuri Pankovlibdhcpagent: libdhcputil libuuid libdlpi libcontract 5976cb35b1cSYuri Pankovlibdhcputil: libgen libinetutil libdlpi 5986cb35b1cSYuri Pankovlibdiskmgt: libdevid libdevinfo libadm libefi libkstat libsysevent 5996cb35b1cSYuri Pankov$(INTEL_BLD)libdiskmgt: libfdisk 6006cb35b1cSYuri Pankovlibdladm: libdevinfo libinetutil libscf librcm libexacct libkstat \ 6016cb35b1cSYuri Pankov libpool 602da2e3ebdSchinlibdll: libast 603d62bc4baSyz147064libdlpi: libinetutil libdladm 60482629e30SMike Christensenlibds: libsysevent 6056cb35b1cSYuri Pankovlibdscfg: libnsctl libunistat libadm 6069c7136ddSGary Millslibdtrace: libproc libgen libctf libmapmalloc 607fb3fb4f3Stomeelibdtrace_jni: libuutil libdtrace 6087c478bd9Sstevel@tonic-gatelibefi: libuuid 6096cb35b1cSYuri Pankovlibelfsign: libcryptoutil libkmf ../cmd/sgs/libelf 6106cb35b1cSYuri Pankovlibeti: libcurses 6116cb35b1cSYuri Pankovlibexacct/demo: libexacct libproject 6126cb35b1cSYuri Pankovlibfakekernel: libumem libcryptoutil 6139c7136ddSGary Millslibfcoe: libdladm 614ac88567aSHyon Kimlibfru: libfruutils 6156cb35b1cSYuri Pankovlibfsmgt: libkstat 6166cb35b1cSYuri Pankovlibgrubmgmt: libdevinfo libzfs libfstyp libefi 6176cb35b1cSYuri Pankov$(INTEL_BLD)libgrubmgmt: libfdisk 6186cb35b1cSYuri Pankovlibidmap: libavl libuutil 6196cb35b1cSYuri Pankovlibinetsvc: libscf 6206cb35b1cSYuri Pankovlibinstzones: libzonecfg libcontract 6216cb35b1cSYuri Pankovlibipadm: libinetutil libdlpi libdhcpagent libdladm libsecdb 6226cb35b1cSYuri Pankovlibipmp: libinetutil 6236cb35b1cSYuri Pankovlibipsecutil: libtecla libtsol 6246cb35b1cSYuri Pankovlibiscsit: libstmf libuuid 6256cb35b1cSYuri Pankovlibkmf: libcryptoutil pkcs11 6266cb35b1cSYuri Pankovlibkvm: ../cmd/sgs/libelf 6276cb35b1cSYuri Pankovlibldap5: libsasl 6286cb35b1cSYuri Pankovlibmapid: libresolv2 libscf 6296cb35b1cSYuri Pankovlibndmp: libscf 6306cb35b1cSYuri Pankovlibnisdb: libldap5 6316cb35b1cSYuri Pankovlibnwam: libscf libbsm libdladm 6326cb35b1cSYuri Pankovlibpcp: libumem libdevinfo 6336cb35b1cSYuri Pankovlibpctx: libproc 6346cb35b1cSYuri Pankovlibpkg: libwanboot libscf libadm 6356cb35b1cSYuri Pankovlibpool: libscf libexacct 6366cb35b1cSYuri Pankovlibpp: libast 6376cb35b1cSYuri Pankovlibproc: ../cmd/sgs/librtld_db ../cmd/sgs/libelf libctf 6386cb35b1cSYuri Pankov$(INTEL_BLD)libproc: libsaveargs 6396cb35b1cSYuri Pankovlibproject: libpool libproc libsecdb 6406cb35b1cSYuri Pankovlibprtdiag: libkstat 6416cb35b1cSYuri Pankovlibprtdiag_psr: libprtdiag 6426cb35b1cSYuri Pankovlibraidcfg: libdevinfo 6436cb35b1cSYuri Pankovlibrdc: libnsctl libunistat libdscfg 6446cb35b1cSYuri Pankovlibrestart: libuutil libscf libpool libproject libsecdb libsysevent 6456cb35b1cSYuri Pankovlibsasl: libgss pkcs11 6466cb35b1cSYuri Pankovlibsaveargs: libdisasm 6476cb35b1cSYuri Pankovlibscf: libuutil libgen libsmbios 6486cb35b1cSYuri Pankovlibsec: libavl libidmap 64948a4016cSRobert Mustacchilibsff: libnvpair 6506cb35b1cSYuri Pankovlibshare: libscf libzfs libuuid libfsmgt libsecdb libumem libsmbfs 6516cb35b1cSYuri Pankovlibshell: libast libcmd libdll libsecdb 6526cb35b1cSYuri Pankovlibsip: libmd5 6536cb35b1cSYuri Pankovlibsldap: libldap5 libscf 6546cb35b1cSYuri Pankovlibsmbfs: libkrb5 libsec libidmap pkcs11 655af349cd6SToomas Soomelibsmbios: libdevinfo 6566cb35b1cSYuri Pankovlibsrpt: libstmf 6576cb35b1cSYuri Pankovlibstmf: libscf 6586cb35b1cSYuri Pankovlibstmfproxy: libstmf libpthread 6596cb35b1cSYuri Pankovlibsum: libast 6606cb35b1cSYuri Pankovlibsun_ima: libdevinfo libsysevent 6616cb35b1cSYuri Pankovlibsysevent: libsecdb 6626cb35b1cSYuri Pankovlibtecla: libcurses 6636cb35b1cSYuri Pankovlibtermcap: libcurses 6646cb35b1cSYuri Pankovlibtnfctl: ../cmd/sgs/libelf 6656cb35b1cSYuri Pankovlibtsalarm: libpcp 6666cb35b1cSYuri Pankovlibtsnet: libtsol libsecdb 6676cb35b1cSYuri Pankovlibtsol: libsecdb 6686cb35b1cSYuri Pankovlibuuid: libdlpi 6696cb35b1cSYuri Pankovlibv12n: libds libuuid 6706cb35b1cSYuri Pankovlibvolmgt: libadm 6716cb35b1cSYuri Pankovlibvrrpadm: libdladm libscf 6726cb35b1cSYuri Pankovlibvscan: libscf libsecdb 6736cb35b1cSYuri Pankovlibwanboot: libresolv2 libdevinfo libinetutil libdhcputil 6746cb35b1cSYuri Pankovlibzfs: libdevid libgen libuutil libadm libavl libefi libidmap \ 6756cb35b1cSYuri Pankov libumem libtsol libzfs_core 6766cb35b1cSYuri Pankovlibzfs_jni: libdiskmgt libzfs 6776cb35b1cSYuri Pankovlibzonecfg: libuuid libsysevent libsec libbrand libpool libscf libproc \ 6786cb35b1cSYuri Pankov libuutil libbsm libsecdb 6796cb35b1cSYuri Pankovlibzonestat: libcmdutils libumem 6806cb35b1cSYuri Pankovlibzpool: libavl libumem libcmdutils libsysevent 6816cb35b1cSYuri Pankovmadv: libgen 6826cb35b1cSYuri Pankovmpapi: libpthread libdevinfo libsysevent 6836cb35b1cSYuri Pankovmpss: libgen 6846cb35b1cSYuri Pankovnsswitch: libadutils libidmap libdns_sd libscf libldap5 libsldap 6856cb35b1cSYuri Pankovpam_modules: libproject passwdutil smbsrv libtsnet libpam libbsm libsecdb 6866cb35b1cSYuri Pankovpasswdutil: libsldap 6876cb35b1cSYuri Pankovpkcs11: libcryptoutil libgen libuuid 688*c5cd3237SYuri Pankovpolicykit: dbusdeps 6896cb35b1cSYuri Pankovprint: libldap5 libmd5 libsendfile 690f169c0eaSGlenn Lagassepylibbe: libbe libzfs 691e4d060fbSSam Falknerpysolaris: libsec libidmap 6926cb35b1cSYuri Pankovpyzfs: libzfs 6936cb35b1cSYuri Pankovraidcfg_plugins: libraidcfg librcm libcfgadm libpicl libpicltree 6946cb35b1cSYuri Pankovrpcsec_gss: libgss 6956cb35b1cSYuri Pankovsasl_plugins: pkcs11 libgss libsasl 6969001d209SYuri Pankovscsi: libfru libumem libdevid libdevinfo 6976cb35b1cSYuri Pankovsmbsrv: libxnet libpthread librt libshare libidmap pkcs11 libsqlite \ 6986cb35b1cSYuri Pankov libcryptoutil libreparse libcmdutils libresolv2 libsmbfs \ 6996cb35b1cSYuri Pankov libuuid libfakekernel libgss libldap5 krb5 7006cb35b1cSYuri Pankovstorage: libdevice libdevinfo libdevid 7016cb35b1cSYuri Pankovsun_fc: libdevinfo libsysevent 7026cb35b1cSYuri Pankovsun_sas: libdevinfo libsysevent libkstat libdevid 7036cb35b1cSYuri Pankovudapl: libdevinfo libdladm 7047c478bd9Sstevel@tonic-gate 7057c478bd9Sstevel@tonic-gate# 7067c478bd9Sstevel@tonic-gate# The reason this rule checks for the existence of the 7077c478bd9Sstevel@tonic-gate# Makefile is that some of the directories do not exist 708fb9f9b97Skupfer# in certain situations (e.g., exportable source builds, 709fb9f9b97Skupfer# OpenSolaris). 7107c478bd9Sstevel@tonic-gate# 711f808c858Sraf$(SUBDIRS): FRC 7127c478bd9Sstevel@tonic-gate @if [ -f $@/Makefile ]; then \ 7137c478bd9Sstevel@tonic-gate cd $@; pwd; $(MAKE) $(TARGET); \ 7147c478bd9Sstevel@tonic-gate else \ 7157c478bd9Sstevel@tonic-gate true; \ 7167c478bd9Sstevel@tonic-gate fi 7177c478bd9Sstevel@tonic-gate 718f808c858Sraf$(SUBDIRS:%=%-nodepend): 7197c478bd9Sstevel@tonic-gate @if [ -f $(@:%-nodepend=%)/Makefile ]; then \ 7207c478bd9Sstevel@tonic-gate cd $(@:%-nodepend=%); pwd; $(MAKE) $(TARGET); \ 7217c478bd9Sstevel@tonic-gate else \ 7227c478bd9Sstevel@tonic-gate true; \ 7237c478bd9Sstevel@tonic-gate fi 7247c478bd9Sstevel@tonic-gate 7257c478bd9Sstevel@tonic-gateFRC: 726