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 22*ba9ca911SYuri 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> 28fca42680SGary Mills# Copyright (c) 2015 Gary Mills 29*ba9ca911SYuri Pankov# Copyright 2015 Nexenta Systems, Inc. All rights reserved. 30*ba9ca911SYuri 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. 39*ba9ca911SYuri Pankov# Library dependencies are called out explicitly, see "Library 40*ba9ca911SYuri Pankov# interdependencies" below. 417c478bd9Sstevel@tonic-gate.PARALLEL: 427c478bd9Sstevel@tonic-gate 43*ba9ca911SYuri Pankov# Build libc and its dependencies 447c478bd9Sstevel@tonic-gateSUBDIRS= \ 45*ba9ca911SYuri Pankov common \ 467c478bd9Sstevel@tonic-gate ../cmd/sgs/libconv \ 47*ba9ca911SYuri Pankov ../cmd/sgs/libdl \ 48*ba9ca911SYuri Pankov libc \ 49*ba9ca911SYuri Pankov .WAIT 50fb9f9b97Skupfer 51*ba9ca911SYuri Pankov# Build libraries with lots of dependents 52fb9f9b97SkupferSUBDIRS += \ 53*ba9ca911SYuri Pankov libm \ 54734b6a94Sdarrenm libmd \ 55*ba9ca911SYuri Pankov libmp \ 567c478bd9Sstevel@tonic-gate libnsl \ 57*ba9ca911SYuri Pankov libnvpair \ 58*ba9ca911SYuri Pankov libsocket \ 59*ba9ca911SYuri Pankov .WAIT 60*ba9ca911SYuri Pankov 61*ba9ca911SYuri Pankov# Build everything else. Aside from explicit dependencies, all libraries 62*ba9ca911SYuri Pankov# are built in parallel. 63*ba9ca911SYuri PankovSUBDIRS += \ 64*ba9ca911SYuri Pankov ../cmd/sendmail/libmilter \ 65*ba9ca911SYuri Pankov ../cmd/sgs/libelf \ 667c478bd9Sstevel@tonic-gate ../cmd/sgs/librtld_db \ 67*ba9ca911SYuri Pankov abi \ 68*ba9ca911SYuri Pankov auditd_plugins \ 69*ba9ca911SYuri Pankov brand \ 70*ba9ca911SYuri Pankov c_synonyms \ 71*ba9ca911SYuri Pankov cfgadm_plugins \ 72*ba9ca911SYuri Pankov crypt_modules \ 73*ba9ca911SYuri Pankov extendedFILE \ 74*ba9ca911SYuri Pankov fm \ 75*ba9ca911SYuri Pankov getloginx \ 76*ba9ca911SYuri Pankov gss_mechs/mech_dh \ 77*ba9ca911SYuri Pankov gss_mechs/mech_dummy \ 78*ba9ca911SYuri Pankov gss_mechs/mech_krb5 \ 79*ba9ca911SYuri Pankov gss_mechs/mech_spnego \ 80*ba9ca911SYuri Pankov hal \ 81*ba9ca911SYuri Pankov hbaapi \ 82*ba9ca911SYuri Pankov krb5 \ 83*ba9ca911SYuri Pankov libadm \ 84*ba9ca911SYuri Pankov libads \ 85*ba9ca911SYuri Pankov libadt_jni \ 86*ba9ca911SYuri Pankov libadutils \ 877c478bd9Sstevel@tonic-gate libaio \ 88da2e3ebdSchin libast \ 89*ba9ca911SYuri Pankov libavl \ 90*ba9ca911SYuri Pankov libbe \ 91*ba9ca911SYuri Pankov libbrand \ 92*ba9ca911SYuri Pankov libbsdmalloc \ 93*ba9ca911SYuri Pankov libbsm \ 94*ba9ca911SYuri Pankov libc_db \ 95*ba9ca911SYuri Pankov libcfgadm \ 96da2e3ebdSchin libcmd \ 97*ba9ca911SYuri Pankov libcmdutils \ 98*ba9ca911SYuri Pankov libcommputil \ 99*ba9ca911SYuri Pankov libcontract \ 100*ba9ca911SYuri Pankov libcpc \ 101*ba9ca911SYuri Pankov libcrypt \ 102*ba9ca911SYuri Pankov libcryptoutil \ 1037c478bd9Sstevel@tonic-gate libctf \ 104*ba9ca911SYuri Pankov libcurses \ 105*ba9ca911SYuri Pankov libdevice \ 106*ba9ca911SYuri Pankov libdevid \ 107*ba9ca911SYuri Pankov libdevinfo \ 108*ba9ca911SYuri Pankov libdhcpagent \ 109*ba9ca911SYuri Pankov libdhcputil \ 110*ba9ca911SYuri Pankov libdisasm \ 111*ba9ca911SYuri Pankov libdiskmgt \ 112*ba9ca911SYuri Pankov libdladm \ 113*ba9ca911SYuri Pankov libdll \ 114*ba9ca911SYuri Pankov libdlpi \ 115*ba9ca911SYuri Pankov libdns_sd \ 116*ba9ca911SYuri Pankov libdoor \ 117*ba9ca911SYuri Pankov libdscfg \ 1187c478bd9Sstevel@tonic-gate libdtrace \ 119fb3fb4f3Stomee libdtrace_jni \ 1207c478bd9Sstevel@tonic-gate libefi \ 121*ba9ca911SYuri Pankov libelfsign \ 122*ba9ca911SYuri Pankov libeti \ 123*ba9ca911SYuri Pankov libexacct \ 124*ba9ca911SYuri Pankov libexacct/demo \ 125*ba9ca911SYuri Pankov libfakekernel \ 126*ba9ca911SYuri Pankov libfcoe \ 127*ba9ca911SYuri Pankov libfru \ 128*ba9ca911SYuri Pankov libfruutils \ 129*ba9ca911SYuri Pankov libfsmgt \ 1300e42dee6Sartem libfstyp \ 131*ba9ca911SYuri Pankov libgen \ 132*ba9ca911SYuri Pankov libgrubmgmt \ 133*ba9ca911SYuri Pankov libgss \ 134*ba9ca911SYuri Pankov libhotplug \ 135*ba9ca911SYuri Pankov libidmap \ 136*ba9ca911SYuri Pankov libilb \ 137*ba9ca911SYuri Pankov libima \ 138*ba9ca911SYuri Pankov libinetsvc \ 1397c478bd9Sstevel@tonic-gate libinetutil \ 140*ba9ca911SYuri Pankov libinstzones \ 141*ba9ca911SYuri Pankov libintl \ 1426e91bba0SGirish Moodalbail libipadm \ 143fe77cc04SRobert Mustacchi libipd \ 144*ba9ca911SYuri Pankov libipmi \ 1457c478bd9Sstevel@tonic-gate libipmp \ 146*ba9ca911SYuri Pankov libipp \ 147*ba9ca911SYuri Pankov libipsecutil \ 148a6d42e7dSPeter Dunlap libiscsit \ 14999ebb4caSwyllys libkmf \ 150*ba9ca911SYuri Pankov libkrb5 \ 1517c478bd9Sstevel@tonic-gate libkstat \ 1527c478bd9Sstevel@tonic-gate libkvm \ 1537c478bd9Sstevel@tonic-gate libldap5 \ 154*ba9ca911SYuri Pankov liblgrp \ 155*ba9ca911SYuri Pankov liblm \ 156*ba9ca911SYuri Pankov libm1 \ 157*ba9ca911SYuri Pankov libmail \ 158*ba9ca911SYuri Pankov libmalloc \ 159*ba9ca911SYuri Pankov libmapid \ 160*ba9ca911SYuri Pankov libmapmalloc \ 161*ba9ca911SYuri Pankov libmd5 \ 162*ba9ca911SYuri Pankov libmtmalloc \ 163*ba9ca911SYuri Pankov libmvec \ 164*ba9ca911SYuri Pankov libndmp \ 1657c478bd9Sstevel@tonic-gate libnisdb \ 166*ba9ca911SYuri Pankov libnls \ 167*ba9ca911SYuri Pankov libnsctl \ 168*ba9ca911SYuri Pankov libnwam \ 169*ba9ca911SYuri Pankov libpam \ 170*ba9ca911SYuri Pankov libpcidb \ 171*ba9ca911SYuri Pankov libpctx \ 172*ba9ca911SYuri Pankov libpicl \ 173*ba9ca911SYuri Pankov libpicltree \ 174*ba9ca911SYuri Pankov libpkg \ 1757c478bd9Sstevel@tonic-gate libpool \ 176da2e3ebdSchin libpp \ 1777c478bd9Sstevel@tonic-gate libproc \ 1787c478bd9Sstevel@tonic-gate libproject \ 179*ba9ca911SYuri Pankov libpthread \ 180*ba9ca911SYuri Pankov libraidcfg \ 181*ba9ca911SYuri Pankov librcm \ 182*ba9ca911SYuri Pankov librdc \ 183*ba9ca911SYuri Pankov libreparse \ 184*ba9ca911SYuri Pankov libresolv \ 185*ba9ca911SYuri Pankov libresolv2 \ 186*ba9ca911SYuri Pankov librestart \ 187*ba9ca911SYuri Pankov librpcsvc \ 188*ba9ca911SYuri Pankov librsm \ 189*ba9ca911SYuri Pankov librstp \ 190*ba9ca911SYuri Pankov librt \ 191*ba9ca911SYuri Pankov libsasl \ 192*ba9ca911SYuri Pankov libscf \ 193*ba9ca911SYuri Pankov libsched \ 194*ba9ca911SYuri Pankov libsctp \ 195*ba9ca911SYuri Pankov libsec \ 196*ba9ca911SYuri Pankov libsecdb \ 1977c478bd9Sstevel@tonic-gate libsendfile \ 198*ba9ca911SYuri Pankov libshare \ 199*ba9ca911SYuri Pankov libshell \ 200*ba9ca911SYuri Pankov libsip \ 201*ba9ca911SYuri Pankov libsldap \ 202*ba9ca911SYuri Pankov libslp \ 203fcf3ce44SJohn Forte libsmbfs \ 204*ba9ca911SYuri Pankov libsmbios \ 205*ba9ca911SYuri Pankov libsmedia \ 206*ba9ca911SYuri Pankov libsqlite \ 207c3a558e7SSue Gleeson libsrpt \ 208fcf3ce44SJohn Forte libstmf \ 20945039663SJohn Forte libstmfproxy \ 210*ba9ca911SYuri Pankov libsum \ 211*ba9ca911SYuri Pankov libsun_ima \ 212*ba9ca911SYuri Pankov libsys \ 213*ba9ca911SYuri Pankov libsysevent \ 214*ba9ca911SYuri Pankov libtecla \ 215*ba9ca911SYuri Pankov libtermcap \ 216*ba9ca911SYuri Pankov libthread \ 2177c478bd9Sstevel@tonic-gate libtnf \ 2187c478bd9Sstevel@tonic-gate libtnfctl \ 219*ba9ca911SYuri Pankov libtnfprobe \ 220*ba9ca911SYuri Pankov libtsnet \ 221*ba9ca911SYuri Pankov libtsol \ 222*ba9ca911SYuri Pankov libumem \ 223*ba9ca911SYuri Pankov libunistat \ 224*ba9ca911SYuri Pankov libuuid \ 2257c478bd9Sstevel@tonic-gate libuutil \ 226*ba9ca911SYuri Pankov libvolmgt \ 227*ba9ca911SYuri Pankov libvrrpadm \ 228*ba9ca911SYuri Pankov libvscan \ 229*ba9ca911SYuri Pankov libw \ 230*ba9ca911SYuri Pankov libwanboot \ 231*ba9ca911SYuri Pankov libwanbootutil \ 2327c478bd9Sstevel@tonic-gate libwrap \ 2337c478bd9Sstevel@tonic-gate libxcurses \ 2347c478bd9Sstevel@tonic-gate libxcurses2 \ 235*ba9ca911SYuri Pankov libxnet \ 236*ba9ca911SYuri Pankov libzfs \ 237*ba9ca911SYuri Pankov libzfs_core \ 238*ba9ca911SYuri Pankov libzfs_jni \ 2397c478bd9Sstevel@tonic-gate libzonecfg \ 2407c478bd9Sstevel@tonic-gate libzoneinfo \ 241efd4c9b6SSteve Lawrence libzonestat \ 242fa9e4066Sahrens libzpool \ 243*ba9ca911SYuri Pankov lvm \ 244*ba9ca911SYuri Pankov madv \ 245fcf3ce44SJohn Forte mpapi \ 246*ba9ca911SYuri Pankov mpss \ 247*ba9ca911SYuri Pankov nametoaddr \ 248*ba9ca911SYuri Pankov ncad_addr \ 249*ba9ca911SYuri Pankov nsswitch \ 250*ba9ca911SYuri Pankov pam_modules \ 251*ba9ca911SYuri Pankov passwdutil \ 252*ba9ca911SYuri Pankov pkcs11 \ 253*ba9ca911SYuri Pankov policykit \ 254*ba9ca911SYuri Pankov print \ 255*ba9ca911SYuri Pankov pylibbe \ 256*ba9ca911SYuri Pankov pysolaris \ 257*ba9ca911SYuri Pankov pyzfs \ 258*ba9ca911SYuri Pankov raidcfg_plugins \ 259*ba9ca911SYuri Pankov rpcsec_gss \ 260*ba9ca911SYuri Pankov sasl_plugins \ 261*ba9ca911SYuri Pankov scsi \ 262*ba9ca911SYuri Pankov smbsrv \ 263*ba9ca911SYuri Pankov smhba \ 264*ba9ca911SYuri Pankov sun_fc \ 265*ba9ca911SYuri Pankov sun_sas \ 266*ba9ca911SYuri Pankov udapl \ 267*ba9ca911SYuri Pankov watchmalloc \ 2687c478bd9Sstevel@tonic-gate $($(MACH)_SUBDIRS) 2697c478bd9Sstevel@tonic-gate 2707e7bd3dcSMark Logani386_SUBDIRS= \ 271702941cdSRichard Lowe libfdisk \ 272702941cdSRichard Lowe libsaveargs 2737e7bd3dcSMark Logan 274*ba9ca911SYuri Pankovsparc_SUBDIRS= \ 2757c478bd9Sstevel@tonic-gate efcode \ 27630588217SMike Christensen libds \ 27725cf1a30Sjl139090 libdscp \ 278*ba9ca911SYuri Pankov libprtdiag \ 27903831d35Sstevel libprtdiag_psr \ 280ef884685Srb144127 libpri \ 28103831d35Sstevel librsc \ 2827c478bd9Sstevel@tonic-gate storage \ 2834a6822d0Swillard libpcp \ 28482629e30SMike Christensen libtsalarm \ 28582629e30SMike Christensen libv12n 2867c478bd9Sstevel@tonic-gate 2877c478bd9Sstevel@tonic-gate# 2887c478bd9Sstevel@tonic-gate# Create a special version of $(SUBDIRS) with no .WAIT's, for use with the 2897c478bd9Sstevel@tonic-gate# clean and clobber targets (for more information, see those targets, below). 2907c478bd9Sstevel@tonic-gate# 2917c478bd9Sstevel@tonic-gateNOWAIT_SUBDIRS= $(SUBDIRS:.WAIT=) 2927c478bd9Sstevel@tonic-gate 2937c478bd9Sstevel@tonic-gateDCSUBDIRS = \ 2947c478bd9Sstevel@tonic-gate lvm 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 \ 322*ba9ca911SYuri Pankov libipmp \ 323*ba9ca911SYuri Pankov libipsecutil \ 324*ba9ca911SYuri Pankov libldap5 \ 3257c478bd9Sstevel@tonic-gate libnsl \ 3266ba597c5SAnurag S. Maskey libnwam \ 3277c478bd9Sstevel@tonic-gate libpam \ 3287c478bd9Sstevel@tonic-gate libpicl \ 3295c51f124SMoriah Waterland libpkg \ 330*ba9ca911SYuri Pankov libpool \ 331da2e3ebdSchin libpp \ 332*ba9ca911SYuri Pankov libreparse \ 3337c478bd9Sstevel@tonic-gate libsasl \ 334*ba9ca911SYuri 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 lvm \ 3527c478bd9Sstevel@tonic-gate madv \ 3537c478bd9Sstevel@tonic-gate mpss \ 3547c478bd9Sstevel@tonic-gate pam_modules \ 355e4d060fbSSam Falkner pysolaris \ 356*ba9ca911SYuri Pankov pyzfs \ 3577a286c47SDai Ngo rpcsec_gss \ 3587c478bd9Sstevel@tonic-gate $($(MACH)_MSGSUBDIRS) 3597c478bd9Sstevel@tonic-gate 36003831d35Sstevelsparc_MSGSUBDIRS= \ 36103831d35Sstevel libprtdiag \ 36203831d35Sstevel libprtdiag_psr 3637c478bd9Sstevel@tonic-gate 364aa1b14e7SSheshadri Vasudevani386_MSGSUBDIRS= libfdisk 365aa1b14e7SSheshadri Vasudevan 366f841f6adSrafHDRSUBDIRS= \ 367*ba9ca911SYuri Pankov ../cmd/sendmail/libmilter \ 3687c478bd9Sstevel@tonic-gate auditd_plugins \ 369*ba9ca911SYuri Pankov fm \ 370*ba9ca911SYuri Pankov hal \ 371*ba9ca911SYuri Pankov hbaapi \ 372b3700b07SGordon Ross libads \ 373da2e3ebdSchin libast \ 3749acbbeafSnn35248 libbrand \ 3757c478bd9Sstevel@tonic-gate libbsm \ 3767c478bd9Sstevel@tonic-gate libc \ 377da2e3ebdSchin libcmd \ 3787c478bd9Sstevel@tonic-gate libcmdutils \ 3796e91bba0SGirish Moodalbail libcommputil \ 3807c478bd9Sstevel@tonic-gate libcontract \ 3817c478bd9Sstevel@tonic-gate libcpc \ 382*ba9ca911SYuri Pankov libcryptoutil \ 3837c478bd9Sstevel@tonic-gate libctf \ 3847c478bd9Sstevel@tonic-gate libcurses \ 3857c478bd9Sstevel@tonic-gate libdevice \ 3867c478bd9Sstevel@tonic-gate libdevid \ 3877c478bd9Sstevel@tonic-gate libdevinfo \ 388*ba9ca911SYuri Pankov libdhcpagent \ 389*ba9ca911SYuri Pankov libdhcputil \ 390*ba9ca911SYuri Pankov libdisasm \ 3913e1bd7a2Ssjelinek libdiskmgt \ 3927c478bd9Sstevel@tonic-gate libdladm \ 393da2e3ebdSchin libdll \ 3947c478bd9Sstevel@tonic-gate libdlpi \ 3954b22b933Srs200217 libdns_sd \ 396fcf3ce44SJohn Forte libdscfg \ 3977c478bd9Sstevel@tonic-gate libdtrace \ 398fb3fb4f3Stomee libdtrace_jni \ 399df8bdeb3Sjohnz libelfsign \ 4007c478bd9Sstevel@tonic-gate libeti \ 401b819cea2SGordon Ross libfakekernel \ 402*ba9ca911SYuri Pankov libfcoe \ 403c69f580fSSundeep Panicker libfru \ 4040e42dee6Sartem libfstyp \ 4057c478bd9Sstevel@tonic-gate libgen \ 406*ba9ca911SYuri Pankov libgrubmgmt \ 407*ba9ca911SYuri Pankov libidmap \ 408*ba9ca911SYuri Pankov libilb \ 409*ba9ca911SYuri Pankov libima \ 4107c478bd9Sstevel@tonic-gate libinetsvc \ 4117c478bd9Sstevel@tonic-gate libinetutil \ 41222fb2eebSMoriah Waterland libinstzones \ 413*ba9ca911SYuri Pankov libipadm \ 414*ba9ca911SYuri Pankov libipd \ 4159113a79cSeschrock libipmi \ 4167c478bd9Sstevel@tonic-gate libipmp \ 4177c478bd9Sstevel@tonic-gate libipp \ 418*ba9ca911SYuri Pankov libipsecutil \ 419a6d42e7dSPeter Dunlap libiscsit \ 420*ba9ca911SYuri Pankov libkrb5 \ 4217c478bd9Sstevel@tonic-gate libkstat \ 4227c478bd9Sstevel@tonic-gate libkvm \ 4237c478bd9Sstevel@tonic-gate libmail \ 424*ba9ca911SYuri Pankov libmapid \ 425734b6a94Sdarrenm libmd \ 4267c478bd9Sstevel@tonic-gate libmtmalloc \ 4272654012fSReza Sabdar libndmp \ 428fcf3ce44SJohn Forte libnsctl \ 42945916cd2Sjpk libnsl \ 430*ba9ca911SYuri Pankov libnvpair \ 431b00044a2SJames Carlson libnwam \ 4327c478bd9Sstevel@tonic-gate libpam \ 433abc79d9dSRobert Mustacchi libpcidb \ 4347c478bd9Sstevel@tonic-gate libpctx \ 4357c478bd9Sstevel@tonic-gate libpicl \ 4367c478bd9Sstevel@tonic-gate libpicltree \ 4377c478bd9Sstevel@tonic-gate libpool \ 438da2e3ebdSchin libpp \ 4397c478bd9Sstevel@tonic-gate libproc \ 4403e4f2897Sjc156560 libraidcfg \ 4417c478bd9Sstevel@tonic-gate librcm \ 442fcf3ce44SJohn Forte librdc \ 443*ba9ca911SYuri Pankov libreparse \ 4447c478bd9Sstevel@tonic-gate librestart \ 4457c478bd9Sstevel@tonic-gate librpcsvc \ 4467c478bd9Sstevel@tonic-gate librsm \ 4474eaa4710SRishi Srivatsavai librstp \ 4487c478bd9Sstevel@tonic-gate libsasl \ 449*ba9ca911SYuri Pankov libscf \ 450fa9e4066Sahrens libsec \ 451*ba9ca911SYuri Pankov libshare \ 452da2e3ebdSchin libshell \ 453*ba9ca911SYuri Pankov libsip \ 4547c478bd9Sstevel@tonic-gate libslp \ 455*ba9ca911SYuri Pankov libsmbfs \ 456*ba9ca911SYuri Pankov libsmbios \ 4577c478bd9Sstevel@tonic-gate libsmedia \ 4586e91bba0SGirish Moodalbail libsocket \ 459c5c4113dSnw141292 libsqlite \ 460c3a558e7SSue Gleeson libsrpt \ 461fcf3ce44SJohn Forte libstmf \ 46245039663SJohn Forte libstmfproxy \ 4637c2fbfb3SApril Chin libsum \ 464*ba9ca911SYuri Pankov libsun_ima \ 4657c478bd9Sstevel@tonic-gate libsysevent \ 4667c478bd9Sstevel@tonic-gate libtecla \ 467*ba9ca911SYuri 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 \ 476*ba9ca911SYuri Pankov libvolmgt \ 477*ba9ca911SYuri Pankov libvrrpadm \ 478*ba9ca911SYuri 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 \ 4887c478bd9Sstevel@tonic-gate lvm \ 489fcf3ce44SJohn Forte mpapi \ 490*ba9ca911SYuri Pankov passwdutil \ 491*ba9ca911SYuri Pankov pkcs11 \ 492*ba9ca911SYuri Pankov policykit \ 493*ba9ca911SYuri Pankov scsi \ 494*ba9ca911SYuri Pankov smbsrv \ 495*ba9ca911SYuri Pankov smhba \ 496*ba9ca911SYuri Pankov udapl \ 4977c478bd9Sstevel@tonic-gate $($(MACH)_HDRSUBDIRS) 4987c478bd9Sstevel@tonic-gate 499964db34dSMark Logani386_HDRSUBDIRS= \ 500702941cdSRichard Lowe libfdisk \ 501702941cdSRichard Lowe libsaveargs 502964db34dSMark Logan 5037c478bd9Sstevel@tonic-gatesparc_HDRSUBDIRS= \ 50430588217SMike Christensen libds \ 50525cf1a30Sjl139090 libdscp \ 506fcf3ce44SJohn Forte libpri \ 50782629e30SMike Christensen libv12n \ 508fcf3ce44SJohn Forte storage 5097c478bd9Sstevel@tonic-gate 5107c478bd9Sstevel@tonic-gateall := TARGET= all 5117c478bd9Sstevel@tonic-gatecheck := TARGET= check 5127c478bd9Sstevel@tonic-gateclean := TARGET= clean 5137c478bd9Sstevel@tonic-gateclobber := TARGET= clobber 5147c478bd9Sstevel@tonic-gateinstall := TARGET= install 5157c478bd9Sstevel@tonic-gateinstall_h := TARGET= install_h 5167c478bd9Sstevel@tonic-gatelint := TARGET= lint 5177c478bd9Sstevel@tonic-gate_dc := TARGET= _dc 5187c478bd9Sstevel@tonic-gate_msg := TARGET= _msg 5197c478bd9Sstevel@tonic-gate 5207c478bd9Sstevel@tonic-gate.KEEP_STATE: 5217c478bd9Sstevel@tonic-gate 5227c478bd9Sstevel@tonic-gate# 5237c478bd9Sstevel@tonic-gate# For the all and install targets, we clearly must respect library 5247c478bd9Sstevel@tonic-gate# dependencies so that the libraries link correctly. However, for 5257c478bd9Sstevel@tonic-gate# the remaining targets (check, clean, clobber, install_h, lint, _dc 5267c478bd9Sstevel@tonic-gate# and _msg), libraries do not have any dependencies on one another 5277c478bd9Sstevel@tonic-gate# and thus respecting dependencies just slows down the build. 5287c478bd9Sstevel@tonic-gate# As such, for these rules, we use pattern replacement to explicitly 5297c478bd9Sstevel@tonic-gate# avoid triggering the dependency information. Note that for clean, 5307c478bd9Sstevel@tonic-gate# clobber and lint, we must use $(NOWAIT_SUBDIRS) rather than 5317c478bd9Sstevel@tonic-gate# $(SUBDIRS), to prevent `.WAIT' from expanding to `.WAIT-nodepend'. 5327c478bd9Sstevel@tonic-gate# 5337c478bd9Sstevel@tonic-gate 5347c478bd9Sstevel@tonic-gateall: $(SUBDIRS) 5357c478bd9Sstevel@tonic-gate 5367c478bd9Sstevel@tonic-gateinstall: $(SUBDIRS) .WAIT install_extra 5377c478bd9Sstevel@tonic-gate 5387c478bd9Sstevel@tonic-gate# extra libraries kept in other source areas 5397c478bd9Sstevel@tonic-gateinstall_extra: 5407c478bd9Sstevel@tonic-gate @cd ../cmd/sgs; pwd; $(MAKE) install_lib 5417c478bd9Sstevel@tonic-gate @pwd 5427c478bd9Sstevel@tonic-gate 5437c478bd9Sstevel@tonic-gateclean clobber lint: $(NOWAIT_SUBDIRS:%=%-nodepend) 5447c478bd9Sstevel@tonic-gate 5457c478bd9Sstevel@tonic-gateinstall_h check: $(HDRSUBDIRS:%=%-nodepend) 5467c478bd9Sstevel@tonic-gate 5477c478bd9Sstevel@tonic-gate_msg: $(MSGSUBDIRS:%=%-nodepend) .WAIT _dc 5487c478bd9Sstevel@tonic-gate 5497c478bd9Sstevel@tonic-gate_dc: $(DCSUBDIRS:%=%-nodepend) 5507c478bd9Sstevel@tonic-gate 551*ba9ca911SYuri Pankov# Library interdependencies are called out explicitly here. 552*ba9ca911SYuri Pankov../cmd/sgs/libconv: common 553*ba9ca911SYuri Pankov../cmd/sgs/libdl: common 554*ba9ca911SYuri Pankovlibc: ../cmd/sgs/libconv ../cmd/sgs/libdl 555*ba9ca911SYuri Pankov 556*ba9ca911SYuri Pankovlibm: libc 557*ba9ca911SYuri Pankovlibmd: libc 558*ba9ca911SYuri Pankovlibmp: libc 559*ba9ca911SYuri Pankovlibnsl: libc libmd libmp 560*ba9ca911SYuri Pankovlibnvpair: libc libnsl 561*ba9ca911SYuri Pankovlibsocket: libc libnsl 562*ba9ca911SYuri Pankov 563*ba9ca911SYuri Pankovbasedeps: libc libm libmd libmp libnsl libnvpair libsocket 564*ba9ca911SYuri Pankovbasedeps := TARGET=install 565*ba9ca911SYuri Pankov 566*ba9ca911SYuri Pankov# The following dependencies don't need to be listed below as they are built 567*ba9ca911SYuri Pankov# before everything else: 568*ba9ca911SYuri Pankov# libc libm libmd libmp libnsl libnvpair libsocket 569*ba9ca911SYuri Pankovabi: libctf libmapmalloc libproc 570*ba9ca911SYuri Pankovauditd_plugins: libbsm libsecdb libgss libmtmalloc 571*ba9ca911SYuri Pankovbrand: libzonecfg libmapmalloc 572*ba9ca911SYuri Pankovcfgadm_plugins: libdevice libdevinfo libhotplug librcm hbaapi libkstat libscf 573*ba9ca911SYuri Pankovfm: libexacct libipmi libzfs scsi libdevinfo libdevid libcfgadm \ 574*ba9ca911SYuri Pankov libcontract libsysevent ../cmd/sgs/libelf 575*ba9ca911SYuri Pankov$(SPARC_BLD)fm: libpri 576*ba9ca911SYuri Pankovgss_mechs/mech_dh: libgss 577*ba9ca911SYuri Pankovgss_mechs/mech_dummy: libgss 578*ba9ca911SYuri Pankovgss_mechs/mech_krb5: libgss libresolv2 pkcs11 libkstat 579fca42680SGary Millsgss_mechs/mech_spnego: gss_mechs/mech_krb5 580*ba9ca911SYuri Pankovkrb5: gss_mechs/mech_krb5 libtecla libldap5 5817c478bd9Sstevel@tonic-gatelibadt_jni: libbsm 582*ba9ca911SYuri Pankovlibadutils: libldap5 libresolv2 583*ba9ca911SYuri Pankovlibbe: libzfs libinstzones libuuid libgen libdevinfo libefi 584*ba9ca911SYuri Pankovlibbsm: libinetutil libscf libsecdb libtsol 585*ba9ca911SYuri Pankovlibcfgadm: libdevinfo 586*ba9ca911SYuri Pankovlibcmd: libsum libast 587*ba9ca911SYuri Pankovlibcmdutils: libavl 588*ba9ca911SYuri Pankovlibcpc: libpctx 589*ba9ca911SYuri Pankovlibcrypt: libgen 5907c478bd9Sstevel@tonic-gatelibdevid: libdevinfo 591*ba9ca911SYuri Pankovlibdevinfo: libsec libgen 592*ba9ca911SYuri Pankovlibdhcpagent: libdhcputil libuuid libdlpi libcontract 593*ba9ca911SYuri Pankovlibdhcputil: libgen libinetutil libdlpi 594*ba9ca911SYuri Pankovlibdiskmgt: libdevid libdevinfo libadm libefi libkstat libsysevent 595*ba9ca911SYuri Pankov$(INTEL_BLD)libdiskmgt: libfdisk 596*ba9ca911SYuri Pankovlibdladm: libdevinfo libinetutil libscf librcm libexacct libkstat \ 597*ba9ca911SYuri Pankov libpool 598da2e3ebdSchinlibdll: libast 599d62bc4baSyz147064libdlpi: libinetutil libdladm 60082629e30SMike Christensenlibds: libsysevent 601*ba9ca911SYuri Pankovlibdscfg: libnsctl libunistat libadm 602fca42680SGary Millslibdtrace: libproc libgen libctf libmapmalloc 603fb3fb4f3Stomeelibdtrace_jni: libuutil libdtrace 6047c478bd9Sstevel@tonic-gatelibefi: libuuid 605*ba9ca911SYuri Pankovlibelfsign: libcryptoutil libkmf ../cmd/sgs/libelf 606*ba9ca911SYuri Pankovlibeti: libcurses 607*ba9ca911SYuri Pankovlibexacct/demo: libexacct libproject 608*ba9ca911SYuri Pankovlibfakekernel: libumem libcryptoutil 609fca42680SGary Millslibfcoe: libdladm 610ac88567aSHyon Kimlibfru: libfruutils 611*ba9ca911SYuri Pankovlibfsmgt: libkstat 612*ba9ca911SYuri Pankovlibgrubmgmt: libdevinfo libzfs libfstyp libefi 613*ba9ca911SYuri Pankov$(INTEL_BLD)libgrubmgmt: libfdisk 614*ba9ca911SYuri Pankovlibidmap: libavl libuutil 615*ba9ca911SYuri Pankovlibinetsvc: libscf 616*ba9ca911SYuri Pankovlibinstzones: libzonecfg libcontract 617*ba9ca911SYuri Pankovlibipadm: libinetutil libdlpi libdhcpagent libdladm libsecdb 618*ba9ca911SYuri Pankovlibipmp: libinetutil 619*ba9ca911SYuri Pankovlibipsecutil: libtecla libtsol 620*ba9ca911SYuri Pankovlibiscsit: libstmf libuuid 621*ba9ca911SYuri Pankovlibkmf: libcryptoutil pkcs11 622*ba9ca911SYuri Pankovlibkvm: ../cmd/sgs/libelf 623*ba9ca911SYuri Pankovlibldap5: libsasl 624*ba9ca911SYuri Pankovlibmapid: libresolv2 libscf 625*ba9ca911SYuri Pankovlibndmp: libscf 626*ba9ca911SYuri Pankovlibnisdb: libldap5 627*ba9ca911SYuri Pankovlibnwam: libscf libbsm libdladm 628*ba9ca911SYuri Pankovlibpcp: libumem libdevinfo 629*ba9ca911SYuri Pankovlibpctx: libproc 630*ba9ca911SYuri Pankovlibpkg: libwanboot libscf libadm 631*ba9ca911SYuri Pankovlibpool: libscf libexacct 632*ba9ca911SYuri Pankovlibpp: libast 633*ba9ca911SYuri Pankovlibproc: ../cmd/sgs/librtld_db ../cmd/sgs/libelf libctf 634*ba9ca911SYuri Pankov$(INTEL_BLD)libproc: libsaveargs 635*ba9ca911SYuri Pankovlibproject: libpool libproc libsecdb 636*ba9ca911SYuri Pankovlibprtdiag: libkstat 637*ba9ca911SYuri Pankovlibprtdiag_psr: libprtdiag 638*ba9ca911SYuri Pankovlibraidcfg: libdevinfo 639*ba9ca911SYuri Pankovlibrdc: libnsctl libunistat libdscfg 640*ba9ca911SYuri Pankovlibrestart: libuutil libscf libpool libproject libsecdb libsysevent 641*ba9ca911SYuri Pankovlibsasl: libgss pkcs11 642*ba9ca911SYuri Pankovlibsaveargs: libdisasm 643*ba9ca911SYuri Pankovlibscf: libuutil libgen libsmbios 644*ba9ca911SYuri Pankovlibsec: libavl libidmap 645*ba9ca911SYuri Pankovlibshare: libscf libzfs libuuid libfsmgt libsecdb libumem libsmbfs 646*ba9ca911SYuri Pankovlibshell: libast libcmd libdll libsecdb 647*ba9ca911SYuri Pankovlibsip: libmd5 648*ba9ca911SYuri Pankovlibsldap: libldap5 libscf 649*ba9ca911SYuri Pankovlibsmbfs: libkrb5 libsec libidmap pkcs11 650*ba9ca911SYuri Pankovlibsrpt: libstmf 651*ba9ca911SYuri Pankovlibstmf: libscf 652*ba9ca911SYuri Pankovlibstmfproxy: libstmf libpthread 653*ba9ca911SYuri Pankovlibsum: libast 654*ba9ca911SYuri Pankovlibsun_ima: libdevinfo libsysevent 655*ba9ca911SYuri Pankovlibsysevent: libsecdb 656*ba9ca911SYuri Pankovlibtecla: libcurses 657*ba9ca911SYuri Pankovlibtermcap: libcurses 658*ba9ca911SYuri Pankovlibtnfctl: ../cmd/sgs/libelf 659*ba9ca911SYuri Pankovlibtsalarm: libpcp 660*ba9ca911SYuri Pankovlibtsnet: libtsol libsecdb 661*ba9ca911SYuri Pankovlibtsol: libsecdb 662*ba9ca911SYuri Pankovlibuuid: libdlpi 663*ba9ca911SYuri Pankovlibv12n: libds libuuid 664*ba9ca911SYuri Pankovlibvolmgt: libadm 665*ba9ca911SYuri Pankovlibvrrpadm: libdladm libscf 666*ba9ca911SYuri Pankovlibvscan: libscf libsecdb 667*ba9ca911SYuri Pankovlibwanboot: libresolv2 libdevinfo libinetutil libdhcputil 668*ba9ca911SYuri Pankovlibzfs: libdevid libgen libuutil libadm libavl libefi libidmap \ 669*ba9ca911SYuri Pankov libumem libtsol libzfs_core 670*ba9ca911SYuri Pankovlibzfs_jni: libdiskmgt libzfs 671*ba9ca911SYuri Pankovlibzonecfg: libuuid libsysevent libsec libbrand libpool libscf libproc \ 672*ba9ca911SYuri Pankov libuutil libbsm libsecdb 673*ba9ca911SYuri Pankovlibzonestat: libcmdutils libumem 674*ba9ca911SYuri Pankovlibzpool: libavl libumem libcmdutils libsysevent 675*ba9ca911SYuri Pankovlvm: libadm libdevid libdevinfo libefi libgen libscf 676*ba9ca911SYuri Pankovmadv: libgen 677*ba9ca911SYuri Pankovmpapi: libpthread libdevinfo libsysevent 678*ba9ca911SYuri Pankovmpss: libgen 679*ba9ca911SYuri Pankovnsswitch: libadutils libidmap libdns_sd libscf libldap5 libsldap 680*ba9ca911SYuri Pankovpam_modules: libproject passwdutil smbsrv libtsnet libpam libbsm libsecdb 681*ba9ca911SYuri Pankovpasswdutil: libsldap 682*ba9ca911SYuri Pankovpkcs11: libcryptoutil libgen libuuid 683*ba9ca911SYuri Pankovpolicykit: libsecdb 684*ba9ca911SYuri Pankovprint: libldap5 libmd5 libsendfile 685f169c0eaSGlenn Lagassepylibbe: libbe libzfs 686e4d060fbSSam Falknerpysolaris: libsec libidmap 687*ba9ca911SYuri Pankovpyzfs: libzfs 688*ba9ca911SYuri Pankovraidcfg_plugins: libraidcfg librcm libcfgadm libpicl libpicltree 689*ba9ca911SYuri Pankovrpcsec_gss: libgss 690*ba9ca911SYuri Pankovsasl_plugins: pkcs11 libgss libsasl 691*ba9ca911SYuri Pankovscsi: libfru libumem 692*ba9ca911SYuri Pankovsmbsrv: libxnet libpthread librt libshare libidmap pkcs11 libsqlite \ 693*ba9ca911SYuri Pankov libcryptoutil libreparse libcmdutils libresolv2 libsmbfs \ 694*ba9ca911SYuri Pankov libuuid libfakekernel libads libgss libldap5 krb5 695*ba9ca911SYuri Pankovstorage: libdevice libdevinfo libdevid 696*ba9ca911SYuri Pankovsun_fc: libdevinfo libsysevent 697*ba9ca911SYuri Pankovsun_sas: libdevinfo libsysevent libkstat libdevid 698*ba9ca911SYuri Pankovudapl: libdevinfo libdladm 6997c478bd9Sstevel@tonic-gate 7007c478bd9Sstevel@tonic-gate# 7017c478bd9Sstevel@tonic-gate# The reason this rule checks for the existence of the 7027c478bd9Sstevel@tonic-gate# Makefile is that some of the directories do not exist 703fb9f9b97Skupfer# in certain situations (e.g., exportable source builds, 704fb9f9b97Skupfer# OpenSolaris). 7057c478bd9Sstevel@tonic-gate# 706f808c858Sraf$(SUBDIRS): FRC 7077c478bd9Sstevel@tonic-gate @if [ -f $@/Makefile ]; then \ 7087c478bd9Sstevel@tonic-gate cd $@; pwd; $(MAKE) $(TARGET); \ 7097c478bd9Sstevel@tonic-gate else \ 7107c478bd9Sstevel@tonic-gate true; \ 7117c478bd9Sstevel@tonic-gate fi 7127c478bd9Sstevel@tonic-gate 713f808c858Sraf$(SUBDIRS:%=%-nodepend): 7147c478bd9Sstevel@tonic-gate @if [ -f $(@:%-nodepend=%)/Makefile ]; then \ 7157c478bd9Sstevel@tonic-gate cd $(@:%-nodepend=%); pwd; $(MAKE) $(TARGET); \ 7167c478bd9Sstevel@tonic-gate else \ 7177c478bd9Sstevel@tonic-gate true; \ 7187c478bd9Sstevel@tonic-gate fi 7197c478bd9Sstevel@tonic-gate 7207c478bd9Sstevel@tonic-gateFRC: 721