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 22ba9ca911SYuri 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. 257fd79137SRobert Mustacchi# Copyright 2015, Joyent, Inc. 260a1278f2SGary Mills# Copyright (c) 2013 Gary Mills 27786d1eecSBart Coddens# Copyright 2014 Garrett D'Amore <garrett@damore.org> 28fca42680SGary Mills# Copyright (c) 2015 Gary Mills 29a1bf3f78SToomas Soome# Copyright 2016 Toomas Soome <tsoome@me.com> 3055b7245bSYuri Pankov# Copyright 2017 Nexenta Systems, Inc. 31*b4dd7d09SAndy Fiddaman# Copyright 2021 OmniOS Community Edition (OmniOSce) Association. 32ba9ca911SYuri Pankov# 337c478bd9Sstevel@tonic-gate 347c478bd9Sstevel@tonic-gateinclude ../Makefile.master 357c478bd9Sstevel@tonic-gate 367c478bd9Sstevel@tonic-gate# Note that libcurses installs commands along with its library. 377c478bd9Sstevel@tonic-gate# This is a minor bug which probably should be fixed. 387c478bd9Sstevel@tonic-gate# Note also that a few extra libraries are kept in cmd source. 397c478bd9Sstevel@tonic-gate# 407c478bd9Sstevel@tonic-gate# Certain libraries are linked with, hence depend on, other libraries. 41ba9ca911SYuri Pankov# Library dependencies are called out explicitly, see "Library 42ba9ca911SYuri Pankov# interdependencies" below. 437c478bd9Sstevel@tonic-gate.PARALLEL: 447c478bd9Sstevel@tonic-gate 45ba9ca911SYuri Pankov# Build libc and its dependencies 467c478bd9Sstevel@tonic-gateSUBDIRS= \ 473e0c8044SRichard Lowe crt \ 487c478bd9Sstevel@tonic-gate ../cmd/sgs/libconv \ 49ba9ca911SYuri Pankov ../cmd/sgs/libdl \ 50ba9ca911SYuri Pankov libc \ 51ba9ca911SYuri Pankov .WAIT 52fb9f9b97Skupfer 53ba9ca911SYuri Pankov# Build libraries with lots of dependents 54fb9f9b97SkupferSUBDIRS += \ 55ba9ca911SYuri Pankov libm \ 56734b6a94Sdarrenm libmd \ 57ba9ca911SYuri Pankov libmp \ 587c478bd9Sstevel@tonic-gate libnsl \ 59ba9ca911SYuri Pankov libnvpair \ 60ba9ca911SYuri Pankov libsocket \ 61ba9ca911SYuri Pankov .WAIT 62ba9ca911SYuri Pankov 63ba9ca911SYuri Pankov# Build everything else. Aside from explicit dependencies, all libraries 64ba9ca911SYuri Pankov# are built in parallel. 65ba9ca911SYuri PankovSUBDIRS += \ 66ba9ca911SYuri Pankov ../cmd/sendmail/libmilter \ 67ba9ca911SYuri Pankov ../cmd/sgs/libelf \ 687c478bd9Sstevel@tonic-gate ../cmd/sgs/librtld_db \ 69ba9ca911SYuri Pankov abi \ 70ba9ca911SYuri Pankov auditd_plugins \ 71ba9ca911SYuri Pankov brand \ 72ba9ca911SYuri Pankov c_synonyms \ 73ba9ca911SYuri Pankov cfgadm_plugins \ 74ba9ca911SYuri Pankov crypt_modules \ 75ba9ca911SYuri Pankov extendedFILE \ 76ba9ca911SYuri Pankov fm \ 77ba9ca911SYuri Pankov getloginx \ 78ba9ca911SYuri Pankov gss_mechs/mech_dh \ 79ba9ca911SYuri Pankov gss_mechs/mech_dummy \ 80ba9ca911SYuri Pankov gss_mechs/mech_krb5 \ 81ba9ca911SYuri Pankov gss_mechs/mech_spnego \ 82ba9ca911SYuri Pankov hal \ 83ba9ca911SYuri Pankov hbaapi \ 8491e1e26aSAlexander Pyhalov iconv_modules \ 85ba9ca911SYuri Pankov krb5 \ 86ba9ca911SYuri Pankov libadm \ 87ba9ca911SYuri Pankov libads \ 88ba9ca911SYuri Pankov libadt_jni \ 89ba9ca911SYuri Pankov libadutils \ 907c478bd9Sstevel@tonic-gate libaio \ 91ba9ca911SYuri Pankov libavl \ 92ba9ca911SYuri Pankov libbe \ 93ba9ca911SYuri Pankov libbrand \ 94ba9ca911SYuri Pankov libbsdmalloc \ 95ba9ca911SYuri Pankov libbsm \ 96ba9ca911SYuri Pankov libc_db \ 97ba9ca911SYuri Pankov libcfgadm \ 98ba9ca911SYuri Pankov libcmdutils \ 99ba9ca911SYuri Pankov libcommputil \ 100ba9ca911SYuri Pankov libcontract \ 101ba9ca911SYuri Pankov libcpc \ 102ba9ca911SYuri Pankov libcrypt \ 103ba9ca911SYuri Pankov libcryptoutil \ 1047c478bd9Sstevel@tonic-gate libctf \ 105ba9ca911SYuri Pankov libcurses \ 1061f0c339eSJason King libcustr \ 107ba9ca911SYuri Pankov libdevice \ 108ba9ca911SYuri Pankov libdevid \ 109ba9ca911SYuri Pankov libdevinfo \ 110ba9ca911SYuri Pankov libdhcpagent \ 111ba9ca911SYuri Pankov libdhcputil \ 112ba9ca911SYuri Pankov libdisasm \ 113ba9ca911SYuri Pankov libdiskmgt \ 114ba9ca911SYuri Pankov libdladm \ 115ba9ca911SYuri Pankov libdlpi \ 116ba9ca911SYuri Pankov libdns_sd \ 117ba9ca911SYuri Pankov libdoor \ 118ba9ca911SYuri Pankov libdscfg \ 1197c478bd9Sstevel@tonic-gate libdtrace \ 120fb3fb4f3Stomee libdtrace_jni \ 1217fd79137SRobert Mustacchi libdwarf \ 1227c478bd9Sstevel@tonic-gate libefi \ 123ba9ca911SYuri Pankov libelfsign \ 124ba9ca911SYuri Pankov libeti \ 125ba9ca911SYuri Pankov libexacct \ 126ba9ca911SYuri Pankov libexacct/demo \ 127ba9ca911SYuri Pankov libfakekernel \ 128ba9ca911SYuri Pankov libfcoe \ 129a1bf3f78SToomas Soome libficl \ 130ba9ca911SYuri Pankov libfru \ 131ba9ca911SYuri Pankov libfruutils \ 132ba9ca911SYuri Pankov libfsmgt \ 1330e42dee6Sartem libfstyp \ 134ba9ca911SYuri Pankov libgen \ 135ba9ca911SYuri Pankov libgrubmgmt \ 136ba9ca911SYuri Pankov libgss \ 137ba9ca911SYuri Pankov libhotplug \ 138ba9ca911SYuri Pankov libidmap \ 139ba9ca911SYuri Pankov libilb \ 140ba9ca911SYuri Pankov libima \ 141ba9ca911SYuri Pankov libinetsvc \ 1427c478bd9Sstevel@tonic-gate libinetutil \ 143ba9ca911SYuri Pankov libinstzones \ 144ba9ca911SYuri Pankov libintl \ 1456e91bba0SGirish Moodalbail libipadm \ 146fe77cc04SRobert Mustacchi libipd \ 147ba9ca911SYuri Pankov libipmi \ 1487c478bd9Sstevel@tonic-gate libipmp \ 149ba9ca911SYuri Pankov libipp \ 150ba9ca911SYuri Pankov libipsecutil \ 151a6d42e7dSPeter Dunlap libiscsit \ 152174bc649SRobert Mustacchi libjedec \ 15399ebb4caSwyllys libkmf \ 154ba9ca911SYuri Pankov libkrb5 \ 1557c478bd9Sstevel@tonic-gate libkstat \ 1567c478bd9Sstevel@tonic-gate libkvm \ 1577c478bd9Sstevel@tonic-gate libldap5 \ 158ba9ca911SYuri Pankov liblgrp \ 159ba9ca911SYuri Pankov liblm \ 160ba9ca911SYuri Pankov libm1 \ 161ba9ca911SYuri Pankov libmail \ 162ba9ca911SYuri Pankov libmalloc \ 163ba9ca911SYuri Pankov libmapid \ 164ba9ca911SYuri Pankov libmapmalloc \ 165ba9ca911SYuri Pankov libmd5 \ 166ba9ca911SYuri Pankov libmtmalloc \ 167ba9ca911SYuri Pankov libmvec \ 168ba9ca911SYuri Pankov libndmp \ 1697c478bd9Sstevel@tonic-gate libnisdb \ 170ba9ca911SYuri Pankov libnls \ 171ba9ca911SYuri Pankov libnsctl \ 172ba9ca911SYuri Pankov libnwam \ 173071ca66eSYuri Pankov libofmt \ 174ba9ca911SYuri Pankov libpam \ 175ba9ca911SYuri Pankov libpcidb \ 176ba9ca911SYuri Pankov libpctx \ 177ba9ca911SYuri Pankov libpicl \ 178ba9ca911SYuri Pankov libpicltree \ 179ba9ca911SYuri Pankov libpkg \ 1807c478bd9Sstevel@tonic-gate libpool \ 1817c478bd9Sstevel@tonic-gate libproc \ 1827c478bd9Sstevel@tonic-gate libproject \ 183ba9ca911SYuri Pankov libpthread \ 184ba9ca911SYuri Pankov libraidcfg \ 185ba9ca911SYuri Pankov librcm \ 186ba9ca911SYuri Pankov librdc \ 187ba9ca911SYuri Pankov libreparse \ 188ba9ca911SYuri Pankov libresolv \ 189ba9ca911SYuri Pankov libresolv2 \ 190ba9ca911SYuri Pankov librestart \ 191ba9ca911SYuri Pankov librpcsvc \ 192ba9ca911SYuri Pankov librsm \ 193ba9ca911SYuri Pankov librstp \ 194ba9ca911SYuri Pankov librt \ 195ba9ca911SYuri Pankov libsasl \ 196ba9ca911SYuri Pankov libscf \ 197ba9ca911SYuri Pankov libsched \ 198ba9ca911SYuri Pankov libsctp \ 199ba9ca911SYuri Pankov libsec \ 200ba9ca911SYuri Pankov libsecdb \ 2017c478bd9Sstevel@tonic-gate libsendfile \ 20259596c01SRobert Mustacchi libsff \ 203ba9ca911SYuri Pankov libshare \ 204ba9ca911SYuri Pankov libsip \ 205ba9ca911SYuri Pankov libsldap \ 206ba9ca911SYuri Pankov libslp \ 207fcf3ce44SJohn Forte libsmbfs \ 208ba9ca911SYuri Pankov libsmbios \ 209ba9ca911SYuri Pankov libsmedia \ 210ba9ca911SYuri Pankov libsqlite \ 211c3a558e7SSue Gleeson libsrpt \ 212fcf3ce44SJohn Forte libstmf \ 21345039663SJohn Forte libstmfproxy \ 214ba9ca911SYuri Pankov libsun_ima \ 215ba9ca911SYuri Pankov libsys \ 216ba9ca911SYuri Pankov libsysevent \ 217ba9ca911SYuri Pankov libtecla \ 218ba9ca911SYuri Pankov libtermcap \ 219ba9ca911SYuri Pankov libthread \ 2207c478bd9Sstevel@tonic-gate libtnf \ 2217c478bd9Sstevel@tonic-gate libtnfctl \ 222ba9ca911SYuri Pankov libtnfprobe \ 223ba9ca911SYuri Pankov libtsnet \ 224ba9ca911SYuri Pankov libtsol \ 225ba9ca911SYuri Pankov libumem \ 226ba9ca911SYuri Pankov libunistat \ 227ba9ca911SYuri Pankov libuuid \ 2287c478bd9Sstevel@tonic-gate libuutil \ 229ba9ca911SYuri Pankov libvolmgt \ 230ba9ca911SYuri Pankov libvrrpadm \ 231ba9ca911SYuri Pankov libvscan \ 232ba9ca911SYuri Pankov libw \ 233ba9ca911SYuri Pankov libwanboot \ 234ba9ca911SYuri Pankov libwanbootutil \ 2357c478bd9Sstevel@tonic-gate libwrap \ 2367c478bd9Sstevel@tonic-gate libxcurses \ 2377c478bd9Sstevel@tonic-gate libxcurses2 \ 238ba9ca911SYuri Pankov libxnet \ 239ba9ca911SYuri Pankov libzfs \ 240ba9ca911SYuri Pankov libzfs_core \ 241ba9ca911SYuri Pankov libzfs_jni \ 2427c478bd9Sstevel@tonic-gate libzonecfg \ 2437c478bd9Sstevel@tonic-gate libzoneinfo \ 244efd4c9b6SSteve Lawrence libzonestat \ 245fa9e4066Sahrens libzpool \ 246ba9ca911SYuri Pankov madv \ 247fcf3ce44SJohn Forte mpapi \ 248ba9ca911SYuri Pankov mpss \ 249ba9ca911SYuri Pankov nametoaddr \ 250ba9ca911SYuri Pankov ncad_addr \ 251ba9ca911SYuri Pankov nsswitch \ 252ba9ca911SYuri Pankov pam_modules \ 253ba9ca911SYuri Pankov passwdutil \ 254ba9ca911SYuri Pankov pkcs11 \ 255ba9ca911SYuri Pankov policykit \ 256ba9ca911SYuri Pankov print \ 257ba9ca911SYuri Pankov pylibbe \ 258ba9ca911SYuri Pankov pysolaris \ 259ba9ca911SYuri Pankov pyzfs \ 260ba9ca911SYuri Pankov raidcfg_plugins \ 261ba9ca911SYuri Pankov rpcsec_gss \ 262ba9ca911SYuri Pankov sasl_plugins \ 263ba9ca911SYuri Pankov scsi \ 264ba9ca911SYuri Pankov smbsrv \ 265ba9ca911SYuri Pankov smhba \ 266ba9ca911SYuri Pankov sun_fc \ 267ba9ca911SYuri Pankov sun_sas \ 268ba9ca911SYuri Pankov udapl \ 269ba9ca911SYuri Pankov watchmalloc \ 2707c478bd9Sstevel@tonic-gate $($(MACH)_SUBDIRS) 2717c478bd9Sstevel@tonic-gate 2727e7bd3dcSMark Logani386_SUBDIRS= \ 273702941cdSRichard Lowe libfdisk \ 274702941cdSRichard Lowe libsaveargs 2757e7bd3dcSMark Logan 276ba9ca911SYuri Pankovsparc_SUBDIRS= \ 2777c478bd9Sstevel@tonic-gate efcode \ 27830588217SMike Christensen libds \ 27925cf1a30Sjl139090 libdscp \ 280ba9ca911SYuri Pankov libprtdiag \ 28103831d35Sstevel libprtdiag_psr \ 282ef884685Srb144127 libpri \ 28303831d35Sstevel librsc \ 2847c478bd9Sstevel@tonic-gate storage \ 2854a6822d0Swillard libpcp \ 28682629e30SMike Christensen libtsalarm \ 28782629e30SMike Christensen libv12n 2887c478bd9Sstevel@tonic-gate 2897c478bd9Sstevel@tonic-gate# 2907c478bd9Sstevel@tonic-gate# Create a special version of $(SUBDIRS) with no .WAIT's, for use with the 2917c478bd9Sstevel@tonic-gate# clean and clobber targets (for more information, see those targets, below). 2927c478bd9Sstevel@tonic-gate# 2937c478bd9Sstevel@tonic-gateNOWAIT_SUBDIRS= $(SUBDIRS:.WAIT=) 2947c478bd9Sstevel@tonic-gate 295e373b6e4SYuri PankovDCSUBDIRS= 2967c478bd9Sstevel@tonic-gate 2977c478bd9Sstevel@tonic-gateMSGSUBDIRS= \ 2987c478bd9Sstevel@tonic-gate abi \ 2997c478bd9Sstevel@tonic-gate auditd_plugins \ 3009acbbeafSnn35248 brand \ 3017c478bd9Sstevel@tonic-gate cfgadm_plugins \ 3027c478bd9Sstevel@tonic-gate gss_mechs/mech_dh \ 3037c478bd9Sstevel@tonic-gate gss_mechs/mech_krb5 \ 3047c478bd9Sstevel@tonic-gate krb5 \ 3057c478bd9Sstevel@tonic-gate libbsm \ 3067c478bd9Sstevel@tonic-gate libc \ 3077c478bd9Sstevel@tonic-gate libcfgadm \ 3087c478bd9Sstevel@tonic-gate libcontract \ 3097c478bd9Sstevel@tonic-gate libcurses \ 3107c478bd9Sstevel@tonic-gate libdhcputil \ 311181c2f42Smmusante libdiskmgt \ 31233343a97Smeem libdladm \ 313753a6d45SSherry Moore libgrubmgmt \ 3147c478bd9Sstevel@tonic-gate libgss \ 315c5c4113dSnw141292 libidmap \ 316dbed73cbSSangeeta Misra libilb \ 3175c51f124SMoriah Waterland libinstzones \ 3186e91bba0SGirish Moodalbail libipadm \ 319ba9ca911SYuri Pankov libipmp \ 320ba9ca911SYuri Pankov libipsecutil \ 321ba9ca911SYuri Pankov libldap5 \ 3227c478bd9Sstevel@tonic-gate libnsl \ 3236ba597c5SAnurag S. Maskey libnwam \ 324071ca66eSYuri Pankov libofmt \ 3257c478bd9Sstevel@tonic-gate libpam \ 3267c478bd9Sstevel@tonic-gate libpicl \ 3275c51f124SMoriah Waterland libpkg \ 328ba9ca911SYuri Pankov libpool \ 329ba9ca911SYuri Pankov libreparse \ 3307c478bd9Sstevel@tonic-gate libsasl \ 331ba9ca911SYuri Pankov libscf \ 3327c478bd9Sstevel@tonic-gate libsecdb \ 3336185db85Sdougm libshare \ 3347c478bd9Sstevel@tonic-gate libsldap \ 3357c478bd9Sstevel@tonic-gate libslp \ 3364bff34e3Sthurlow libsmbfs \ 3377c478bd9Sstevel@tonic-gate libsmedia \ 33845916cd2Sjpk libtsol \ 3397c478bd9Sstevel@tonic-gate libuutil \ 3401cb875aeSCathy Zhou libvrrpadm \ 341911106dfSjm199354 libvscan \ 3427c478bd9Sstevel@tonic-gate libwanboot \ 3437c478bd9Sstevel@tonic-gate libwanbootutil \ 344c3aa2a37Sck153898 libzfs \ 3457c478bd9Sstevel@tonic-gate libzonecfg \ 3467c478bd9Sstevel@tonic-gate madv \ 3477c478bd9Sstevel@tonic-gate mpss \ 3487c478bd9Sstevel@tonic-gate pam_modules \ 349ba9ca911SYuri Pankov pyzfs \ 3507a286c47SDai Ngo rpcsec_gss \ 3517c478bd9Sstevel@tonic-gate $($(MACH)_MSGSUBDIRS) 3527c478bd9Sstevel@tonic-gate 35303831d35Sstevelsparc_MSGSUBDIRS= \ 35403831d35Sstevel libprtdiag \ 35503831d35Sstevel libprtdiag_psr 3567c478bd9Sstevel@tonic-gate 357aa1b14e7SSheshadri Vasudevani386_MSGSUBDIRS= libfdisk 358aa1b14e7SSheshadri Vasudevan 359f841f6adSrafHDRSUBDIRS= \ 360ba9ca911SYuri Pankov ../cmd/sendmail/libmilter \ 3617c478bd9Sstevel@tonic-gate auditd_plugins \ 362ba9ca911SYuri Pankov fm \ 363ba9ca911SYuri Pankov hal \ 364ba9ca911SYuri Pankov hbaapi \ 365b3700b07SGordon Ross libads \ 3669acbbeafSnn35248 libbrand \ 3677c478bd9Sstevel@tonic-gate libbsm \ 3687c478bd9Sstevel@tonic-gate libc \ 3697c478bd9Sstevel@tonic-gate libcmdutils \ 3706e91bba0SGirish Moodalbail libcommputil \ 3717c478bd9Sstevel@tonic-gate libcontract \ 3727c478bd9Sstevel@tonic-gate libcpc \ 373ba9ca911SYuri Pankov libcryptoutil \ 3747c478bd9Sstevel@tonic-gate libctf \ 3757c478bd9Sstevel@tonic-gate libcurses \ 3761f0c339eSJason King libcustr \ 3777c478bd9Sstevel@tonic-gate libdevice \ 3787c478bd9Sstevel@tonic-gate libdevid \ 3797c478bd9Sstevel@tonic-gate libdevinfo \ 380ba9ca911SYuri Pankov libdhcpagent \ 381ba9ca911SYuri Pankov libdhcputil \ 382ba9ca911SYuri Pankov libdisasm \ 3833e1bd7a2Ssjelinek libdiskmgt \ 3847fd79137SRobert Mustacchi libdwarf \ 3857c478bd9Sstevel@tonic-gate libdladm \ 3867c478bd9Sstevel@tonic-gate libdlpi \ 3874b22b933Srs200217 libdns_sd \ 388fcf3ce44SJohn Forte libdscfg \ 3897c478bd9Sstevel@tonic-gate libdtrace \ 390fb3fb4f3Stomee libdtrace_jni \ 391df8bdeb3Sjohnz libelfsign \ 3927c478bd9Sstevel@tonic-gate libeti \ 393b819cea2SGordon Ross libfakekernel \ 394ba9ca911SYuri Pankov libfcoe \ 395c69f580fSSundeep Panicker libfru \ 3960e42dee6Sartem libfstyp \ 3977c478bd9Sstevel@tonic-gate libgen \ 398ba9ca911SYuri Pankov libgrubmgmt \ 399ba9ca911SYuri Pankov libidmap \ 400ba9ca911SYuri Pankov libilb \ 401ba9ca911SYuri Pankov libima \ 4027c478bd9Sstevel@tonic-gate libinetsvc \ 4037c478bd9Sstevel@tonic-gate libinetutil \ 40422fb2eebSMoriah Waterland libinstzones \ 405ba9ca911SYuri Pankov libipadm \ 406ba9ca911SYuri Pankov libipd \ 4079113a79cSeschrock libipmi \ 4087c478bd9Sstevel@tonic-gate libipmp \ 4097c478bd9Sstevel@tonic-gate libipp \ 410ba9ca911SYuri Pankov libipsecutil \ 411a6d42e7dSPeter Dunlap libiscsit \ 412ba9ca911SYuri Pankov libkrb5 \ 4137c478bd9Sstevel@tonic-gate libkstat \ 4147c478bd9Sstevel@tonic-gate libkvm \ 4157c478bd9Sstevel@tonic-gate libmail \ 416ba9ca911SYuri Pankov libmapid \ 417734b6a94Sdarrenm libmd \ 4187c478bd9Sstevel@tonic-gate libmtmalloc \ 4192654012fSReza Sabdar libndmp \ 420fcf3ce44SJohn Forte libnsctl \ 42145916cd2Sjpk libnsl \ 422ba9ca911SYuri Pankov libnvpair \ 423b00044a2SJames Carlson libnwam \ 424071ca66eSYuri Pankov libofmt \ 4257c478bd9Sstevel@tonic-gate libpam \ 426abc79d9dSRobert Mustacchi libpcidb \ 4277c478bd9Sstevel@tonic-gate libpctx \ 4287c478bd9Sstevel@tonic-gate libpicl \ 4297c478bd9Sstevel@tonic-gate libpicltree \ 4307c478bd9Sstevel@tonic-gate libpool \ 4317c478bd9Sstevel@tonic-gate libproc \ 4323e4f2897Sjc156560 libraidcfg \ 4337c478bd9Sstevel@tonic-gate librcm \ 434fcf3ce44SJohn Forte librdc \ 435ba9ca911SYuri Pankov libreparse \ 4367c478bd9Sstevel@tonic-gate librestart \ 4377c478bd9Sstevel@tonic-gate librpcsvc \ 4387c478bd9Sstevel@tonic-gate librsm \ 4394eaa4710SRishi Srivatsavai librstp \ 4407c478bd9Sstevel@tonic-gate libsasl \ 441ba9ca911SYuri Pankov libscf \ 442fa9e4066Sahrens libsec \ 44359596c01SRobert Mustacchi libsff \ 444ba9ca911SYuri Pankov libshare \ 445ba9ca911SYuri Pankov libsip \ 4467c478bd9Sstevel@tonic-gate libslp \ 447ba9ca911SYuri Pankov libsmbfs \ 448ba9ca911SYuri Pankov libsmbios \ 4497c478bd9Sstevel@tonic-gate libsmedia \ 4506e91bba0SGirish Moodalbail libsocket \ 451c5c4113dSnw141292 libsqlite \ 452c3a558e7SSue Gleeson libsrpt \ 453fcf3ce44SJohn Forte libstmf \ 45445039663SJohn Forte libstmfproxy \ 455ba9ca911SYuri Pankov libsun_ima \ 4567c478bd9Sstevel@tonic-gate libsysevent \ 4577c478bd9Sstevel@tonic-gate libtecla \ 458ba9ca911SYuri Pankov libtermcap \ 4597c478bd9Sstevel@tonic-gate libtnf \ 4607c478bd9Sstevel@tonic-gate libtnfctl \ 4617c478bd9Sstevel@tonic-gate libtnfprobe \ 46245916cd2Sjpk libtsnet \ 46345916cd2Sjpk libtsol \ 4647c478bd9Sstevel@tonic-gate libumem \ 465fcf3ce44SJohn Forte libunistat \ 4667c478bd9Sstevel@tonic-gate libuutil \ 467ba9ca911SYuri Pankov libvolmgt \ 468ba9ca911SYuri Pankov libvrrpadm \ 469ba9ca911SYuri Pankov libvscan \ 4706e91bba0SGirish Moodalbail libwanboot \ 4716e91bba0SGirish Moodalbail libwanbootutil \ 4727c478bd9Sstevel@tonic-gate libwrap \ 4737c478bd9Sstevel@tonic-gate libxcurses2 \ 474fa9e4066Sahrens libzfs \ 4754445fffbSMatthew Ahrens libzfs_core \ 476088e9d47Seschrock libzfs_jni \ 4777c478bd9Sstevel@tonic-gate libzoneinfo \ 478efd4c9b6SSteve Lawrence libzonestat \ 479fcf3ce44SJohn Forte mpapi \ 480ba9ca911SYuri Pankov passwdutil \ 481ba9ca911SYuri Pankov pkcs11 \ 482ba9ca911SYuri Pankov policykit \ 483ba9ca911SYuri Pankov scsi \ 484ba9ca911SYuri Pankov smbsrv \ 485ba9ca911SYuri Pankov smhba \ 486ba9ca911SYuri Pankov udapl \ 4877c478bd9Sstevel@tonic-gate $($(MACH)_HDRSUBDIRS) 4887c478bd9Sstevel@tonic-gate 489964db34dSMark Logani386_HDRSUBDIRS= \ 490702941cdSRichard Lowe libfdisk \ 491702941cdSRichard Lowe libsaveargs 492964db34dSMark Logan 4937c478bd9Sstevel@tonic-gatesparc_HDRSUBDIRS= \ 49430588217SMike Christensen libds \ 49525cf1a30Sjl139090 libdscp \ 496fcf3ce44SJohn Forte libpri \ 49782629e30SMike Christensen libv12n \ 498fcf3ce44SJohn Forte storage 4997c478bd9Sstevel@tonic-gate 5007c478bd9Sstevel@tonic-gateall := TARGET= all 5017c478bd9Sstevel@tonic-gatecheck := TARGET= check 5027c478bd9Sstevel@tonic-gateclean := TARGET= clean 5037c478bd9Sstevel@tonic-gateclobber := TARGET= clobber 5047c478bd9Sstevel@tonic-gateinstall := TARGET= install 5057c478bd9Sstevel@tonic-gateinstall_h := TARGET= install_h 5067c478bd9Sstevel@tonic-gatelint := TARGET= lint 5077c478bd9Sstevel@tonic-gate_dc := TARGET= _dc 5087c478bd9Sstevel@tonic-gate_msg := TARGET= _msg 5097c478bd9Sstevel@tonic-gate 5107c478bd9Sstevel@tonic-gate.KEEP_STATE: 5117c478bd9Sstevel@tonic-gate 5127c478bd9Sstevel@tonic-gate# 5137c478bd9Sstevel@tonic-gate# For the all and install targets, we clearly must respect library 5147c478bd9Sstevel@tonic-gate# dependencies so that the libraries link correctly. However, for 5157c478bd9Sstevel@tonic-gate# the remaining targets (check, clean, clobber, install_h, lint, _dc 5167c478bd9Sstevel@tonic-gate# and _msg), libraries do not have any dependencies on one another 5177c478bd9Sstevel@tonic-gate# and thus respecting dependencies just slows down the build. 5187c478bd9Sstevel@tonic-gate# As such, for these rules, we use pattern replacement to explicitly 5197c478bd9Sstevel@tonic-gate# avoid triggering the dependency information. Note that for clean, 5207c478bd9Sstevel@tonic-gate# clobber and lint, we must use $(NOWAIT_SUBDIRS) rather than 5217c478bd9Sstevel@tonic-gate# $(SUBDIRS), to prevent `.WAIT' from expanding to `.WAIT-nodepend'. 5227c478bd9Sstevel@tonic-gate# 5237c478bd9Sstevel@tonic-gate 5247c478bd9Sstevel@tonic-gateall: $(SUBDIRS) 5257c478bd9Sstevel@tonic-gate 5267c478bd9Sstevel@tonic-gateinstall: $(SUBDIRS) .WAIT install_extra 5277c478bd9Sstevel@tonic-gate 5287c478bd9Sstevel@tonic-gate# extra libraries kept in other source areas 5297c478bd9Sstevel@tonic-gateinstall_extra: 5307c478bd9Sstevel@tonic-gate @cd ../cmd/sgs; pwd; $(MAKE) install_lib 5317c478bd9Sstevel@tonic-gate @pwd 5327c478bd9Sstevel@tonic-gate 5337c478bd9Sstevel@tonic-gateclean clobber lint: $(NOWAIT_SUBDIRS:%=%-nodepend) 5347c478bd9Sstevel@tonic-gate 5357c478bd9Sstevel@tonic-gateinstall_h check: $(HDRSUBDIRS:%=%-nodepend) 5367c478bd9Sstevel@tonic-gate 5377c478bd9Sstevel@tonic-gate_msg: $(MSGSUBDIRS:%=%-nodepend) .WAIT _dc 5387c478bd9Sstevel@tonic-gate 5397c478bd9Sstevel@tonic-gate_dc: $(DCSUBDIRS:%=%-nodepend) 5407c478bd9Sstevel@tonic-gate 541ba9ca911SYuri Pankov# Library interdependencies are called out explicitly here. 5423e0c8044SRichard Lowe../cmd/sgs/libconv: crt 5433e0c8044SRichard Lowe../cmd/sgs/libdl: crt 544ba9ca911SYuri Pankovlibc: ../cmd/sgs/libconv ../cmd/sgs/libdl 545ba9ca911SYuri Pankov 546ba9ca911SYuri Pankovlibm: libc 547ba9ca911SYuri Pankovlibmd: libc 548ba9ca911SYuri Pankovlibmp: libc 549ba9ca911SYuri Pankovlibnsl: libc libmd libmp 550ba9ca911SYuri Pankovlibnvpair: libc libnsl 551ba9ca911SYuri Pankovlibsocket: libc libnsl 552ba9ca911SYuri Pankov 553ba9ca911SYuri Pankovbasedeps: libc libm libmd libmp libnsl libnvpair libsocket 554ba9ca911SYuri Pankovbasedeps := TARGET=install 555ba9ca911SYuri Pankov 55655b7245bSYuri Pankov# The following dependencies are currently required by libdbus-1 and should 55755b7245bSYuri Pankov# be used for anything linking against it. 55855b7245bSYuri Pankovdbusdeps: libsecdb libtsol libinetutil libscf libuutil libgen libsmbios 55955b7245bSYuri Pankov 560ba9ca911SYuri Pankov# The following dependencies don't need to be listed below as they are built 561ba9ca911SYuri Pankov# before everything else: 562ba9ca911SYuri Pankov# libc libm libmd libmp libnsl libnvpair libsocket 563ba9ca911SYuri Pankovabi: libctf libmapmalloc libproc 564ba9ca911SYuri Pankovauditd_plugins: libbsm libsecdb libgss libmtmalloc 565ba9ca911SYuri Pankovbrand: libzonecfg libmapmalloc 566ba9ca911SYuri Pankovcfgadm_plugins: libdevice libdevinfo libhotplug librcm hbaapi libkstat libscf 567ba9ca911SYuri Pankovfm: libexacct libipmi libzfs scsi libdevinfo libdevid libcfgadm \ 56859596c01SRobert Mustacchi libcontract libsysevent ../cmd/sgs/libelf libdladm 569ba9ca911SYuri Pankov$(SPARC_BLD)fm: libpri 570ba9ca911SYuri Pankovgss_mechs/mech_dh: libgss 571ba9ca911SYuri Pankovgss_mechs/mech_dummy: libgss 572ba9ca911SYuri Pankovgss_mechs/mech_krb5: libgss libresolv2 pkcs11 libkstat 573fca42680SGary Millsgss_mechs/mech_spnego: gss_mechs/mech_krb5 57455b7245bSYuri Pankovhal: dbusdeps 575ba9ca911SYuri Pankovkrb5: gss_mechs/mech_krb5 libtecla libldap5 5767c478bd9Sstevel@tonic-gatelibadt_jni: libbsm 577ba9ca911SYuri Pankovlibadutils: libldap5 libresolv2 5786d8cf567SToomas Soomelibbe: libzfs libinstzones libuuid libgen libdevinfo libefi libficl 579ba9ca911SYuri Pankovlibbsm: libinetutil libscf libsecdb libtsol 580ba9ca911SYuri Pankovlibcfgadm: libdevinfo 581ba9ca911SYuri Pankovlibcmdutils: libavl 582ba9ca911SYuri Pankovlibcpc: libpctx 583ba9ca911SYuri Pankovlibcrypt: libgen 5847fd79137SRobert Mustacchilibctf: libdwarf 5857c478bd9Sstevel@tonic-gatelibdevid: libdevinfo 586ba9ca911SYuri Pankovlibdevinfo: libsec libgen 587ba9ca911SYuri Pankovlibdhcpagent: libdhcputil libuuid libdlpi libcontract 588ba9ca911SYuri Pankovlibdhcputil: libgen libinetutil libdlpi 589ba9ca911SYuri Pankovlibdiskmgt: libdevid libdevinfo libadm libefi libkstat libsysevent 590ba9ca911SYuri Pankov$(INTEL_BLD)libdiskmgt: libfdisk 591ba9ca911SYuri Pankovlibdladm: libdevinfo libinetutil libscf librcm libexacct libkstat \ 592ba9ca911SYuri Pankov libpool 593d62bc4baSyz147064libdlpi: libinetutil libdladm 59482629e30SMike Christensenlibds: libsysevent 595ba9ca911SYuri Pankovlibdscfg: libnsctl libunistat libadm 596fca42680SGary Millslibdtrace: libproc libgen libctf libmapmalloc 597fb3fb4f3Stomeelibdtrace_jni: libuutil libdtrace 5987c478bd9Sstevel@tonic-gatelibefi: libuuid 599ba9ca911SYuri Pankovlibelfsign: libcryptoutil libkmf ../cmd/sgs/libelf 600ba9ca911SYuri Pankovlibeti: libcurses 601ba9ca911SYuri Pankovlibexacct/demo: libexacct libproject 602ba9ca911SYuri Pankovlibfakekernel: libumem libcryptoutil 603fca42680SGary Millslibfcoe: libdladm 604a1bf3f78SToomas Soomelibficl: libumem 605ac88567aSHyon Kimlibfru: libfruutils 606ba9ca911SYuri Pankovlibfsmgt: libkstat 607ba9ca911SYuri Pankovlibgrubmgmt: libdevinfo libzfs libfstyp libefi 608ba9ca911SYuri Pankov$(INTEL_BLD)libgrubmgmt: libfdisk 609ba9ca911SYuri Pankovlibidmap: libavl libuutil 610ba9ca911SYuri Pankovlibinetsvc: libscf 611ba9ca911SYuri Pankovlibinstzones: libzonecfg libcontract 612ba9ca911SYuri Pankovlibipadm: libinetutil libdlpi libdhcpagent libdladm libsecdb 613ba9ca911SYuri Pankovlibipmp: libinetutil 614ba9ca911SYuri Pankovlibipsecutil: libtecla libtsol 615ba9ca911SYuri Pankovlibiscsit: libstmf libuuid 616ba9ca911SYuri Pankovlibkmf: libcryptoutil pkcs11 617ba9ca911SYuri Pankovlibkvm: ../cmd/sgs/libelf 618ba9ca911SYuri Pankovlibldap5: libsasl 619ba9ca911SYuri Pankovlibmapid: libresolv2 libscf 620ba9ca911SYuri Pankovlibndmp: libscf 621ba9ca911SYuri Pankovlibnisdb: libldap5 622ba9ca911SYuri Pankovlibnwam: libscf libbsm libdladm 623ba9ca911SYuri Pankovlibpcp: libumem libdevinfo 624ba9ca911SYuri Pankovlibpctx: libproc 625ba9ca911SYuri Pankovlibpkg: libwanboot libscf libadm 626ba9ca911SYuri Pankovlibpool: libscf libexacct 627ba9ca911SYuri Pankovlibproc: ../cmd/sgs/librtld_db ../cmd/sgs/libelf libctf 628ba9ca911SYuri Pankov$(INTEL_BLD)libproc: libsaveargs 629ba9ca911SYuri Pankovlibproject: libpool libproc libsecdb 630ba9ca911SYuri Pankovlibprtdiag: libkstat 631ba9ca911SYuri Pankovlibprtdiag_psr: libprtdiag 632ba9ca911SYuri Pankovlibraidcfg: libdevinfo 633ba9ca911SYuri Pankovlibrdc: libnsctl libunistat libdscfg 634ba9ca911SYuri Pankovlibrestart: libuutil libscf libpool libproject libsecdb libsysevent 635ba9ca911SYuri Pankovlibsasl: libgss pkcs11 636ba9ca911SYuri Pankovlibsaveargs: libdisasm 637ba9ca911SYuri Pankovlibscf: libuutil libgen libsmbios 638ba9ca911SYuri Pankovlibsec: libavl libidmap 63959596c01SRobert Mustacchilibsff: libnvpair 640ba9ca911SYuri Pankovlibshare: libscf libzfs libuuid libfsmgt libsecdb libumem libsmbfs 641ba9ca911SYuri Pankovlibsip: libmd5 642ba9ca911SYuri Pankovlibsldap: libldap5 libscf 643ba9ca911SYuri Pankovlibsmbfs: libkrb5 libsec libidmap pkcs11 644c325726fSToomas Soomelibsmbios: libdevinfo 645ba9ca911SYuri Pankovlibsrpt: libstmf 646ba9ca911SYuri Pankovlibstmf: libscf 647ba9ca911SYuri Pankovlibstmfproxy: libstmf libpthread 648ba9ca911SYuri Pankovlibsun_ima: libdevinfo libsysevent 649ba9ca911SYuri Pankovlibsysevent: libsecdb 650ba9ca911SYuri Pankovlibtecla: libcurses 651ba9ca911SYuri Pankovlibtermcap: libcurses 652ba9ca911SYuri Pankovlibtnfctl: ../cmd/sgs/libelf 653ba9ca911SYuri Pankovlibtsalarm: libpcp 654ba9ca911SYuri Pankovlibtsnet: libtsol libsecdb 655ba9ca911SYuri Pankovlibtsol: libsecdb 656ba9ca911SYuri Pankovlibuuid: libdlpi 657ba9ca911SYuri Pankovlibv12n: libds libuuid 658ba9ca911SYuri Pankovlibvolmgt: libadm 659ba9ca911SYuri Pankovlibvrrpadm: libdladm libscf 660ba9ca911SYuri Pankovlibvscan: libscf libsecdb 661ba9ca911SYuri Pankovlibwanboot: libresolv2 libdevinfo libinetutil libdhcputil 662ba9ca911SYuri Pankovlibzfs: libdevid libgen libuutil libadm libavl libefi libidmap \ 663ba9ca911SYuri Pankov libumem libtsol libzfs_core 664ba9ca911SYuri Pankovlibzfs_jni: libdiskmgt libzfs 665ba9ca911SYuri Pankovlibzonecfg: libuuid libsysevent libsec libbrand libpool libscf libproc \ 666ba9ca911SYuri Pankov libuutil libbsm libsecdb 667ba9ca911SYuri Pankovlibzonestat: libcmdutils libumem 668ba9ca911SYuri Pankovlibzpool: libavl libumem libcmdutils libsysevent 669ba9ca911SYuri Pankovmadv: libgen 670ba9ca911SYuri Pankovmpapi: libpthread libdevinfo libsysevent 671ba9ca911SYuri Pankovmpss: libgen 672ba9ca911SYuri Pankovnsswitch: libadutils libidmap libdns_sd libscf libldap5 libsldap 673ba9ca911SYuri Pankovpam_modules: libproject passwdutil smbsrv libtsnet libpam libbsm libsecdb 674ba9ca911SYuri Pankovpasswdutil: libsldap 675ba9ca911SYuri Pankovpkcs11: libcryptoutil libgen libuuid 67655b7245bSYuri Pankovpolicykit: dbusdeps 677ba9ca911SYuri Pankovprint: libldap5 libmd5 libsendfile 678f169c0eaSGlenn Lagassepylibbe: libbe libzfs 679e4d060fbSSam Falknerpysolaris: libsec libidmap 680ba9ca911SYuri Pankovpyzfs: libzfs 681ba9ca911SYuri Pankovraidcfg_plugins: libraidcfg librcm libcfgadm libpicl libpicltree 682ba9ca911SYuri Pankovrpcsec_gss: libgss 683ba9ca911SYuri Pankovsasl_plugins: pkcs11 libgss libsasl 684b5254d6eSYuri Pankovscsi: libfru libumem libdevid libdevinfo 685ba9ca911SYuri Pankovsmbsrv: libxnet libpthread librt libshare libidmap pkcs11 libsqlite \ 686ba9ca911SYuri Pankov libcryptoutil libreparse libcmdutils libresolv2 libsmbfs \ 687ba9ca911SYuri Pankov libuuid libfakekernel libads libgss libldap5 krb5 688ba9ca911SYuri Pankovstorage: libdevice libdevinfo libdevid 689ba9ca911SYuri Pankovsun_fc: libdevinfo libsysevent 690ba9ca911SYuri Pankovsun_sas: libdevinfo libsysevent libkstat libdevid 691ba9ca911SYuri Pankovudapl: libdevinfo libdladm 6927c478bd9Sstevel@tonic-gate 6937c478bd9Sstevel@tonic-gate# 6947c478bd9Sstevel@tonic-gate# The reason this rule checks for the existence of the 6957c478bd9Sstevel@tonic-gate# Makefile is that some of the directories do not exist 696fb9f9b97Skupfer# in certain situations (e.g., exportable source builds, 697fb9f9b97Skupfer# OpenSolaris). 6987c478bd9Sstevel@tonic-gate# 699f808c858Sraf$(SUBDIRS): FRC 7007c478bd9Sstevel@tonic-gate @if [ -f $@/Makefile ]; then \ 7017c478bd9Sstevel@tonic-gate cd $@; pwd; $(MAKE) $(TARGET); \ 7027c478bd9Sstevel@tonic-gate else \ 7037c478bd9Sstevel@tonic-gate true; \ 7047c478bd9Sstevel@tonic-gate fi 7057c478bd9Sstevel@tonic-gate 706f808c858Sraf$(SUBDIRS:%=%-nodepend): 7077c478bd9Sstevel@tonic-gate @if [ -f $(@:%-nodepend=%)/Makefile ]; then \ 7087c478bd9Sstevel@tonic-gate cd $(@:%-nodepend=%); pwd; $(MAKE) $(TARGET); \ 7097c478bd9Sstevel@tonic-gate else \ 7107c478bd9Sstevel@tonic-gate true; \ 7117c478bd9Sstevel@tonic-gate fi 7127c478bd9Sstevel@tonic-gate 7137c478bd9Sstevel@tonic-gateFRC: 714