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 22266d9d21SYuri 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. 26c241e583SGary Mills# Copyright (c) 2013 Gary Mills 273ecb07e4SBart Coddens# Copyright 2014 Garrett D'Amore <garrett@damore.org> 285e2c3ae0SGary Mills# Copyright (c) 2015 Gary Mills 29*e38f7c5dSYuri Pankov# Copyright 2017 Nexenta Systems, Inc. 30266d9d21SYuri 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. 39266d9d21SYuri Pankov# Library dependencies are called out explicitly, see "Library 40266d9d21SYuri Pankov# interdependencies" below. 417c478bd9Sstevel@tonic-gate.PARALLEL: 427c478bd9Sstevel@tonic-gate 43266d9d21SYuri Pankov# Build libc and its dependencies 447c478bd9Sstevel@tonic-gateSUBDIRS= \ 45266d9d21SYuri Pankov common \ 467c478bd9Sstevel@tonic-gate ../cmd/sgs/libconv \ 47266d9d21SYuri Pankov ../cmd/sgs/libdl \ 48266d9d21SYuri Pankov libc \ 49266d9d21SYuri Pankov .WAIT 50fb9f9b97Skupfer 51266d9d21SYuri Pankov# Build libraries with lots of dependents 52fb9f9b97SkupferSUBDIRS += \ 53266d9d21SYuri Pankov libm \ 54734b6a94Sdarrenm libmd \ 55266d9d21SYuri Pankov libmp \ 567c478bd9Sstevel@tonic-gate libnsl \ 57266d9d21SYuri Pankov libnvpair \ 58266d9d21SYuri Pankov libsocket \ 59266d9d21SYuri Pankov .WAIT 60266d9d21SYuri Pankov 61266d9d21SYuri Pankov# Build everything else. Aside from explicit dependencies, all libraries 62266d9d21SYuri Pankov# are built in parallel. 63266d9d21SYuri PankovSUBDIRS += \ 64266d9d21SYuri Pankov ../cmd/sendmail/libmilter \ 65266d9d21SYuri Pankov ../cmd/sgs/libelf \ 667c478bd9Sstevel@tonic-gate ../cmd/sgs/librtld_db \ 67266d9d21SYuri Pankov abi \ 68266d9d21SYuri Pankov auditd_plugins \ 69266d9d21SYuri Pankov brand \ 70266d9d21SYuri Pankov c_synonyms \ 71266d9d21SYuri Pankov cfgadm_plugins \ 72266d9d21SYuri Pankov crypt_modules \ 73266d9d21SYuri Pankov extendedFILE \ 74266d9d21SYuri Pankov fm \ 75266d9d21SYuri Pankov getloginx \ 76266d9d21SYuri Pankov gss_mechs/mech_dh \ 77266d9d21SYuri Pankov gss_mechs/mech_dummy \ 78266d9d21SYuri Pankov gss_mechs/mech_krb5 \ 79266d9d21SYuri Pankov gss_mechs/mech_spnego \ 80266d9d21SYuri Pankov hal \ 81266d9d21SYuri Pankov hbaapi \ 82266d9d21SYuri Pankov krb5 \ 83266d9d21SYuri Pankov libadm \ 84266d9d21SYuri Pankov libadt_jni \ 85266d9d21SYuri Pankov libadutils \ 867c478bd9Sstevel@tonic-gate libaio \ 87da2e3ebdSchin libast \ 88266d9d21SYuri Pankov libavl \ 89266d9d21SYuri Pankov libbe \ 90266d9d21SYuri Pankov libbrand \ 91266d9d21SYuri Pankov libbsdmalloc \ 92266d9d21SYuri Pankov libbsm \ 93266d9d21SYuri Pankov libc_db \ 94266d9d21SYuri Pankov libcfgadm \ 95da2e3ebdSchin libcmd \ 96266d9d21SYuri Pankov libcmdutils \ 97266d9d21SYuri Pankov libcommputil \ 98266d9d21SYuri Pankov libcontract \ 99266d9d21SYuri Pankov libcpc \ 100266d9d21SYuri Pankov libcrypt \ 101266d9d21SYuri Pankov libcryptoutil \ 1027c478bd9Sstevel@tonic-gate libctf \ 103266d9d21SYuri Pankov libcurses \ 104266d9d21SYuri Pankov libdevice \ 105266d9d21SYuri Pankov libdevid \ 106266d9d21SYuri Pankov libdevinfo \ 107266d9d21SYuri Pankov libdhcpagent \ 108266d9d21SYuri Pankov libdhcputil \ 109266d9d21SYuri Pankov libdisasm \ 110266d9d21SYuri Pankov libdiskmgt \ 111266d9d21SYuri Pankov libdladm \ 112266d9d21SYuri Pankov libdll \ 113266d9d21SYuri Pankov libdlpi \ 114266d9d21SYuri Pankov libdns_sd \ 115266d9d21SYuri Pankov libdoor \ 116266d9d21SYuri Pankov libdscfg \ 1177c478bd9Sstevel@tonic-gate libdtrace \ 118fb3fb4f3Stomee libdtrace_jni \ 1197c478bd9Sstevel@tonic-gate libefi \ 120266d9d21SYuri Pankov libelfsign \ 121266d9d21SYuri Pankov libeti \ 122266d9d21SYuri Pankov libexacct \ 123266d9d21SYuri Pankov libexacct/demo \ 124266d9d21SYuri Pankov libfakekernel \ 125266d9d21SYuri Pankov libfcoe \ 126266d9d21SYuri Pankov libfru \ 127266d9d21SYuri Pankov libfruutils \ 128266d9d21SYuri Pankov libfsmgt \ 1290e42dee6Sartem libfstyp \ 130266d9d21SYuri Pankov libgen \ 131266d9d21SYuri Pankov libgrubmgmt \ 132266d9d21SYuri Pankov libgss \ 133266d9d21SYuri Pankov libhotplug \ 134266d9d21SYuri Pankov libidmap \ 135266d9d21SYuri Pankov libilb \ 136266d9d21SYuri Pankov libima \ 137266d9d21SYuri Pankov libinetsvc \ 1387c478bd9Sstevel@tonic-gate libinetutil \ 139266d9d21SYuri Pankov libinstzones \ 140266d9d21SYuri Pankov libintl \ 1416e91bba0SGirish Moodalbail libipadm \ 142bfb211e0SRobert Mustacchi libipd \ 143266d9d21SYuri Pankov libipmi \ 1447c478bd9Sstevel@tonic-gate libipmp \ 145266d9d21SYuri Pankov libipp \ 146266d9d21SYuri Pankov libipsecutil \ 147a6d42e7dSPeter Dunlap libiscsit \ 14899ebb4caSwyllys libkmf \ 149266d9d21SYuri Pankov libkrb5 \ 1507c478bd9Sstevel@tonic-gate libkstat \ 1517c478bd9Sstevel@tonic-gate libkvm \ 1527c478bd9Sstevel@tonic-gate libldap5 \ 153266d9d21SYuri Pankov liblgrp \ 154266d9d21SYuri Pankov liblm \ 155266d9d21SYuri Pankov libm1 \ 156266d9d21SYuri Pankov libmail \ 157266d9d21SYuri Pankov libmalloc \ 158266d9d21SYuri Pankov libmapid \ 159266d9d21SYuri Pankov libmapmalloc \ 160266d9d21SYuri Pankov libmd5 \ 161266d9d21SYuri Pankov libmtmalloc \ 162266d9d21SYuri Pankov libmvec \ 163266d9d21SYuri Pankov libndmp \ 1647c478bd9Sstevel@tonic-gate libnisdb \ 165266d9d21SYuri Pankov libnls \ 166266d9d21SYuri Pankov libnsctl \ 167266d9d21SYuri Pankov libnwam \ 168266d9d21SYuri Pankov libpam \ 169266d9d21SYuri Pankov libpcidb \ 170266d9d21SYuri Pankov libpctx \ 171266d9d21SYuri Pankov libpicl \ 172266d9d21SYuri Pankov libpicltree \ 173266d9d21SYuri Pankov libpkg \ 1747c478bd9Sstevel@tonic-gate libpool \ 175da2e3ebdSchin libpp \ 1767c478bd9Sstevel@tonic-gate libproc \ 1777c478bd9Sstevel@tonic-gate libproject \ 178266d9d21SYuri Pankov libpthread \ 179266d9d21SYuri Pankov libraidcfg \ 180266d9d21SYuri Pankov librcm \ 181266d9d21SYuri Pankov librdc \ 182266d9d21SYuri Pankov libreparse \ 183266d9d21SYuri Pankov libresolv \ 184266d9d21SYuri Pankov libresolv2 \ 185266d9d21SYuri Pankov librestart \ 186266d9d21SYuri Pankov librpcsvc \ 187266d9d21SYuri Pankov librsm \ 188266d9d21SYuri Pankov librstp \ 189266d9d21SYuri Pankov librt \ 190266d9d21SYuri Pankov libsasl \ 191266d9d21SYuri Pankov libscf \ 192266d9d21SYuri Pankov libsched \ 193266d9d21SYuri Pankov libsctp \ 194266d9d21SYuri Pankov libsec \ 195266d9d21SYuri Pankov libsecdb \ 1967c478bd9Sstevel@tonic-gate libsendfile \ 197266d9d21SYuri Pankov libshare \ 198266d9d21SYuri Pankov libshell \ 199266d9d21SYuri Pankov libsip \ 200266d9d21SYuri Pankov libsldap \ 201266d9d21SYuri Pankov libslp \ 202fcf3ce44SJohn Forte libsmbfs \ 203266d9d21SYuri Pankov libsmbios \ 204266d9d21SYuri Pankov libsmedia \ 205266d9d21SYuri Pankov libsqlite \ 206c3a558e7SSue Gleeson libsrpt \ 207fcf3ce44SJohn Forte libstmf \ 20845039663SJohn Forte libstmfproxy \ 209266d9d21SYuri Pankov libsum \ 210266d9d21SYuri Pankov libsun_ima \ 211266d9d21SYuri Pankov libsys \ 212266d9d21SYuri Pankov libsysevent \ 213266d9d21SYuri Pankov libtecla \ 214266d9d21SYuri Pankov libtermcap \ 215266d9d21SYuri Pankov libthread \ 2167c478bd9Sstevel@tonic-gate libtnf \ 2177c478bd9Sstevel@tonic-gate libtnfctl \ 218266d9d21SYuri Pankov libtnfprobe \ 219266d9d21SYuri Pankov libtsnet \ 220266d9d21SYuri Pankov libtsol \ 221266d9d21SYuri Pankov libumem \ 222266d9d21SYuri Pankov libunistat \ 223266d9d21SYuri Pankov libuuid \ 2247c478bd9Sstevel@tonic-gate libuutil \ 225266d9d21SYuri Pankov libvolmgt \ 226266d9d21SYuri Pankov libvrrpadm \ 227266d9d21SYuri Pankov libvscan \ 228266d9d21SYuri Pankov libw \ 229266d9d21SYuri Pankov libwanboot \ 230266d9d21SYuri Pankov libwanbootutil \ 2317c478bd9Sstevel@tonic-gate libwrap \ 2327c478bd9Sstevel@tonic-gate libxcurses \ 2337c478bd9Sstevel@tonic-gate libxcurses2 \ 234266d9d21SYuri Pankov libxnet \ 235266d9d21SYuri Pankov libzfs \ 236266d9d21SYuri Pankov libzfs_core \ 237266d9d21SYuri Pankov libzfs_jni \ 2387c478bd9Sstevel@tonic-gate libzonecfg \ 2397c478bd9Sstevel@tonic-gate libzoneinfo \ 240efd4c9b6SSteve Lawrence libzonestat \ 241fa9e4066Sahrens libzpool \ 242266d9d21SYuri Pankov lvm \ 243266d9d21SYuri Pankov madv \ 244fcf3ce44SJohn Forte mpapi \ 245266d9d21SYuri Pankov mpss \ 246266d9d21SYuri Pankov nametoaddr \ 247266d9d21SYuri Pankov ncad_addr \ 248266d9d21SYuri Pankov nsswitch \ 249266d9d21SYuri Pankov pam_modules \ 250266d9d21SYuri Pankov passwdutil \ 251266d9d21SYuri Pankov pkcs11 \ 252266d9d21SYuri Pankov policykit \ 253266d9d21SYuri Pankov print \ 254266d9d21SYuri Pankov pylibbe \ 255266d9d21SYuri Pankov pysolaris \ 256266d9d21SYuri Pankov pyzfs \ 257266d9d21SYuri Pankov raidcfg_plugins \ 258266d9d21SYuri Pankov rpcsec_gss \ 259266d9d21SYuri Pankov sasl_plugins \ 260266d9d21SYuri Pankov scsi \ 261266d9d21SYuri Pankov smbsrv \ 262266d9d21SYuri Pankov smhba \ 263266d9d21SYuri Pankov sun_fc \ 264266d9d21SYuri Pankov sun_sas \ 265266d9d21SYuri Pankov udapl \ 266266d9d21SYuri Pankov watchmalloc \ 2677c478bd9Sstevel@tonic-gate $($(MACH)_SUBDIRS) 2687c478bd9Sstevel@tonic-gate 2697e7bd3dcSMark Logani386_SUBDIRS= \ 270702941cdSRichard Lowe libfdisk \ 271702941cdSRichard Lowe libsaveargs 2727e7bd3dcSMark Logan 273266d9d21SYuri Pankovsparc_SUBDIRS= \ 2747c478bd9Sstevel@tonic-gate efcode \ 27530588217SMike Christensen libds \ 27625cf1a30Sjl139090 libdscp \ 277266d9d21SYuri Pankov libprtdiag \ 27803831d35Sstevel libprtdiag_psr \ 279ef884685Srb144127 libpri \ 28003831d35Sstevel librsc \ 2817c478bd9Sstevel@tonic-gate storage \ 2824a6822d0Swillard libpcp \ 28382629e30SMike Christensen libtsalarm \ 28482629e30SMike Christensen libv12n 2857c478bd9Sstevel@tonic-gate 2867c478bd9Sstevel@tonic-gate# 2877c478bd9Sstevel@tonic-gate# Create a special version of $(SUBDIRS) with no .WAIT's, for use with the 2887c478bd9Sstevel@tonic-gate# clean and clobber targets (for more information, see those targets, below). 2897c478bd9Sstevel@tonic-gate# 2907c478bd9Sstevel@tonic-gateNOWAIT_SUBDIRS= $(SUBDIRS:.WAIT=) 2917c478bd9Sstevel@tonic-gate 2927c478bd9Sstevel@tonic-gateDCSUBDIRS = \ 2937c478bd9Sstevel@tonic-gate lvm 2947c478bd9Sstevel@tonic-gate 2957c478bd9Sstevel@tonic-gateMSGSUBDIRS= \ 2967c478bd9Sstevel@tonic-gate abi \ 2977c478bd9Sstevel@tonic-gate auditd_plugins \ 2989acbbeafSnn35248 brand \ 2997c478bd9Sstevel@tonic-gate cfgadm_plugins \ 3007c478bd9Sstevel@tonic-gate gss_mechs/mech_dh \ 3017c478bd9Sstevel@tonic-gate gss_mechs/mech_krb5 \ 3027c478bd9Sstevel@tonic-gate krb5 \ 303da2e3ebdSchin libast \ 3047c478bd9Sstevel@tonic-gate libbsm \ 3057c478bd9Sstevel@tonic-gate libc \ 3067c478bd9Sstevel@tonic-gate libcfgadm \ 307da2e3ebdSchin libcmd \ 3087c478bd9Sstevel@tonic-gate libcontract \ 3097c478bd9Sstevel@tonic-gate libcurses \ 3107c478bd9Sstevel@tonic-gate libdhcputil \ 311181c2f42Smmusante libdiskmgt \ 31233343a97Smeem libdladm \ 313da2e3ebdSchin libdll \ 314753a6d45SSherry Moore libgrubmgmt \ 3157c478bd9Sstevel@tonic-gate libgss \ 316c5c4113dSnw141292 libidmap \ 317dbed73cbSSangeeta Misra libilb \ 3188002d411SSowmini Varadhan libinetutil \ 3195c51f124SMoriah Waterland libinstzones \ 3206e91bba0SGirish Moodalbail libipadm \ 321266d9d21SYuri Pankov libipmp \ 322266d9d21SYuri Pankov libipsecutil \ 323266d9d21SYuri Pankov libldap5 \ 3247c478bd9Sstevel@tonic-gate libnsl \ 3256ba597c5SAnurag S. Maskey libnwam \ 3267c478bd9Sstevel@tonic-gate libpam \ 3277c478bd9Sstevel@tonic-gate libpicl \ 3285c51f124SMoriah Waterland libpkg \ 329266d9d21SYuri Pankov libpool \ 330da2e3ebdSchin libpp \ 331266d9d21SYuri Pankov libreparse \ 3327c478bd9Sstevel@tonic-gate libsasl \ 333266d9d21SYuri Pankov libscf \ 3347c478bd9Sstevel@tonic-gate libsecdb \ 3356185db85Sdougm libshare \ 336da2e3ebdSchin libshell \ 3377c478bd9Sstevel@tonic-gate libsldap \ 3387c478bd9Sstevel@tonic-gate libslp \ 3394bff34e3Sthurlow libsmbfs \ 3407c478bd9Sstevel@tonic-gate libsmedia \ 3417c2fbfb3SApril Chin libsum \ 34245916cd2Sjpk libtsol \ 3437c478bd9Sstevel@tonic-gate libuutil \ 3441cb875aeSCathy Zhou libvrrpadm \ 345911106dfSjm199354 libvscan \ 3467c478bd9Sstevel@tonic-gate libwanboot \ 3477c478bd9Sstevel@tonic-gate libwanbootutil \ 348c3aa2a37Sck153898 libzfs \ 3497c478bd9Sstevel@tonic-gate libzonecfg \ 3507c478bd9Sstevel@tonic-gate lvm \ 3517c478bd9Sstevel@tonic-gate madv \ 3527c478bd9Sstevel@tonic-gate mpss \ 3537c478bd9Sstevel@tonic-gate pam_modules \ 354e4d060fbSSam Falkner pysolaris \ 355266d9d21SYuri Pankov pyzfs \ 3567a286c47SDai Ngo rpcsec_gss \ 3577c478bd9Sstevel@tonic-gate $($(MACH)_MSGSUBDIRS) 3587c478bd9Sstevel@tonic-gate 35903831d35Sstevelsparc_MSGSUBDIRS= \ 36003831d35Sstevel libprtdiag \ 36103831d35Sstevel libprtdiag_psr 3627c478bd9Sstevel@tonic-gate 363aa1b14e7SSheshadri Vasudevani386_MSGSUBDIRS= libfdisk 364aa1b14e7SSheshadri Vasudevan 365f841f6adSrafHDRSUBDIRS= \ 366266d9d21SYuri Pankov ../cmd/sendmail/libmilter \ 3677c478bd9Sstevel@tonic-gate auditd_plugins \ 368266d9d21SYuri Pankov fm \ 369266d9d21SYuri Pankov hal \ 370266d9d21SYuri Pankov hbaapi \ 371da2e3ebdSchin libast \ 3729acbbeafSnn35248 libbrand \ 3737c478bd9Sstevel@tonic-gate libbsm \ 3747c478bd9Sstevel@tonic-gate libc \ 375da2e3ebdSchin libcmd \ 3767c478bd9Sstevel@tonic-gate libcmdutils \ 3776e91bba0SGirish Moodalbail libcommputil \ 3787c478bd9Sstevel@tonic-gate libcontract \ 3797c478bd9Sstevel@tonic-gate libcpc \ 380266d9d21SYuri Pankov libcryptoutil \ 3817c478bd9Sstevel@tonic-gate libctf \ 3827c478bd9Sstevel@tonic-gate libcurses \ 3837c478bd9Sstevel@tonic-gate libdevice \ 3847c478bd9Sstevel@tonic-gate libdevid \ 3857c478bd9Sstevel@tonic-gate libdevinfo \ 386266d9d21SYuri Pankov libdhcpagent \ 387266d9d21SYuri Pankov libdhcputil \ 388266d9d21SYuri Pankov libdisasm \ 3893e1bd7a2Ssjelinek libdiskmgt \ 3907c478bd9Sstevel@tonic-gate libdladm \ 391da2e3ebdSchin libdll \ 3927c478bd9Sstevel@tonic-gate libdlpi \ 3934b22b933Srs200217 libdns_sd \ 394fcf3ce44SJohn Forte libdscfg \ 3957c478bd9Sstevel@tonic-gate libdtrace \ 396fb3fb4f3Stomee libdtrace_jni \ 397df8bdeb3Sjohnz libelfsign \ 3987c478bd9Sstevel@tonic-gate libeti \ 3997206bf49SGordon Ross libfakekernel \ 400266d9d21SYuri Pankov libfcoe \ 401c69f580fSSundeep Panicker libfru \ 4020e42dee6Sartem libfstyp \ 4037c478bd9Sstevel@tonic-gate libgen \ 404266d9d21SYuri Pankov libgrubmgmt \ 405266d9d21SYuri Pankov libidmap \ 406266d9d21SYuri Pankov libilb \ 407266d9d21SYuri Pankov libima \ 4087c478bd9Sstevel@tonic-gate libinetsvc \ 4097c478bd9Sstevel@tonic-gate libinetutil \ 41022fb2eebSMoriah Waterland libinstzones \ 411266d9d21SYuri Pankov libipadm \ 412266d9d21SYuri Pankov libipd \ 4139113a79cSeschrock libipmi \ 4147c478bd9Sstevel@tonic-gate libipmp \ 4157c478bd9Sstevel@tonic-gate libipp \ 416266d9d21SYuri Pankov libipsecutil \ 417a6d42e7dSPeter Dunlap libiscsit \ 418266d9d21SYuri Pankov libkrb5 \ 4197c478bd9Sstevel@tonic-gate libkstat \ 4207c478bd9Sstevel@tonic-gate libkvm \ 4217c478bd9Sstevel@tonic-gate libmail \ 422266d9d21SYuri Pankov libmapid \ 423734b6a94Sdarrenm libmd \ 4247c478bd9Sstevel@tonic-gate libmtmalloc \ 4252654012fSReza Sabdar libndmp \ 426fcf3ce44SJohn Forte libnsctl \ 42745916cd2Sjpk libnsl \ 428266d9d21SYuri Pankov libnvpair \ 429b00044a2SJames Carlson libnwam \ 4307c478bd9Sstevel@tonic-gate libpam \ 431abc79d9dSRobert Mustacchi libpcidb \ 4327c478bd9Sstevel@tonic-gate libpctx \ 4337c478bd9Sstevel@tonic-gate libpicl \ 4347c478bd9Sstevel@tonic-gate libpicltree \ 4357c478bd9Sstevel@tonic-gate libpool \ 436da2e3ebdSchin libpp \ 4377c478bd9Sstevel@tonic-gate libproc \ 4383e4f2897Sjc156560 libraidcfg \ 4397c478bd9Sstevel@tonic-gate librcm \ 440fcf3ce44SJohn Forte librdc \ 441266d9d21SYuri Pankov libreparse \ 4427c478bd9Sstevel@tonic-gate librestart \ 4437c478bd9Sstevel@tonic-gate librpcsvc \ 4447c478bd9Sstevel@tonic-gate librsm \ 4454eaa4710SRishi Srivatsavai librstp \ 4467c478bd9Sstevel@tonic-gate libsasl \ 447266d9d21SYuri Pankov libscf \ 448fa9e4066Sahrens libsec \ 449266d9d21SYuri Pankov libshare \ 450da2e3ebdSchin libshell \ 451266d9d21SYuri Pankov libsip \ 4527c478bd9Sstevel@tonic-gate libslp \ 453266d9d21SYuri Pankov libsmbfs \ 454266d9d21SYuri Pankov libsmbios \ 4557c478bd9Sstevel@tonic-gate libsmedia \ 4566e91bba0SGirish Moodalbail libsocket \ 457c5c4113dSnw141292 libsqlite \ 458c3a558e7SSue Gleeson libsrpt \ 459fcf3ce44SJohn Forte libstmf \ 46045039663SJohn Forte libstmfproxy \ 4617c2fbfb3SApril Chin libsum \ 462266d9d21SYuri Pankov libsun_ima \ 4637c478bd9Sstevel@tonic-gate libsysevent \ 4647c478bd9Sstevel@tonic-gate libtecla \ 465266d9d21SYuri Pankov libtermcap \ 4667c478bd9Sstevel@tonic-gate libtnf \ 4677c478bd9Sstevel@tonic-gate libtnfctl \ 4687c478bd9Sstevel@tonic-gate libtnfprobe \ 46945916cd2Sjpk libtsnet \ 47045916cd2Sjpk libtsol \ 4717c478bd9Sstevel@tonic-gate libumem \ 472fcf3ce44SJohn Forte libunistat \ 4737c478bd9Sstevel@tonic-gate libuutil \ 474266d9d21SYuri Pankov libvolmgt \ 475266d9d21SYuri Pankov libvrrpadm \ 476266d9d21SYuri Pankov libvscan \ 4776e91bba0SGirish Moodalbail libwanboot \ 4786e91bba0SGirish Moodalbail libwanbootutil \ 4797c478bd9Sstevel@tonic-gate libwrap \ 4807c478bd9Sstevel@tonic-gate libxcurses2 \ 481fa9e4066Sahrens libzfs \ 4824445fffbSMatthew Ahrens libzfs_core \ 483088e9d47Seschrock libzfs_jni \ 4847c478bd9Sstevel@tonic-gate libzoneinfo \ 485efd4c9b6SSteve Lawrence libzonestat \ 4867c478bd9Sstevel@tonic-gate lvm \ 487fcf3ce44SJohn Forte mpapi \ 488266d9d21SYuri Pankov passwdutil \ 489266d9d21SYuri Pankov pkcs11 \ 490266d9d21SYuri Pankov policykit \ 491266d9d21SYuri Pankov scsi \ 492266d9d21SYuri Pankov smbsrv \ 493266d9d21SYuri Pankov smhba \ 494266d9d21SYuri Pankov udapl \ 4957c478bd9Sstevel@tonic-gate $($(MACH)_HDRSUBDIRS) 4967c478bd9Sstevel@tonic-gate 497964db34dSMark Logani386_HDRSUBDIRS= \ 498702941cdSRichard Lowe libfdisk \ 499702941cdSRichard Lowe libsaveargs 500964db34dSMark Logan 5017c478bd9Sstevel@tonic-gatesparc_HDRSUBDIRS= \ 50230588217SMike Christensen libds \ 50325cf1a30Sjl139090 libdscp \ 504fcf3ce44SJohn Forte libpri \ 50582629e30SMike Christensen libv12n \ 506fcf3ce44SJohn Forte storage 5077c478bd9Sstevel@tonic-gate 5087c478bd9Sstevel@tonic-gateall := TARGET= all 5097c478bd9Sstevel@tonic-gatecheck := TARGET= check 5107c478bd9Sstevel@tonic-gateclean := TARGET= clean 5117c478bd9Sstevel@tonic-gateclobber := TARGET= clobber 5127c478bd9Sstevel@tonic-gateinstall := TARGET= install 5137c478bd9Sstevel@tonic-gateinstall_h := TARGET= install_h 5147c478bd9Sstevel@tonic-gatelint := TARGET= lint 5157c478bd9Sstevel@tonic-gate_dc := TARGET= _dc 5167c478bd9Sstevel@tonic-gate_msg := TARGET= _msg 5177c478bd9Sstevel@tonic-gate 5187c478bd9Sstevel@tonic-gate.KEEP_STATE: 5197c478bd9Sstevel@tonic-gate 5207c478bd9Sstevel@tonic-gate# 5217c478bd9Sstevel@tonic-gate# For the all and install targets, we clearly must respect library 5227c478bd9Sstevel@tonic-gate# dependencies so that the libraries link correctly. However, for 5237c478bd9Sstevel@tonic-gate# the remaining targets (check, clean, clobber, install_h, lint, _dc 5247c478bd9Sstevel@tonic-gate# and _msg), libraries do not have any dependencies on one another 5257c478bd9Sstevel@tonic-gate# and thus respecting dependencies just slows down the build. 5267c478bd9Sstevel@tonic-gate# As such, for these rules, we use pattern replacement to explicitly 5277c478bd9Sstevel@tonic-gate# avoid triggering the dependency information. Note that for clean, 5287c478bd9Sstevel@tonic-gate# clobber and lint, we must use $(NOWAIT_SUBDIRS) rather than 5297c478bd9Sstevel@tonic-gate# $(SUBDIRS), to prevent `.WAIT' from expanding to `.WAIT-nodepend'. 5307c478bd9Sstevel@tonic-gate# 5317c478bd9Sstevel@tonic-gate 5327c478bd9Sstevel@tonic-gateall: $(SUBDIRS) 5337c478bd9Sstevel@tonic-gate 5347c478bd9Sstevel@tonic-gateinstall: $(SUBDIRS) .WAIT install_extra 5357c478bd9Sstevel@tonic-gate 5367c478bd9Sstevel@tonic-gate# extra libraries kept in other source areas 5377c478bd9Sstevel@tonic-gateinstall_extra: 5387c478bd9Sstevel@tonic-gate @cd ../cmd/sgs; pwd; $(MAKE) install_lib 5397c478bd9Sstevel@tonic-gate @pwd 5407c478bd9Sstevel@tonic-gate 5417c478bd9Sstevel@tonic-gateclean clobber lint: $(NOWAIT_SUBDIRS:%=%-nodepend) 5427c478bd9Sstevel@tonic-gate 5437c478bd9Sstevel@tonic-gateinstall_h check: $(HDRSUBDIRS:%=%-nodepend) 5447c478bd9Sstevel@tonic-gate 5457c478bd9Sstevel@tonic-gate_msg: $(MSGSUBDIRS:%=%-nodepend) .WAIT _dc 5467c478bd9Sstevel@tonic-gate 5477c478bd9Sstevel@tonic-gate_dc: $(DCSUBDIRS:%=%-nodepend) 5487c478bd9Sstevel@tonic-gate 549266d9d21SYuri Pankov# Library interdependencies are called out explicitly here. 550266d9d21SYuri Pankov../cmd/sgs/libconv: common 551266d9d21SYuri Pankov../cmd/sgs/libdl: common 552266d9d21SYuri Pankovlibc: ../cmd/sgs/libconv ../cmd/sgs/libdl 553266d9d21SYuri Pankov 554266d9d21SYuri Pankovlibm: libc 555266d9d21SYuri Pankovlibmd: libc 556266d9d21SYuri Pankovlibmp: libc 557266d9d21SYuri Pankovlibnsl: libc libmd libmp 558266d9d21SYuri Pankovlibnvpair: libc libnsl 559266d9d21SYuri Pankovlibsocket: libc libnsl 560266d9d21SYuri Pankov 561266d9d21SYuri Pankovbasedeps: libc libm libmd libmp libnsl libnvpair libsocket 562266d9d21SYuri Pankovbasedeps := TARGET=install 563266d9d21SYuri Pankov 564*e38f7c5dSYuri Pankov# The following dependencies are currently required by libdbus-1 and should 565*e38f7c5dSYuri Pankov# be used for anything linking against it. 566*e38f7c5dSYuri Pankovdbusdeps: libsecdb libtsol libinetutil libscf libuutil libgen libsmbios 567*e38f7c5dSYuri Pankov 568266d9d21SYuri Pankov# The following dependencies don't need to be listed below as they are built 569266d9d21SYuri Pankov# before everything else: 570266d9d21SYuri Pankov# libc libm libmd libmp libnsl libnvpair libsocket 571266d9d21SYuri Pankovabi: libctf libmapmalloc libproc 572266d9d21SYuri Pankovauditd_plugins: libbsm libsecdb libgss libmtmalloc 573266d9d21SYuri Pankovbrand: libzonecfg libmapmalloc 574266d9d21SYuri Pankovcfgadm_plugins: libdevice libdevinfo libhotplug librcm hbaapi libkstat libscf 575266d9d21SYuri Pankovfm: libexacct libipmi libzfs scsi libdevinfo libdevid libcfgadm \ 576266d9d21SYuri Pankov libcontract libsysevent ../cmd/sgs/libelf 577266d9d21SYuri Pankov$(SPARC_BLD)fm: libpri 578266d9d21SYuri Pankovgss_mechs/mech_dh: libgss 579266d9d21SYuri Pankovgss_mechs/mech_dummy: libgss 580266d9d21SYuri Pankovgss_mechs/mech_krb5: libgss libresolv2 pkcs11 libkstat 5815e2c3ae0SGary Millsgss_mechs/mech_spnego: gss_mechs/mech_krb5 582*e38f7c5dSYuri Pankovhal: dbusdeps 583266d9d21SYuri Pankovkrb5: gss_mechs/mech_krb5 libtecla libldap5 5847c478bd9Sstevel@tonic-gatelibadt_jni: libbsm 585266d9d21SYuri Pankovlibadutils: libldap5 libresolv2 586266d9d21SYuri Pankovlibbe: libzfs libinstzones libuuid libgen libdevinfo libefi 587266d9d21SYuri Pankovlibbsm: libinetutil libscf libsecdb libtsol 588266d9d21SYuri Pankovlibcfgadm: libdevinfo 589266d9d21SYuri Pankovlibcmd: libsum libast 590266d9d21SYuri Pankovlibcmdutils: libavl 591266d9d21SYuri Pankovlibcpc: libpctx 592266d9d21SYuri Pankovlibcrypt: libgen 5937c478bd9Sstevel@tonic-gatelibdevid: libdevinfo 594266d9d21SYuri Pankovlibdevinfo: libsec libgen 595266d9d21SYuri Pankovlibdhcpagent: libdhcputil libuuid libdlpi libcontract 596266d9d21SYuri Pankovlibdhcputil: libgen libinetutil libdlpi 597266d9d21SYuri Pankovlibdiskmgt: libdevid libdevinfo libadm libefi libkstat libsysevent 598266d9d21SYuri Pankov$(INTEL_BLD)libdiskmgt: libfdisk 599266d9d21SYuri Pankovlibdladm: libdevinfo libinetutil libscf librcm libexacct libkstat \ 600266d9d21SYuri Pankov libpool 601da2e3ebdSchinlibdll: libast 602d62bc4baSyz147064libdlpi: libinetutil libdladm 60382629e30SMike Christensenlibds: libsysevent 604266d9d21SYuri Pankovlibdscfg: libnsctl libunistat libadm 6055e2c3ae0SGary Millslibdtrace: libproc libgen libctf libmapmalloc 606fb3fb4f3Stomeelibdtrace_jni: libuutil libdtrace 6077c478bd9Sstevel@tonic-gatelibefi: libuuid 608266d9d21SYuri Pankovlibelfsign: libcryptoutil libkmf ../cmd/sgs/libelf 609266d9d21SYuri Pankovlibeti: libcurses 610266d9d21SYuri Pankovlibexacct/demo: libexacct libproject 611266d9d21SYuri Pankovlibfakekernel: libumem libcryptoutil 6125e2c3ae0SGary Millslibfcoe: libdladm 613ac88567aSHyon Kimlibfru: libfruutils 614266d9d21SYuri Pankovlibfsmgt: libkstat 615266d9d21SYuri Pankovlibgrubmgmt: libdevinfo libzfs libfstyp libefi 616266d9d21SYuri Pankov$(INTEL_BLD)libgrubmgmt: libfdisk 617266d9d21SYuri Pankovlibidmap: libavl libuutil 618266d9d21SYuri Pankovlibinetsvc: libscf 619266d9d21SYuri Pankovlibinstzones: libzonecfg libcontract 620266d9d21SYuri Pankovlibipadm: libinetutil libdlpi libdhcpagent libdladm libsecdb 621266d9d21SYuri Pankovlibipmp: libinetutil 622266d9d21SYuri Pankovlibipsecutil: libtecla libtsol 623266d9d21SYuri Pankovlibiscsit: libstmf libuuid 624266d9d21SYuri Pankovlibkmf: libcryptoutil pkcs11 625266d9d21SYuri Pankovlibkvm: ../cmd/sgs/libelf 626266d9d21SYuri Pankovlibldap5: libsasl 627266d9d21SYuri Pankovlibmapid: libresolv2 libscf 628266d9d21SYuri Pankovlibndmp: libscf 629266d9d21SYuri Pankovlibnisdb: libldap5 630266d9d21SYuri Pankovlibnwam: libscf libbsm libdladm 631266d9d21SYuri Pankovlibpcp: libumem libdevinfo 632266d9d21SYuri Pankovlibpctx: libproc 633266d9d21SYuri Pankovlibpkg: libwanboot libscf libadm 634266d9d21SYuri Pankovlibpool: libscf libexacct 635266d9d21SYuri Pankovlibpp: libast 636266d9d21SYuri Pankovlibproc: ../cmd/sgs/librtld_db ../cmd/sgs/libelf libctf 637266d9d21SYuri Pankov$(INTEL_BLD)libproc: libsaveargs 638266d9d21SYuri Pankovlibproject: libpool libproc libsecdb 639266d9d21SYuri Pankovlibprtdiag: libkstat 640266d9d21SYuri Pankovlibprtdiag_psr: libprtdiag 641266d9d21SYuri Pankovlibraidcfg: libdevinfo 642266d9d21SYuri Pankovlibrdc: libnsctl libunistat libdscfg 643266d9d21SYuri Pankovlibrestart: libuutil libscf libpool libproject libsecdb libsysevent 644266d9d21SYuri Pankovlibsasl: libgss pkcs11 645266d9d21SYuri Pankovlibsaveargs: libdisasm 646266d9d21SYuri Pankovlibscf: libuutil libgen libsmbios 647266d9d21SYuri Pankovlibsec: libavl libidmap 648266d9d21SYuri Pankovlibshare: libscf libzfs libuuid libfsmgt libsecdb libumem libsmbfs 649266d9d21SYuri Pankovlibshell: libast libcmd libdll libsecdb 650266d9d21SYuri Pankovlibsip: libmd5 651266d9d21SYuri Pankovlibsldap: libldap5 libscf 652266d9d21SYuri Pankovlibsmbfs: libkrb5 libsec libidmap pkcs11 653967d0e8aSToomas Soomelibsmbios: libdevinfo 654266d9d21SYuri Pankovlibsrpt: libstmf 655266d9d21SYuri Pankovlibstmf: libscf 656266d9d21SYuri Pankovlibstmfproxy: libstmf libpthread 657266d9d21SYuri Pankovlibsum: libast 658266d9d21SYuri Pankovlibsun_ima: libdevinfo libsysevent 659266d9d21SYuri Pankovlibsysevent: libsecdb 660266d9d21SYuri Pankovlibtecla: libcurses 661266d9d21SYuri Pankovlibtermcap: libcurses 662266d9d21SYuri Pankovlibtnfctl: ../cmd/sgs/libelf 663266d9d21SYuri Pankovlibtsalarm: libpcp 664266d9d21SYuri Pankovlibtsnet: libtsol libsecdb 665266d9d21SYuri Pankovlibtsol: libsecdb 666266d9d21SYuri Pankovlibuuid: libdlpi 667266d9d21SYuri Pankovlibv12n: libds libuuid 668266d9d21SYuri Pankovlibvolmgt: libadm 669266d9d21SYuri Pankovlibvrrpadm: libdladm libscf 670266d9d21SYuri Pankovlibvscan: libscf libsecdb 671266d9d21SYuri Pankovlibwanboot: libresolv2 libdevinfo libinetutil libdhcputil 672266d9d21SYuri Pankovlibzfs: libdevid libgen libuutil libadm libavl libefi libidmap \ 673266d9d21SYuri Pankov libumem libtsol libzfs_core 674266d9d21SYuri Pankovlibzfs_jni: libdiskmgt libzfs 675266d9d21SYuri Pankovlibzonecfg: libuuid libsysevent libsec libbrand libpool libscf libproc \ 676266d9d21SYuri Pankov libuutil libbsm libsecdb 677266d9d21SYuri Pankovlibzonestat: libcmdutils libumem 678266d9d21SYuri Pankovlibzpool: libavl libumem libcmdutils libsysevent 679266d9d21SYuri Pankovlvm: libadm libdevid libdevinfo libefi libgen libscf 680266d9d21SYuri Pankovmadv: libgen 681266d9d21SYuri Pankovmpapi: libpthread libdevinfo libsysevent 682266d9d21SYuri Pankovmpss: libgen 683266d9d21SYuri Pankovnsswitch: libadutils libidmap libdns_sd libscf libldap5 libsldap 684266d9d21SYuri Pankovpam_modules: libproject passwdutil smbsrv libtsnet libpam libbsm libsecdb 685266d9d21SYuri Pankovpasswdutil: libsldap 686266d9d21SYuri Pankovpkcs11: libcryptoutil libgen libuuid 687*e38f7c5dSYuri Pankovpolicykit: dbusdeps 688266d9d21SYuri Pankovprint: libldap5 libmd5 libsendfile 689f169c0eaSGlenn Lagassepylibbe: libbe libzfs 690e4d060fbSSam Falknerpysolaris: libsec libidmap 691266d9d21SYuri Pankovpyzfs: libzfs 692266d9d21SYuri Pankovraidcfg_plugins: libraidcfg librcm libcfgadm libpicl libpicltree 693266d9d21SYuri Pankovrpcsec_gss: libgss 694266d9d21SYuri Pankovsasl_plugins: pkcs11 libgss libsasl 69501efd26eSYuri Pankovscsi: libfru libumem libdevid libdevinfo 696266d9d21SYuri Pankovsmbsrv: libxnet libpthread librt libshare libidmap pkcs11 libsqlite \ 697266d9d21SYuri Pankov libcryptoutil libreparse libcmdutils libresolv2 libsmbfs \ 698266d9d21SYuri Pankov libuuid libfakekernel libgss libldap5 krb5 699266d9d21SYuri Pankovstorage: libdevice libdevinfo libdevid 700266d9d21SYuri Pankovsun_fc: libdevinfo libsysevent 701266d9d21SYuri Pankovsun_sas: libdevinfo libsysevent libkstat libdevid 702266d9d21SYuri Pankovudapl: libdevinfo libdladm 7037c478bd9Sstevel@tonic-gate 7047c478bd9Sstevel@tonic-gate# 7057c478bd9Sstevel@tonic-gate# The reason this rule checks for the existence of the 7067c478bd9Sstevel@tonic-gate# Makefile is that some of the directories do not exist 707fb9f9b97Skupfer# in certain situations (e.g., exportable source builds, 708fb9f9b97Skupfer# OpenSolaris). 7097c478bd9Sstevel@tonic-gate# 710f808c858Sraf$(SUBDIRS): FRC 7117c478bd9Sstevel@tonic-gate @if [ -f $@/Makefile ]; then \ 7127c478bd9Sstevel@tonic-gate cd $@; pwd; $(MAKE) $(TARGET); \ 7137c478bd9Sstevel@tonic-gate else \ 7147c478bd9Sstevel@tonic-gate true; \ 7157c478bd9Sstevel@tonic-gate fi 7167c478bd9Sstevel@tonic-gate 717f808c858Sraf$(SUBDIRS:%=%-nodepend): 7187c478bd9Sstevel@tonic-gate @if [ -f $(@:%-nodepend=%)/Makefile ]; then \ 7197c478bd9Sstevel@tonic-gate cd $(@:%-nodepend=%); pwd; $(MAKE) $(TARGET); \ 7207c478bd9Sstevel@tonic-gate else \ 7217c478bd9Sstevel@tonic-gate true; \ 7227c478bd9Sstevel@tonic-gate fi 7237c478bd9Sstevel@tonic-gate 7247c478bd9Sstevel@tonic-gateFRC: 725