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. 25d8ab6e12SDon Brady# Copyright 2020 Joyent, Inc. 260a1278f2SGary Mills# Copyright (c) 2013 Gary Mills 27fca42680SGary Mills# Copyright (c) 2015 Gary Mills 2815f90b02SGarrett D'Amore# Copyright 2022 Garrett D'Amore 29afc2ba1dSToomas Soome# Copyright 2016 Toomas Soome <tsoome@me.com> 30986347b1SYuri Pankov# Copyright 2018 Nexenta Systems, Inc. 31b31320a7SChris Fraire# Copyright (c) 2016, Chris Fraire <cfraire@me.com>. 32f06dce2cSAndrew Stormont# Copyright 2017 RackTop Systems. 33b30d1939SAndy Fiddaman# Copyright 2018 Jason King 34b30d1939SAndy Fiddaman# Copyright 2021 OmniOS Community Edition (OmniOSce) Association. 35ba9ca911SYuri Pankov# 367c478bd9Sstevel@tonic-gate 377c478bd9Sstevel@tonic-gateinclude ../Makefile.master 387c478bd9Sstevel@tonic-gate 397c478bd9Sstevel@tonic-gate# Note that libcurses installs commands along with its library. 407c478bd9Sstevel@tonic-gate# This is a minor bug which probably should be fixed. 417c478bd9Sstevel@tonic-gate# Note also that a few extra libraries are kept in cmd source. 427c478bd9Sstevel@tonic-gate# 437c478bd9Sstevel@tonic-gate# Certain libraries are linked with, hence depend on, other libraries. 44ba9ca911SYuri Pankov# Library dependencies are called out explicitly, see "Library 45ba9ca911SYuri Pankov# interdependencies" below. 467c478bd9Sstevel@tonic-gate.PARALLEL: 477c478bd9Sstevel@tonic-gate 48ba9ca911SYuri Pankov# Build libc and its dependencies 497c478bd9Sstevel@tonic-gateSUBDIRS= \ 506a817834SRobert Mustacchi ssp_ns \ 513e76f9d6SRichard Lowe crt \ 527c478bd9Sstevel@tonic-gate ../cmd/sgs/libconv \ 53ba9ca911SYuri Pankov ../cmd/sgs/libdl \ 54ba9ca911SYuri Pankov libc \ 55ba9ca911SYuri Pankov .WAIT 56fb9f9b97Skupfer 57ba9ca911SYuri Pankov# Build libraries with lots of dependents 58fb9f9b97SkupferSUBDIRS += \ 59ba9ca911SYuri Pankov libm \ 60734b6a94Sdarrenm libmd \ 61ba9ca911SYuri Pankov libmp \ 627c478bd9Sstevel@tonic-gate libnsl \ 63ba9ca911SYuri Pankov libnvpair \ 64ba9ca911SYuri Pankov libsocket \ 65ba9ca911SYuri Pankov .WAIT 66ba9ca911SYuri Pankov 67ba9ca911SYuri Pankov# Build everything else. Aside from explicit dependencies, all libraries 68ba9ca911SYuri Pankov# are built in parallel. 69ba9ca911SYuri PankovSUBDIRS += \ 70ba9ca911SYuri Pankov ../cmd/sendmail/libmilter \ 71ba9ca911SYuri Pankov ../cmd/sgs/libelf \ 727c478bd9Sstevel@tonic-gate ../cmd/sgs/librtld_db \ 73ba9ca911SYuri Pankov abi \ 74ba9ca911SYuri Pankov auditd_plugins \ 75ba9ca911SYuri Pankov brand \ 76ba9ca911SYuri Pankov c_synonyms \ 77ba9ca911SYuri Pankov cfgadm_plugins \ 78ba9ca911SYuri Pankov crypt_modules \ 79ba9ca911SYuri Pankov extendedFILE \ 80ba9ca911SYuri Pankov fm \ 81ba9ca911SYuri Pankov getloginx \ 82ba9ca911SYuri Pankov gss_mechs/mech_dh \ 83ba9ca911SYuri Pankov gss_mechs/mech_dummy \ 84ba9ca911SYuri Pankov gss_mechs/mech_krb5 \ 85ba9ca911SYuri Pankov gss_mechs/mech_spnego \ 86ba9ca911SYuri Pankov hal \ 87ba9ca911SYuri Pankov hbaapi \ 8816d86563SAlexander Pyhalov iconv_modules \ 89ba9ca911SYuri Pankov krb5 \ 90ba9ca911SYuri Pankov libadm \ 91ba9ca911SYuri Pankov libads \ 92ba9ca911SYuri Pankov libadt_jni \ 93ba9ca911SYuri Pankov libadutils \ 947c478bd9Sstevel@tonic-gate libaio \ 95ba9ca911SYuri Pankov libavl \ 96ba9ca911SYuri Pankov libbe \ 97ba9ca911SYuri Pankov libbrand \ 98ba9ca911SYuri Pankov libbsdmalloc \ 99ba9ca911SYuri Pankov libbsm \ 100ba9ca911SYuri Pankov libc_db \ 101ba9ca911SYuri Pankov libcfgadm \ 102ba9ca911SYuri Pankov libcmdutils \ 103ba9ca911SYuri Pankov libcommputil \ 104ba9ca911SYuri Pankov libcontract \ 105ba9ca911SYuri Pankov libcpc \ 106ba9ca911SYuri Pankov libcrypt \ 107ba9ca911SYuri Pankov libcryptoutil \ 1087c478bd9Sstevel@tonic-gate libctf \ 109ba9ca911SYuri Pankov libcurses \ 110500cf85bSJason King libcustr \ 1114226f635SJason King libdemangle \ 112ba9ca911SYuri Pankov libdevice \ 113ba9ca911SYuri Pankov libdevid \ 114ba9ca911SYuri Pankov libdevinfo \ 115ba9ca911SYuri Pankov libdhcpagent \ 116ba9ca911SYuri Pankov libdhcputil \ 117ba9ca911SYuri Pankov libdisasm \ 118ba9ca911SYuri Pankov libdiskmgt \ 119ba9ca911SYuri Pankov libdladm \ 120ba9ca911SYuri Pankov libdlpi \ 121ba9ca911SYuri Pankov libdns_sd \ 122ba9ca911SYuri Pankov libdoor \ 1237c478bd9Sstevel@tonic-gate libdtrace \ 124fb3fb4f3Stomee libdtrace_jni \ 125bc1f688bSRobert Mustacchi libdwarf \ 1267c478bd9Sstevel@tonic-gate libefi \ 127ba9ca911SYuri Pankov libelfsign \ 128ba9ca911SYuri Pankov libeti \ 129ba9ca911SYuri Pankov libexacct \ 130ba9ca911SYuri Pankov libexacct/demo \ 131ba9ca911SYuri Pankov libfakekernel \ 132ba9ca911SYuri Pankov libfcoe \ 133afc2ba1dSToomas Soome libficl \ 134ba9ca911SYuri Pankov libfru \ 135ba9ca911SYuri Pankov libfruutils \ 136ba9ca911SYuri Pankov libfsmgt \ 1370e42dee6Sartem libfstyp \ 138ba9ca911SYuri Pankov libgen \ 139ba9ca911SYuri Pankov libgrubmgmt \ 140ba9ca911SYuri Pankov libgss \ 141ba9ca911SYuri Pankov libhotplug \ 142*32002227SRobert Mustacchi libi2c \ 143ba9ca911SYuri Pankov libidmap \ 14401aad269SRobert Mustacchi libidspace \ 145ba9ca911SYuri Pankov libilb \ 146ba9ca911SYuri Pankov libima \ 147ba9ca911SYuri Pankov libinetsvc \ 1487c478bd9Sstevel@tonic-gate libinetutil \ 149ba9ca911SYuri Pankov libinstzones \ 150ba9ca911SYuri Pankov libintl \ 1516e91bba0SGirish Moodalbail libipadm \ 152fe77cc04SRobert Mustacchi libipd \ 153ba9ca911SYuri Pankov libipmi \ 1547c478bd9Sstevel@tonic-gate libipmp \ 155ba9ca911SYuri Pankov libipp \ 156ba9ca911SYuri Pankov libipsecutil \ 157a6d42e7dSPeter Dunlap libiscsit \ 1581566bc34SRobert Mustacchi libjedec \ 15999ebb4caSwyllys libkmf \ 160ba9ca911SYuri Pankov libkrb5 \ 1617c478bd9Sstevel@tonic-gate libkstat \ 1626e4a39ccSPatrick Mooney libktest \ 1637c478bd9Sstevel@tonic-gate libkvm \ 1647c478bd9Sstevel@tonic-gate libldap5 \ 165ba9ca911SYuri Pankov liblgrp \ 166ba9ca911SYuri Pankov liblm \ 167ba9ca911SYuri Pankov libm1 \ 168ba9ca911SYuri Pankov libmail \ 169ba9ca911SYuri Pankov libmalloc \ 170ba9ca911SYuri Pankov libmapid \ 171ba9ca911SYuri Pankov libmapmalloc \ 172ba9ca911SYuri Pankov libmd5 \ 1733299f39fSGordon Ross libmlrpc \ 174ba9ca911SYuri Pankov libmtmalloc \ 175ba9ca911SYuri Pankov libmvec \ 176ba9ca911SYuri Pankov libndmp \ 1777c478bd9Sstevel@tonic-gate libnisdb \ 178ba9ca911SYuri Pankov libnls \ 179533affcbSRobert Mustacchi libnvme \ 180ba9ca911SYuri Pankov libnwam \ 181e96f8419SYuri Pankov libofmt \ 182ba9ca911SYuri Pankov libpam \ 183ba9ca911SYuri Pankov libpcidb \ 184a61ed2ceSHans Rosenfeld libpcsc \ 185ba9ca911SYuri Pankov libpctx \ 186ba9ca911SYuri Pankov libpicl \ 187ba9ca911SYuri Pankov libpicltree \ 188ba9ca911SYuri Pankov libpkg \ 1897c478bd9Sstevel@tonic-gate libpool \ 1907c478bd9Sstevel@tonic-gate libproc \ 1917c478bd9Sstevel@tonic-gate libproject \ 192ba9ca911SYuri Pankov libpthread \ 193ba9ca911SYuri Pankov libraidcfg \ 194ba9ca911SYuri Pankov librcm \ 1956e2462f9SRobert Mustacchi librename \ 196ba9ca911SYuri Pankov libreparse \ 197ba9ca911SYuri Pankov libresolv \ 198ba9ca911SYuri Pankov libresolv2 \ 199ba9ca911SYuri Pankov librestart \ 200ba9ca911SYuri Pankov librpcsvc \ 201ba9ca911SYuri Pankov librsm \ 202ba9ca911SYuri Pankov librstp \ 203ba9ca911SYuri Pankov librt \ 204ba9ca911SYuri Pankov libsasl \ 205ba9ca911SYuri Pankov libscf \ 206ba9ca911SYuri Pankov libsched \ 207ba9ca911SYuri Pankov libsctp \ 208ba9ca911SYuri Pankov libsec \ 209ba9ca911SYuri Pankov libsecdb \ 2107c478bd9Sstevel@tonic-gate libsendfile \ 21145d3dd98SRobert Mustacchi libsff \ 212ba9ca911SYuri Pankov libshare \ 213ba9ca911SYuri Pankov libsip \ 214ba9ca911SYuri Pankov libsldap \ 215ba9ca911SYuri Pankov libslp \ 216fcf3ce44SJohn Forte libsmbfs \ 217ba9ca911SYuri Pankov libsmbios \ 218ba9ca911SYuri Pankov libsmedia \ 219ba9ca911SYuri Pankov libsqlite \ 220c3a558e7SSue Gleeson libsrpt \ 221fcf3ce44SJohn Forte libstmf \ 22245039663SJohn Forte libstmfproxy \ 223ba9ca911SYuri Pankov libsun_ima \ 224ba9ca911SYuri Pankov libsysevent \ 225ba9ca911SYuri Pankov libtecla \ 226ba9ca911SYuri Pankov libtermcap \ 227ba9ca911SYuri Pankov libthread \ 228ba9ca911SYuri Pankov libtsnet \ 229ba9ca911SYuri Pankov libtsol \ 230ba9ca911SYuri Pankov libumem \ 2318124b811SYuri Pankov libutempter \ 232ba9ca911SYuri Pankov libuuid \ 2337c478bd9Sstevel@tonic-gate libuutil \ 234ba9ca911SYuri Pankov libvolmgt \ 235ba9ca911SYuri Pankov libvrrpadm \ 236ba9ca911SYuri Pankov libvscan \ 237ba9ca911SYuri Pankov libw \ 2387c478bd9Sstevel@tonic-gate libwrap \ 2397c478bd9Sstevel@tonic-gate libxcurses \ 2407c478bd9Sstevel@tonic-gate libxcurses2 \ 241ba9ca911SYuri Pankov libxnet \ 242fd71220bSRobert Mustacchi libxpio \ 243ba9ca911SYuri Pankov libzfs \ 24409fcda9fSToomas Soome libzfsbootenv \ 245ba9ca911SYuri Pankov libzfs_core \ 246ba9ca911SYuri Pankov libzfs_jni \ 2477c478bd9Sstevel@tonic-gate libzonecfg \ 2487c478bd9Sstevel@tonic-gate libzoneinfo \ 249efd4c9b6SSteve Lawrence libzonestat \ 250fa9e4066Sahrens libzpool \ 251d8ab6e12SDon Brady libzutil \ 252ba9ca911SYuri Pankov madv \ 253fcf3ce44SJohn Forte mpapi \ 254ba9ca911SYuri Pankov mpss \ 255ba9ca911SYuri Pankov nametoaddr \ 256ba9ca911SYuri Pankov nsswitch \ 257ba9ca911SYuri Pankov pam_modules \ 258ba9ca911SYuri Pankov passwdutil \ 259ba9ca911SYuri Pankov pkcs11 \ 260ba9ca911SYuri Pankov policykit \ 261ba9ca911SYuri Pankov print \ 262ba9ca911SYuri Pankov pylibbe \ 263ba9ca911SYuri Pankov pysolaris \ 264ba9ca911SYuri Pankov pyzfs \ 265ba9ca911SYuri Pankov raidcfg_plugins \ 266ba9ca911SYuri Pankov rpcsec_gss \ 267ba9ca911SYuri Pankov sasl_plugins \ 268ba9ca911SYuri Pankov scsi \ 2698329232eSGordon Ross smbclnt \ 270ba9ca911SYuri Pankov smbsrv \ 271ba9ca911SYuri Pankov smhba \ 272ba9ca911SYuri Pankov sun_fc \ 273ba9ca911SYuri Pankov sun_sas \ 274ba9ca911SYuri Pankov udapl \ 27536589d6bSRobert Mustacchi varpd \ 276ba9ca911SYuri Pankov watchmalloc \ 2777c478bd9Sstevel@tonic-gate $($(MACH)_SUBDIRS) 2787c478bd9Sstevel@tonic-gate 2797e7bd3dcSMark Logani386_SUBDIRS= \ 280aa693e99SJason King lib9p \ 281702941cdSRichard Lowe libfdisk \ 28287be0d96SToomas Soome libppt \ 2834c87aefeSPatrick Mooney libsaveargs \ 2849c3024a3SHans Rosenfeld libvmm \ 2854c87aefeSPatrick Mooney libvmmapi 2867e7bd3dcSMark Logan 287ba9ca911SYuri Pankovsparc_SUBDIRS= \ 28830588217SMike Christensen libds \ 28925cf1a30Sjl139090 libdscp \ 290ba9ca911SYuri Pankov libprtdiag \ 29103831d35Sstevel libprtdiag_psr \ 292ef884685Srb144127 libpri \ 29303831d35Sstevel librsc \ 2947c478bd9Sstevel@tonic-gate storage \ 2954a6822d0Swillard libpcp \ 29682629e30SMike Christensen libtsalarm \ 29782629e30SMike Christensen libv12n 2987c478bd9Sstevel@tonic-gate 2997c478bd9Sstevel@tonic-gate# 3007c478bd9Sstevel@tonic-gate# Create a special version of $(SUBDIRS) with no .WAIT's, for use with the 3017c478bd9Sstevel@tonic-gate# clean and clobber targets (for more information, see those targets, below). 3027c478bd9Sstevel@tonic-gate# 3037c478bd9Sstevel@tonic-gateNOWAIT_SUBDIRS= $(SUBDIRS:.WAIT=) 3047c478bd9Sstevel@tonic-gate 3055f10ef69SYuri PankovDCSUBDIRS= 3067c478bd9Sstevel@tonic-gate 3077c478bd9Sstevel@tonic-gateMSGSUBDIRS= \ 3087c478bd9Sstevel@tonic-gate abi \ 3097c478bd9Sstevel@tonic-gate auditd_plugins \ 3109acbbeafSnn35248 brand \ 3117c478bd9Sstevel@tonic-gate cfgadm_plugins \ 3127c478bd9Sstevel@tonic-gate gss_mechs/mech_dh \ 3137c478bd9Sstevel@tonic-gate gss_mechs/mech_krb5 \ 3147c478bd9Sstevel@tonic-gate krb5 \ 3157c478bd9Sstevel@tonic-gate libbsm \ 3167c478bd9Sstevel@tonic-gate libc \ 3177c478bd9Sstevel@tonic-gate libcfgadm \ 3187c478bd9Sstevel@tonic-gate libcontract \ 3197c478bd9Sstevel@tonic-gate libcurses \ 3207c478bd9Sstevel@tonic-gate libdhcputil \ 321181c2f42Smmusante libdiskmgt \ 32233343a97Smeem libdladm \ 323753a6d45SSherry Moore libgrubmgmt \ 3247c478bd9Sstevel@tonic-gate libgss \ 325c5c4113dSnw141292 libidmap \ 326dbed73cbSSangeeta Misra libilb \ 3275c51f124SMoriah Waterland libinstzones \ 3286e91bba0SGirish Moodalbail libipadm \ 329ba9ca911SYuri Pankov libipmp \ 330ba9ca911SYuri Pankov libipsecutil \ 331ba9ca911SYuri Pankov libldap5 \ 3327c478bd9Sstevel@tonic-gate libnsl \ 3336ba597c5SAnurag S. Maskey libnwam \ 334e96f8419SYuri Pankov libofmt \ 3357c478bd9Sstevel@tonic-gate libpam \ 3367c478bd9Sstevel@tonic-gate libpicl \ 3375c51f124SMoriah Waterland libpkg \ 338ba9ca911SYuri Pankov libpool \ 339ba9ca911SYuri Pankov libreparse \ 3407c478bd9Sstevel@tonic-gate libsasl \ 341ba9ca911SYuri Pankov libscf \ 3427c478bd9Sstevel@tonic-gate libsecdb \ 3436185db85Sdougm libshare \ 3447c478bd9Sstevel@tonic-gate libsldap \ 3457c478bd9Sstevel@tonic-gate libslp \ 3464bff34e3Sthurlow libsmbfs \ 3477c478bd9Sstevel@tonic-gate libsmedia \ 34845916cd2Sjpk libtsol \ 3497c478bd9Sstevel@tonic-gate libuutil \ 3501cb875aeSCathy Zhou libvrrpadm \ 351911106dfSjm199354 libvscan \ 352c3aa2a37Sck153898 libzfs \ 3537c478bd9Sstevel@tonic-gate libzonecfg \ 3547c478bd9Sstevel@tonic-gate madv \ 3557c478bd9Sstevel@tonic-gate mpss \ 3567c478bd9Sstevel@tonic-gate pam_modules \ 357ba9ca911SYuri Pankov pyzfs \ 3587a286c47SDai Ngo rpcsec_gss \ 3597c478bd9Sstevel@tonic-gate $($(MACH)_MSGSUBDIRS) 3607c478bd9Sstevel@tonic-gate 36103831d35Sstevelsparc_MSGSUBDIRS= \ 36203831d35Sstevel libprtdiag \ 36303831d35Sstevel libprtdiag_psr 3647c478bd9Sstevel@tonic-gate 365aa1b14e7SSheshadri Vasudevani386_MSGSUBDIRS= libfdisk 366aa1b14e7SSheshadri Vasudevan 367f841f6adSrafHDRSUBDIRS= \ 368ba9ca911SYuri Pankov ../cmd/sendmail/libmilter \ 3697c478bd9Sstevel@tonic-gate auditd_plugins \ 370ba9ca911SYuri Pankov fm \ 371ba9ca911SYuri Pankov hal \ 372ba9ca911SYuri Pankov hbaapi \ 373b3700b07SGordon Ross libads \ 3749acbbeafSnn35248 libbrand \ 3757c478bd9Sstevel@tonic-gate libbsm \ 3767c478bd9Sstevel@tonic-gate libc \ 3777c478bd9Sstevel@tonic-gate libcmdutils \ 3786e91bba0SGirish Moodalbail libcommputil \ 3797c478bd9Sstevel@tonic-gate libcontract \ 3807c478bd9Sstevel@tonic-gate libcpc \ 381ba9ca911SYuri Pankov libcryptoutil \ 3827c478bd9Sstevel@tonic-gate libctf \ 3837c478bd9Sstevel@tonic-gate libcurses \ 384500cf85bSJason King libcustr \ 3854226f635SJason King libdemangle \ 3867c478bd9Sstevel@tonic-gate libdevice \ 3877c478bd9Sstevel@tonic-gate libdevid \ 3887c478bd9Sstevel@tonic-gate libdevinfo \ 389ba9ca911SYuri Pankov libdhcpagent \ 390ba9ca911SYuri Pankov libdhcputil \ 391ba9ca911SYuri Pankov libdisasm \ 3923e1bd7a2Ssjelinek libdiskmgt \ 3937c478bd9Sstevel@tonic-gate libdladm \ 3947c478bd9Sstevel@tonic-gate libdlpi \ 3954b22b933Srs200217 libdns_sd \ 3967c478bd9Sstevel@tonic-gate libdtrace \ 397fb3fb4f3Stomee libdtrace_jni \ 398df8bdeb3Sjohnz libelfsign \ 3997c478bd9Sstevel@tonic-gate libeti \ 400b819cea2SGordon Ross libfakekernel \ 401ba9ca911SYuri Pankov libfcoe \ 402c69f580fSSundeep Panicker libfru \ 4030e42dee6Sartem libfstyp \ 4047c478bd9Sstevel@tonic-gate libgen \ 405ba9ca911SYuri Pankov libgrubmgmt \ 406*32002227SRobert Mustacchi libi2c \ 407ba9ca911SYuri Pankov libidmap \ 40801aad269SRobert Mustacchi libidspace \ 409ba9ca911SYuri Pankov libilb \ 410ba9ca911SYuri Pankov libima \ 4117c478bd9Sstevel@tonic-gate libinetsvc \ 4127c478bd9Sstevel@tonic-gate libinetutil \ 41322fb2eebSMoriah Waterland libinstzones \ 414ba9ca911SYuri Pankov libipadm \ 415ba9ca911SYuri Pankov libipd \ 4169113a79cSeschrock libipmi \ 4177c478bd9Sstevel@tonic-gate libipmp \ 4187c478bd9Sstevel@tonic-gate libipp \ 419ba9ca911SYuri Pankov libipsecutil \ 420a6d42e7dSPeter Dunlap libiscsit \ 421ba9ca911SYuri Pankov libkrb5 \ 4227c478bd9Sstevel@tonic-gate libkstat \ 4236e4a39ccSPatrick Mooney libktest \ 4247c478bd9Sstevel@tonic-gate libkvm \ 4257c478bd9Sstevel@tonic-gate libmail \ 426ba9ca911SYuri Pankov libmapid \ 427734b6a94Sdarrenm libmd \ 4283299f39fSGordon Ross libmlrpc \ 4297c478bd9Sstevel@tonic-gate libmtmalloc \ 4302654012fSReza Sabdar libndmp \ 43145916cd2Sjpk libnsl \ 432533affcbSRobert Mustacchi libnvme \ 433ba9ca911SYuri Pankov libnvpair \ 434b00044a2SJames Carlson libnwam \ 435e96f8419SYuri Pankov libofmt \ 4367c478bd9Sstevel@tonic-gate libpam \ 437abc79d9dSRobert Mustacchi libpcidb \ 438a61ed2ceSHans Rosenfeld libpcsc \ 4397c478bd9Sstevel@tonic-gate libpctx \ 4407c478bd9Sstevel@tonic-gate libpicl \ 4417c478bd9Sstevel@tonic-gate libpicltree \ 4427c478bd9Sstevel@tonic-gate libpool \ 4437c478bd9Sstevel@tonic-gate libproc \ 4443e4f2897Sjc156560 libraidcfg \ 4457c478bd9Sstevel@tonic-gate librcm \ 4466e2462f9SRobert Mustacchi librename \ 447ba9ca911SYuri Pankov libreparse \ 4487c478bd9Sstevel@tonic-gate librestart \ 4497c478bd9Sstevel@tonic-gate librpcsvc \ 4507c478bd9Sstevel@tonic-gate librsm \ 4514eaa4710SRishi Srivatsavai librstp \ 4527c478bd9Sstevel@tonic-gate libsasl \ 453ba9ca911SYuri Pankov libscf \ 454fa9e4066Sahrens libsec \ 45545d3dd98SRobert Mustacchi libsff \ 456ba9ca911SYuri Pankov libshare \ 457ba9ca911SYuri Pankov libsip \ 4587c478bd9Sstevel@tonic-gate libslp \ 459ba9ca911SYuri Pankov libsmbfs \ 460ba9ca911SYuri Pankov libsmbios \ 4617c478bd9Sstevel@tonic-gate libsmedia \ 4626e91bba0SGirish Moodalbail libsocket \ 463c5c4113dSnw141292 libsqlite \ 464c3a558e7SSue Gleeson libsrpt \ 465fcf3ce44SJohn Forte libstmf \ 46645039663SJohn Forte libstmfproxy \ 467ba9ca911SYuri Pankov libsun_ima \ 4687c478bd9Sstevel@tonic-gate libsysevent \ 4697c478bd9Sstevel@tonic-gate libtecla \ 470ba9ca911SYuri Pankov libtermcap \ 47145916cd2Sjpk libtsnet \ 47245916cd2Sjpk libtsol \ 4737c478bd9Sstevel@tonic-gate libumem \ 4748124b811SYuri Pankov libutempter \ 4757c478bd9Sstevel@tonic-gate libuutil \ 476ba9ca911SYuri Pankov libvolmgt \ 477ba9ca911SYuri Pankov libvrrpadm \ 478ba9ca911SYuri Pankov libvscan \ 4797c478bd9Sstevel@tonic-gate libwrap \ 4807c478bd9Sstevel@tonic-gate libxcurses2 \ 481fd71220bSRobert Mustacchi libxpio \ 482fa9e4066Sahrens libzfs \ 4834445fffbSMatthew Ahrens libzfs_core \ 484088e9d47Seschrock libzfs_jni \ 4857c478bd9Sstevel@tonic-gate libzoneinfo \ 486efd4c9b6SSteve Lawrence libzonestat \ 487fcf3ce44SJohn Forte mpapi \ 488ba9ca911SYuri Pankov passwdutil \ 489ba9ca911SYuri Pankov pkcs11 \ 490ba9ca911SYuri Pankov policykit \ 491ba9ca911SYuri Pankov scsi \ 492ba9ca911SYuri Pankov smbsrv \ 493ba9ca911SYuri Pankov smhba \ 494ba9ca911SYuri Pankov udapl \ 49536589d6bSRobert Mustacchi varpd \ 4967c478bd9Sstevel@tonic-gate $($(MACH)_HDRSUBDIRS) 4977c478bd9Sstevel@tonic-gate 498964db34dSMark Logani386_HDRSUBDIRS= \ 499aa693e99SJason King lib9p \ 500702941cdSRichard Lowe libfdisk \ 50187be0d96SToomas Soome libppt \ 5024c87aefeSPatrick Mooney libsaveargs \ 5039c3024a3SHans Rosenfeld libvmm \ 5044c87aefeSPatrick Mooney libvmmapi 505964db34dSMark Logan 5067c478bd9Sstevel@tonic-gatesparc_HDRSUBDIRS= \ 50730588217SMike Christensen libds \ 50825cf1a30Sjl139090 libdscp \ 509fcf3ce44SJohn Forte libpri \ 51082629e30SMike Christensen libv12n \ 511fcf3ce44SJohn Forte storage 5127c478bd9Sstevel@tonic-gate 5137c478bd9Sstevel@tonic-gateall := TARGET= all 5147c478bd9Sstevel@tonic-gatecheck := TARGET= check 5157c478bd9Sstevel@tonic-gateclean := TARGET= clean 5167c478bd9Sstevel@tonic-gateclobber := TARGET= clobber 5177c478bd9Sstevel@tonic-gateinstall := TARGET= install 5187c478bd9Sstevel@tonic-gateinstall_h := TARGET= install_h 5197c478bd9Sstevel@tonic-gate_dc := TARGET= _dc 5207c478bd9Sstevel@tonic-gate_msg := TARGET= _msg 5217c478bd9Sstevel@tonic-gate 5227c478bd9Sstevel@tonic-gate.KEEP_STATE: 5237c478bd9Sstevel@tonic-gate 5247c478bd9Sstevel@tonic-gate# 5257c478bd9Sstevel@tonic-gate# For the all and install targets, we clearly must respect library 5267c478bd9Sstevel@tonic-gate# dependencies so that the libraries link correctly. However, for 527856f710cSAndy Fiddaman# the remaining targets (check, clean, clobber, install_h, _dc 5287c478bd9Sstevel@tonic-gate# and _msg), libraries do not have any dependencies on one another 5297c478bd9Sstevel@tonic-gate# and thus respecting dependencies just slows down the build. 5307c478bd9Sstevel@tonic-gate# As such, for these rules, we use pattern replacement to explicitly 531856f710cSAndy Fiddaman# avoid triggering the dependency information. Note that for clean and 532856f710cSAndy Fiddaman# clobber, we must use $(NOWAIT_SUBDIRS) rather than 5337c478bd9Sstevel@tonic-gate# $(SUBDIRS), to prevent `.WAIT' from expanding to `.WAIT-nodepend'. 5347c478bd9Sstevel@tonic-gate# 5357c478bd9Sstevel@tonic-gate 5367c478bd9Sstevel@tonic-gateall: $(SUBDIRS) 5377c478bd9Sstevel@tonic-gate 5387c478bd9Sstevel@tonic-gateinstall: $(SUBDIRS) .WAIT install_extra 5397c478bd9Sstevel@tonic-gate 5407c478bd9Sstevel@tonic-gate# extra libraries kept in other source areas 5417c478bd9Sstevel@tonic-gateinstall_extra: 5427c478bd9Sstevel@tonic-gate @cd ../cmd/sgs; pwd; $(MAKE) install_lib 5437c478bd9Sstevel@tonic-gate @pwd 5447c478bd9Sstevel@tonic-gate 545856f710cSAndy Fiddamanclean clobber: $(NOWAIT_SUBDIRS:%=%-nodepend) 546856f710cSAndy Fiddaman 5477c478bd9Sstevel@tonic-gate 5487c478bd9Sstevel@tonic-gateinstall_h check: $(HDRSUBDIRS:%=%-nodepend) 5497c478bd9Sstevel@tonic-gate 5507c478bd9Sstevel@tonic-gate_msg: $(MSGSUBDIRS:%=%-nodepend) .WAIT _dc 5517c478bd9Sstevel@tonic-gate 5527c478bd9Sstevel@tonic-gate_dc: $(DCSUBDIRS:%=%-nodepend) 5537c478bd9Sstevel@tonic-gate 554ba9ca911SYuri Pankov# Library interdependencies are called out explicitly here. 5553e76f9d6SRichard Lowe../cmd/sgs/libconv: crt 5563e76f9d6SRichard Lowe../cmd/sgs/libdl: crt 557ba9ca911SYuri Pankovlibc: ../cmd/sgs/libconv ../cmd/sgs/libdl 558ba9ca911SYuri Pankov 559ba9ca911SYuri Pankovlibm: libc 560ba9ca911SYuri Pankovlibmd: libc 561ba9ca911SYuri Pankovlibmp: libc 562ba9ca911SYuri Pankovlibnsl: libc libmd libmp 563ba9ca911SYuri Pankovlibnvpair: libc libnsl 564ba9ca911SYuri Pankovlibsocket: libc libnsl 565ba9ca911SYuri Pankov 566ba9ca911SYuri Pankovbasedeps: libc libm libmd libmp libnsl libnvpair libsocket 567ba9ca911SYuri Pankovbasedeps := TARGET=install 568ba9ca911SYuri Pankov 5698a154f4fSYuri Pankov# The following dependencies are currently required by libdbus-1 and should 5708a154f4fSYuri Pankov# be used for anything linking against it. 5714fcda281SRobert Mustacchidbusdeps: libsecdb libtsol libinetutil libscf libuutil libgen libsmbios \ 5724fcda281SRobert Mustacchi libbsm 5738a154f4fSYuri Pankov 574ba9ca911SYuri Pankov# The following dependencies don't need to be listed below as they are built 575ba9ca911SYuri Pankov# before everything else: 576ba9ca911SYuri Pankov# libc libm libmd libmp libnsl libnvpair libsocket 5775801b0f0SToomas Soome../cmd/sendmail/libmilter: libsocket libnsl 578ba9ca911SYuri Pankovabi: libctf libmapmalloc libproc 579ba9ca911SYuri Pankovauditd_plugins: libbsm libsecdb libgss libmtmalloc 580ba9ca911SYuri Pankovbrand: libzonecfg libmapmalloc 581ba9ca911SYuri Pankovcfgadm_plugins: libdevice libdevinfo libhotplug librcm hbaapi libkstat libscf 582ba9ca911SYuri Pankovfm: libexacct libipmi libzfs scsi libdevinfo libdevid libcfgadm \ 5836578fdfaSJason King libcontract libsysevent ../cmd/sgs/libelf libdladm libsff \ 584533affcbSRobert Mustacchi libpcidb libdiskmgt libjedec libnvme 585ba9ca911SYuri Pankov$(SPARC_BLD)fm: libpri 586ba9ca911SYuri Pankovgss_mechs/mech_dh: libgss 587ba9ca911SYuri Pankovgss_mechs/mech_dummy: libgss 588ba9ca911SYuri Pankovgss_mechs/mech_krb5: libgss libresolv2 pkcs11 libkstat 589fca42680SGary Millsgss_mechs/mech_spnego: gss_mechs/mech_krb5 5908a154f4fSYuri Pankovhal: dbusdeps 591ba9ca911SYuri Pankovkrb5: gss_mechs/mech_krb5 libtecla libldap5 592aa693e99SJason Kinglib9p: libsec libcustr 5935801b0f0SToomas Soomelibads: libnsl 5947c478bd9Sstevel@tonic-gatelibadt_jni: libbsm 595ba9ca911SYuri Pankovlibadutils: libldap5 libresolv2 596b713c91eSToomas Soomelibbe: libzfs libinstzones libuuid libgen libdevinfo libefi libficl \ 597b713c91eSToomas Soome libzfsbootenv 598ba9ca911SYuri Pankovlibbsm: libinetutil libscf libsecdb libtsol 599ba9ca911SYuri Pankovlibcfgadm: libdevinfo 6005801b0f0SToomas Soomelibcontract: libnvpair 6015801b0f0SToomas Soomelibcmdutils: libavl libnvpair 602ba9ca911SYuri Pankovlibcpc: libpctx 603ba9ca911SYuri Pankovlibcrypt: libgen 60478a707fcSAndy Fiddamanlibctf: libavl libdwarf 6056a6cfa5dSJason Kinglibdemangle: libcustr 6065801b0f0SToomas Soomelibdevice: libnvpair 6077c478bd9Sstevel@tonic-gatelibdevid: libdevinfo 608ba9ca911SYuri Pankovlibdevinfo: libsec libgen 609ba9ca911SYuri Pankovlibdhcpagent: libdhcputil libuuid libdlpi libcontract 610ba9ca911SYuri Pankovlibdhcputil: libgen libinetutil libdlpi 611ba9ca911SYuri Pankovlibdiskmgt: libdevid libdevinfo libadm libefi libkstat libsysevent 612ba9ca911SYuri Pankov$(INTEL_BLD)libdiskmgt: libfdisk 613ba9ca911SYuri Pankovlibdladm: libdevinfo libinetutil libscf librcm libexacct libkstat \ 61436589d6bSRobert Mustacchi libpool varpd 615d62bc4baSyz147064libdlpi: libinetutil libdladm 61682629e30SMike Christensenlibds: libsysevent 617fca42680SGary Millslibdtrace: libproc libgen libctf libmapmalloc 618fb3fb4f3Stomeelibdtrace_jni: libuutil libdtrace 6195801b0f0SToomas Soomelibdwarf: ../cmd/sgs/libelf 6204540c8e2SAndy Fiddamanlibefi: libuuid libsmbios 621ba9ca911SYuri Pankovlibelfsign: libcryptoutil libkmf ../cmd/sgs/libelf 622ba9ca911SYuri Pankovlibeti: libcurses 623ba9ca911SYuri Pankovlibexacct/demo: libexacct libproject 624ba9ca911SYuri Pankovlibfakekernel: libumem libcryptoutil 625fca42680SGary Millslibfcoe: libdladm 626fdff6ceaSToomas Soomelibficl: libuuid libumem 627ac88567aSHyon Kimlibfru: libfruutils 628ba9ca911SYuri Pankovlibfsmgt: libkstat 629ba9ca911SYuri Pankovlibgrubmgmt: libdevinfo libzfs libfstyp libefi 630ba9ca911SYuri Pankov$(INTEL_BLD)libgrubmgmt: libfdisk 631*32002227SRobert Mustacchilibi2c: libdevinfo 632ba9ca911SYuri Pankovlibidmap: libavl libuutil 63301aad269SRobert Mustacchilibidspace: libumem 634ba9ca911SYuri Pankovlibinetsvc: libscf 6355801b0f0SToomas Soomelibinetutil: libsocket 636ba9ca911SYuri Pankovlibinstzones: libzonecfg libcontract 637a73be61aSHans Rosenfeldlibipadm: libinetutil libdlpi libdhcpagent libdladm libsecdb libdhcputil \ 638feb56290SToomas Soome libcmdutils libipmp 6395801b0f0SToomas Soomelibipmi: libm libnvpair libsocket libnsl 640ba9ca911SYuri Pankovlibipmp: libinetutil 641bdc560abSJason Kinglibipsecutil: libtecla libtsol libkmf 642ba9ca911SYuri Pankovlibiscsit: libstmf libuuid 6435801b0f0SToomas Soomelibhotplug: libnvpair 644bdc560abSJason Kinglibkmf: libcryptoutil pkcs11 libcustr 6456e4a39ccSPatrick Mooneylibktest: libnvpair 646ba9ca911SYuri Pankovlibkvm: ../cmd/sgs/libelf 647ba9ca911SYuri Pankovlibldap5: libsasl 648ba9ca911SYuri Pankovlibmapid: libresolv2 libscf 6493299f39fSGordon Rosslibmlrpc: libsmbfs libuuid 650ba9ca911SYuri Pankovlibndmp: libscf 651ba9ca911SYuri Pankovlibnisdb: libldap5 652533affcbSRobert Mustacchilibnvme: libdevinfo libnvpair 653b31320a7SChris Frairelibnwam: libscf libbsm libdladm libipadm 654ba9ca911SYuri Pankovlibpcp: libumem libdevinfo 655ba9ca911SYuri Pankovlibpctx: libproc 656bf5d9f18SAndy Fiddamanlibpkg: libscf libadm 657ba9ca911SYuri Pankovlibpool: libscf libexacct 658eb9a1df2SHans Rosenfeldlibppt: libpcidb libdevinfo libcmdutils 659ba9ca911SYuri Pankovlibproc: ../cmd/sgs/librtld_db ../cmd/sgs/libelf libctf 660ba9ca911SYuri Pankov$(INTEL_BLD)libproc: libsaveargs 661ba9ca911SYuri Pankovlibproject: libpool libproc libsecdb 6625801b0f0SToomas Soomelibprtdiag: libkstat libdevinfo 663ba9ca911SYuri Pankovlibprtdiag_psr: libprtdiag 664ba9ca911SYuri Pankovlibraidcfg: libdevinfo 6655801b0f0SToomas Soomelibrcm: libnvpair 666ba9ca911SYuri Pankovlibrestart: libuutil libscf libpool libproject libsecdb libsysevent 667ba9ca911SYuri Pankovlibsasl: libgss pkcs11 668ba9ca911SYuri Pankovlibsaveargs: libdisasm 6695801b0f0SToomas Soomelibscf: libuutil libgen libnsl libnvpair libsmbios 670ba9ca911SYuri Pankovlibsec: libavl libidmap 6715801b0f0SToomas Soomelibsecdb: libnsl 67245d3dd98SRobert Mustacchilibsff: libnvpair 673ba9ca911SYuri Pankovlibshare: libscf libzfs libuuid libfsmgt libsecdb libumem libsmbfs 674ba9ca911SYuri Pankovlibsip: libmd5 675ba9ca911SYuri Pankovlibsldap: libldap5 libscf 676ba9ca911SYuri Pankovlibsmbfs: libkrb5 libsec libidmap pkcs11 6771951a933SToomas Soomelibsmbios: libdevinfo 678ba9ca911SYuri Pankovlibsrpt: libstmf 679ba9ca911SYuri Pankovlibstmf: libscf 680ba9ca911SYuri Pankovlibstmfproxy: libstmf libpthread 681ba9ca911SYuri Pankovlibsun_ima: libdevinfo libsysevent 682ba9ca911SYuri Pankovlibsysevent: libsecdb 683ba9ca911SYuri Pankovlibtecla: libcurses 684ba9ca911SYuri Pankovlibtermcap: libcurses 685ba9ca911SYuri Pankovlibtsalarm: libpcp 686ba9ca911SYuri Pankovlibtsnet: libtsol libsecdb 687ba9ca911SYuri Pankovlibtsol: libsecdb 688ba9ca911SYuri Pankovlibuuid: libdlpi 689ba9ca911SYuri Pankovlibv12n: libds libuuid 6909c3024a3SHans Rosenfeldlibvmm: libvmmapi 691ba9ca911SYuri Pankovlibvolmgt: libadm 692ba9ca911SYuri Pankovlibvrrpadm: libdladm libscf 693ba9ca911SYuri Pankovlibvscan: libscf libsecdb 694fd71220bSRobert Mustacchilibxpio: libdevinfo libnvpair 695d8ab6e12SDon Bradylibzfs: libdevid libgen libuutil libavl libefi libidmap \ 696d8ab6e12SDon Brady libumem libtsol libzfs_core libcryptoutil pkcs11 libmd libzutil 69709fcda9fSToomas Soomelibzfsbootenv: libzfs libnvpair 6985801b0f0SToomas Soomelibzfs_core: libnvpair 699d8ab6e12SDon Bradylibzfs_jni: libdiskmgt libzfs libzutil 700ba9ca911SYuri Pankovlibzonecfg: libuuid libsysevent libsec libbrand libpool libscf libproc \ 701ba9ca911SYuri Pankov libuutil libbsm libsecdb 702ba9ca911SYuri Pankovlibzonestat: libcmdutils libumem 703d8ab6e12SDon Bradylibzpool: libavl libumem libcmdutils libsysevent libfakekernel libzutil 704d8ab6e12SDon Bradylibzutil: libadm libavl libdevid libefi 705ba9ca911SYuri Pankovmadv: libgen 706ba9ca911SYuri Pankovmpapi: libpthread libdevinfo libsysevent 707ba9ca911SYuri Pankovmpss: libgen 708ba9ca911SYuri Pankovnsswitch: libadutils libidmap libdns_sd libscf libldap5 libsldap 709ba9ca911SYuri Pankovpam_modules: libproject passwdutil smbsrv libtsnet libpam libbsm libsecdb 710ba9ca911SYuri Pankovpasswdutil: libsldap 711ba9ca911SYuri Pankovpkcs11: libcryptoutil libgen libuuid 7128a154f4fSYuri Pankovpolicykit: dbusdeps 713ba9ca911SYuri Pankovprint: libldap5 libmd5 libsendfile 714f169c0eaSGlenn Lagassepylibbe: libbe libzfs 715e4d060fbSSam Falknerpysolaris: libsec libidmap 716ba9ca911SYuri Pankovpyzfs: libzfs 717ba9ca911SYuri Pankovraidcfg_plugins: libraidcfg librcm libcfgadm libpicl libpicltree 718ba9ca911SYuri Pankovrpcsec_gss: libgss 719ba9ca911SYuri Pankovsasl_plugins: pkcs11 libgss libsasl 720b5254d6eSYuri Pankovscsi: libfru libumem libdevid libdevinfo 7218329232eSGordon Rosssmbclnt: libfakekernel pkcs11 722ba9ca911SYuri Pankovsmbsrv: libxnet libpthread librt libshare libidmap pkcs11 libsqlite \ 723ba9ca911SYuri Pankov libcryptoutil libreparse libcmdutils libresolv2 libsmbfs \ 7243299f39fSGordon Ross libuuid libfakekernel libads libgss libldap5 krb5 libmlrpc 725ba9ca911SYuri Pankovstorage: libdevice libdevinfo libdevid 726ba9ca911SYuri Pankovsun_fc: libdevinfo libsysevent 727ba9ca911SYuri Pankovsun_sas: libdevinfo libsysevent libkstat libdevid 728ba9ca911SYuri Pankovudapl: libdevinfo libdladm 72936589d6bSRobert Mustacchivarpd: libavl libidspace libumem libnsl libnvpair libmd5 librename \ 73036589d6bSRobert Mustacchi libcustr 7317c478bd9Sstevel@tonic-gate 7327c478bd9Sstevel@tonic-gate# 7337c478bd9Sstevel@tonic-gate# The reason this rule checks for the existence of the 7347c478bd9Sstevel@tonic-gate# Makefile is that some of the directories do not exist 735fb9f9b97Skupfer# in certain situations (e.g., exportable source builds, 736fb9f9b97Skupfer# OpenSolaris). 7377c478bd9Sstevel@tonic-gate# 738f808c858Sraf$(SUBDIRS): FRC 7393aa6c130SRichard Lowe cd $@; pwd; $(MAKE) $(TARGET) 7407c478bd9Sstevel@tonic-gate 741f808c858Sraf$(SUBDIRS:%=%-nodepend): 7423aa6c130SRichard Lowe cd $(@:%-nodepend=%); pwd; $(MAKE) $(TARGET) 7437c478bd9Sstevel@tonic-gate 7447c478bd9Sstevel@tonic-gateFRC: 745