5 # Common Development and Distribution License (the "License").
   6 # You may not use this file except in compliance with the License.
   7 #
   8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9 # or http://www.opensolaris.org/os/licensing.
  10 # See the License for the specific language governing permissions
  11 # and limitations under the License.
  12 #
  13 # When distributing Covered Code, include this CDDL HEADER in each
  14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15 # If applicable, add the following below this CDDL HEADER, with the
  16 # fields enclosed by brackets "[]" replaced with your own identifying
  17 # information: Portions Copyright [yyyy] [name of copyright owner]
  18 #
  19 # CDDL HEADER END
  20 #
  21 
  22 #
  23 # Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
  24 # Copyright (c) 2012 by Delphix. All rights reserved.
  25 # Copyright 2015, Joyent, Inc.
  26 # Copyright (c) 2013 Gary Mills
  27 # Copyright 2014 Garrett D'Amore <garrett@damore.org>
  28 # Copyright (c) 2015 Gary Mills
  29 # Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
  30 # Copyright 2016 Toomas Soome <tsoome@me.com>
  31 #
  32 
  33 include ../Makefile.master
  34 
  35 #       Note that libcurses installs commands along with its library.
  36 #       This is a minor bug which probably should be fixed.
  37 #       Note also that a few extra libraries are kept in cmd source.
  38 #
  39 # Certain libraries are linked with, hence depend on, other libraries.
  40 # Library dependencies are called out explicitly, see "Library
  41 # interdependencies" below.
  42 .PARALLEL:
  43 
  44 # Build libc and its dependencies
  45 SUBDIRS=                        \
  46         common                  \
  47         ../cmd/sgs/libconv      \
  48         ../cmd/sgs/libdl        \
  49         libc                    \
  50         .WAIT
 
 
  75         fm              \
  76         getloginx       \
  77         gss_mechs/mech_dh       \
  78         gss_mechs/mech_dummy    \
  79         gss_mechs/mech_krb5     \
  80         gss_mechs/mech_spnego   \
  81         hal             \
  82         hbaapi          \
  83         krb5            \
  84         libadm          \
  85         libads          \
  86         libadt_jni      \
  87         libadutils      \
  88         libaio          \
  89         libast          \
  90         libavl          \
  91         libbe           \
  92         libbrand        \
  93         libbsdmalloc    \
  94         libbsm          \
  95         libbunyan       \
  96         libc_db         \
  97         libcfgadm       \
  98         libcmd          \
  99         libcmdutils     \
 100         libcommputil    \
 101         libcontract     \
 102         libcpc          \
 103         libcrypt        \
 104         libcryptoutil   \
 105         libctf          \
 106         libcurses       \
 107         libdevice       \
 108         libdevid        \
 109         libdevinfo      \
 110         libdhcpagent    \
 111         libdhcputil     \
 112         libdisasm       \
 113         libdiskmgt      \
 114         libdladm        \
 115         libdll          \
 116         libdlpi         \
 117         libdns_sd       \
 118         libdoor         \
 119         libdscfg        \
 120         libdtrace       \
 121         libdtrace_jni   \
 122         libdwarf        \
 123         libefi          \
 124         libelfsign      \
 125         libeti          \
 126         libexacct       \
 127         libexacct/demo  \
 128         libfakekernel   \
 129         libfcoe         \
 130         libficl         \
 131         libfru          \
 132         libfruutils     \
 133         libfsmgt        \
 134         libfstyp        \
 135         libgen          \
 136         libgrubmgmt     \
 137         libgss          \
 138         libhotplug      \
 139         libidmap        \
 140         libidspace      \
 141         libilb          \
 142         libima          \
 143         libinetsvc      \
 144         libinetutil     \
 145         libinstzones    \
 146         libintl         \
 147         libipadm        \
 148         libipd          \
 149         libipmi         \
 150         libipmp         \
 151         libipp          \
 152         libipsecutil    \
 153         libiscsit       \
 154         libkmf          \
 155         libkrb5         \
 156         libkstat        \
 157         libkvm          \
 158         libldap5        \
 159         liblgrp         \
 160         liblm           \
 
 
 168         libmvec         \
 169         libndmp         \
 170         libnisdb        \
 171         libnls          \
 172         libnsctl        \
 173         libnwam         \
 174         libpam          \
 175         libpcidb        \
 176         libpctx         \
 177         libpicl         \
 178         libpicltree     \
 179         libpkg          \
 180         libpool         \
 181         libpp           \
 182         libproc         \
 183         libproject      \
 184         libpthread      \
 185         libraidcfg      \
 186         librcm          \
 187         librdc          \
 188         librename       \
 189         libreparse      \
 190         libresolv       \
 191         libresolv2      \
 192         libresolv2_joy  \
 193         librestart      \
 194         librpcsvc       \
 195         librsm          \
 196         librstp         \
 197         librt           \
 198         libsasl         \
 199         libscf          \
 200         libsched        \
 201         libsctp         \
 202         libsec          \
 203         libsecdb        \
 204         libsendfile     \
 205         libshare        \
 206         libshell        \
 207         libsip          \
 208         libsldap        \
 209         libslp          \
 210         libsmartsshd    \
 211         libsmbfs        \
 212         libsmbios       \
 213         libsmedia       \
 214         libsqlite       \
 215         libsrpt         \
 216         libstmf         \
 217         libstmfproxy    \
 218         libsum          \
 219         libsun_ima      \
 220         libsys          \
 221         libsysevent     \
 222         libtecla        \
 223         libtermcap      \
 224         libthread       \
 225         libtnf          \
 226         libtnfctl       \
 227         libtnfprobe     \
 228         libtsnet        \
 229         libtsol         \
 230         libumem         \
 231         libunistat      \
 232         libuuid         \
 233         libuutil        \
 234         libvnd          \
 235         libvolmgt       \
 236         libvrrpadm      \
 237         libvscan        \
 238         libw            \
 239         libwanboot      \
 240         libwanbootutil  \
 241         libwrap         \
 242         libxcurses      \
 243         libxcurses2     \
 244         libxnet         \
 245         libzdoor        \
 246         libzfs          \
 247         libzfs_core     \
 248         libzfs_jni      \
 249         libzonecfg      \
 250         libzoneinfo     \
 251         libzonestat     \
 252         libzpool        \
 253         madv            \
 254         mpapi           \
 255         mpss            \
 256         nametoaddr      \
 257         ncad_addr       \
 258         nsswitch        \
 259         pam_modules     \
 260         passwdutil      \
 261         pkcs11          \
 262         policykit       \
 263         print           \
 264         raidcfg_plugins \
 265         rpcsec_gss      \
 266         sasl_plugins    \
 267         scsi            \
 268         smbsrv          \
 269         smhba           \
 270         sun_fc          \
 271         sun_sas         \
 272         udapl           \
 273         varpd           \
 274         watchmalloc     \
 275         $($(MACH)_SUBDIRS)
 276 
 277 i386_SUBDIRS=           \
 278         libfdisk        \
 279         libsaveargs
 280 
 281 sparc_SUBDIRS=          \
 282         efcode          \
 283         libds           \
 284         libdscp         \
 285         libprtdiag      \
 286         libprtdiag_psr  \
 287         libpri          \
 288         librsc          \
 289         storage         \
 290         libpcp          \
 291         libtsalarm      \
 292         libv12n
 293 
 294 #
 295 # Create a special version of $(SUBDIRS) with no .WAIT's, for use with the
 296 # clean and clobber targets (for more information, see those targets, below).
 297 #
 298 NOWAIT_SUBDIRS= $(SUBDIRS:.WAIT=)
 299 
 300 DCSUBDIRS =
 301 
 302 MSGSUBDIRS=             \
 303         abi             \
 304         auditd_plugins  \
 305         brand           \
 306         cfgadm_plugins  \
 307         gss_mechs/mech_dh       \
 308         gss_mechs/mech_krb5     \
 309         krb5            \
 310         libast          \
 311         libbsm          \
 312         libc            \
 313         libcfgadm       \
 314         libcmd          \
 315         libcontract     \
 316         libcurses       \
 317         libdhcputil     \
 318         libdiskmgt      \
 319         libdladm        \
 320         libdll          \
 
 
 326         libinstzones    \
 327         libipadm        \
 328         libipmp         \
 329         libipsecutil    \
 330         libldap5        \
 331         libnsl          \
 332         libnwam         \
 333         libpam          \
 334         libpicl         \
 335         libpkg          \
 336         libpool         \
 337         libpp           \
 338         libreparse      \
 339         libsasl         \
 340         libscf          \
 341         libsecdb        \
 342         libshare        \
 343         libshell        \
 344         libsldap        \
 345         libslp          \
 346         libsmartsshd    \
 347         libsmbfs        \
 348         libsmedia       \
 349         libsum          \
 350         libtsol         \
 351         libuutil        \
 352         libvrrpadm      \
 353         libvscan        \
 354         libwanboot      \
 355         libwanbootutil  \
 356         libzfs          \
 357         libzonecfg      \
 358         libzdoor        \
 359         madv            \
 360         mpss            \
 361         pam_modules     \
 362         rpcsec_gss      \
 363         $($(MACH)_MSGSUBDIRS)
 364 
 365 sparc_MSGSUBDIRS=       \
 366         libprtdiag      \
 367         libprtdiag_psr
 368 
 369 i386_MSGSUBDIRS= libfdisk
 370 
 371 HDRSUBDIRS=                             \
 372         ../cmd/sendmail/libmilter       \
 373         auditd_plugins  \
 374         fm              \
 375         hal             \
 376         hbaapi          \
 377         libads          \
 378         libast          \
 379         libbrand        \
 380         libbsm          \
 381         libbunyan       \
 382         libc            \
 383         libcmd          \
 384         libcmdutils     \
 385         libcommputil    \
 386         libcontract     \
 387         libcpc          \
 388         libcryptoutil   \
 389         libctf          \
 390         libcurses       \
 391         libdevice       \
 392         libdevid        \
 393         libdevinfo      \
 394         libdhcpagent    \
 395         libdhcputil     \
 396         libdisasm       \
 397         libdiskmgt      \
 398         libdwarf        \
 399         libdladm        \
 400         libdll          \
 401         libdlpi         \
 402         libdns_sd       \
 403         libdscfg        \
 404         libdtrace       \
 405         libdtrace_jni   \
 406         libelfsign      \
 407         libeti          \
 408         libfakekernel   \
 409         libfcoe         \
 410         libfru          \
 411         libfstyp        \
 412         libgen          \
 413         libgrubmgmt     \
 414         libidmap        \
 415         libidspace      \
 416         libilb          \
 417         libima          \
 418         libinetsvc      \
 419         libinetutil     \
 420         libinstzones    \
 421         libipadm        \
 422         libipd          \
 423         libipmi         \
 424         libipmp         \
 425         libipp          \
 426         libipsecutil    \
 427         libiscsit       \
 428         libkrb5         \
 429         libkstat        \
 430         libkvm          \
 431         libmail         \
 432         libmapid        \
 433         libmd           \
 434         libmtmalloc     \
 435         libndmp         \
 436         libnsctl        \
 437         libnsl          \
 438         libnvpair       \
 439         libnwam         \
 440         libpam          \
 441         libpcidb        \
 442         libpctx         \
 443         libpicl         \
 444         libpicltree     \
 445         libpool         \
 446         libpp           \
 447         libproc         \
 448         libraidcfg      \
 449         librcm          \
 450         librdc          \
 451         librename       \
 452         libreparse      \
 453         librestart      \
 454         librpcsvc       \
 455         librsm          \
 456         librstp         \
 457         libsasl         \
 458         libscf          \
 459         libsec          \
 460         libshare        \
 461         libshell        \
 462         libsip          \
 463         libslp          \
 464         libsmbfs        \
 465         libsmbios       \
 466         libsmedia       \
 467         libsocket       \
 468         libsqlite       \
 469         libsrpt         \
 470         libstmf         \
 471         libstmfproxy    \
 472         libsum          \
 473         libsun_ima      \
 474         libsysevent     \
 475         libtecla        \
 476         libtermcap      \
 477         libtnf          \
 478         libtnfctl       \
 479         libtnfprobe     \
 480         libtsnet        \
 481         libtsol         \
 482         libumem         \
 483         libunistat      \
 484         libuutil        \
 485         libvnd          \
 486         libvolmgt       \
 487         libvrrpadm      \
 488         libvscan        \
 489         libwanboot      \
 490         libwanbootutil  \
 491         libwrap         \
 492         libxcurses2     \
 493         libzfs          \
 494         libzfs_core     \
 495         libzfs_jni      \
 496         libzoneinfo     \
 497         libzonestat     \
 498         mpapi           \
 499         passwdutil      \
 500         pkcs11          \
 501         policykit       \
 502         scsi            \
 503         smbsrv          \
 504         smhba           \
 505         udapl           \
 506         $($(MACH)_HDRSUBDIRS)
 507 
 508 i386_HDRSUBDIRS=        \
 509         libfdisk        \
 510         libsaveargs
 511 
 512 sparc_HDRSUBDIRS=       \
 513         libds           \
 514         libdscp         \
 515         libpri          \
 516         libv12n         \
 517         storage
 
 
 572 basedeps:       libc libm libmd libmp libnsl libnvpair libsocket
 573 basedeps :=     TARGET=install
 574 
 575 # The following dependencies don't need to be listed below as they are built
 576 # before everything else:
 577 # libc libm libmd libmp libnsl libnvpair libsocket
 578 abi:            libctf libmapmalloc libproc
 579 auditd_plugins: libbsm libsecdb libgss libmtmalloc
 580 brand:          libzonecfg libmapmalloc libipadm libcmdutils libproc librpcsvc
 581 cfgadm_plugins: libdevice libdevinfo libhotplug librcm hbaapi libkstat libscf
 582 fm:             libexacct libipmi libzfs scsi libdevinfo libdevid libcfgadm \
 583                 libcontract libsysevent ../cmd/sgs/libelf
 584 $(SPARC_BLD)fm: libpri
 585 gss_mechs/mech_dh: libgss
 586 gss_mechs/mech_dummy: libgss
 587 gss_mechs/mech_krb5: libgss libresolv2 pkcs11 libkstat
 588 gss_mechs/mech_spnego: gss_mechs/mech_krb5
 589 krb5:           gss_mechs/mech_krb5 libtecla libldap5
 590 libadt_jni:     libbsm
 591 libadutils:     libldap5 libresolv2
 592 libbe:          libzfs libinstzones libuuid libgen libdevinfo libefi libficl
 593 libbsm:         libinetutil libscf libsecdb libtsol
 594 libbunyan:      libnvpair
 595 libcfgadm:      libdevinfo
 596 libcmd:         libsum libast
 597 libcmdutils:    libavl
 598 libcpc:         libpctx
 599 libcrypt:       libgen
 600 libctf:         libdwarf
 601 libdevid:       libdevinfo
 602 libdevinfo:     libsec libgen
 603 libdhcpagent:   libdhcputil libuuid libdlpi libcontract
 604 libdhcputil:    libgen libinetutil libdlpi
 605 libdiskmgt:     libdevid libdevinfo libadm libefi libkstat libsysevent
 606 $(INTEL_BLD)libdiskmgt: libfdisk
 607 libdladm:       libdevinfo libinetutil libscf librcm libexacct libkstat \
 608                 libpool varpd
 609 libdll:         libast
 610 libdlpi:        libinetutil libdladm
 611 libds:          libsysevent
 612 libdscfg:       libnsctl libunistat libadm
 613 libdtrace:      libproc libgen libctf libmapmalloc
 614 libdtrace_jni:  libuutil libdtrace
 615 libefi:         libuuid
 616 libelfsign:     libcryptoutil libkmf ../cmd/sgs/libelf
 617 libeti:         libcurses
 618 libexacct/demo: libexacct libproject
 619 libfakekernel:  libumem libcryptoutil
 620 libfcoe:        libdladm
 621 libficl:        libumem
 622 libfru:         libfruutils
 623 libfsmgt:       libkstat
 624 libgrubmgmt:    libdevinfo libzfs libfstyp libefi
 625 $(INTEL_BLD)libgrubmgmt: libfdisk
 626 libidmap:       libavl libuutil
 627 libidspace:     libumem
 628 libinetsvc:     libscf
 629 libinstzones:   libzonecfg libcontract
 630 libipadm:       libinetutil libdlpi libdhcpagent libdladm libsecdb
 631 libipmp:        libinetutil
 632 libipsecutil:   libtecla libtsol
 633 libiscsit:      libstmf libuuid
 634 libkmf:         libcryptoutil pkcs11
 635 libkvm:         ../cmd/sgs/libelf
 636 libldap5:       libsasl
 637 libmapid:       libresolv2 libscf
 638 libndmp:        libscf
 639 libnisdb:       libldap5
 640 libnwam:        libscf libbsm libdladm
 641 libpcp:         libumem libdevinfo
 642 libpctx:        libproc
 643 libpkg:         libwanboot libscf libadm
 644 libpool:        libscf libexacct
 645 libpp:          libast
 646 libproc:        ../cmd/sgs/librtld_db ../cmd/sgs/libelf libctf
 647 $(INTEL_BLD)libproc: libsaveargs
 648 libproject:     libpool libproc libsecdb
 649 libprtdiag:     libkstat
 650 libprtdiag_psr: libprtdiag
 651 libraidcfg:     libdevinfo
 652 librdc:         libnsctl libunistat libdscfg
 653 librestart:     libuutil libscf libpool libproject libsecdb libsysevent
 654 libsasl:        libgss pkcs11
 655 libsaveargs:    libdisasm
 656 libscf:         libuutil libgen libsmbios
 657 libsec:         libavl libidmap
 658 libshare:       libscf libzfs libuuid libfsmgt libsecdb libumem libsmbfs
 659 libshell:       libast libcmd libdll libsecdb
 660 libsip:         libmd5
 661 libsldap:       libldap5 libscf
 662 libsmartsshd:   libc libcontract
 663 libsmbfs:       libkrb5 libsec libidmap pkcs11
 664 libsrpt:        libstmf
 665 libstmf:        libscf
 666 libstmfproxy:   libstmf libpthread
 667 libsum:         libast
 668 libsun_ima:     libdevinfo libsysevent
 669 libsysevent:    libsecdb
 670 libtecla:       libcurses
 671 libtermcap:     libcurses
 672 libtnfctl:      ../cmd/sgs/libelf
 673 libtsalarm:     libpcp
 674 libtsnet:       libtsol libsecdb
 675 libtsol:        libsecdb
 676 libuuid:        libdlpi
 677 libv12n:        libds libuuid
 678 libvolmgt:      libadm
 679 libvrrpadm:     libdladm libscf
 680 libvscan:       libscf libsecdb
 681 libwanboot:     libresolv2 libdevinfo libinetutil libdhcputil
 682 libzdoor:       libc libzonecfg libcontract
 683 libzfs:         libdevid libgen libuutil libadm libavl libefi libidmap \
 684                 libumem libtsol libzfs_core
 685 libzfs_jni:     libdiskmgt libzfs
 686 libzonecfg:     libuuid libsysevent libsec libbrand libpool libscf libproc \
 687                 libuutil libbsm libsecdb
 688 libzonestat:    libcmdutils libumem
 689 libzpool:       libavl libumem libcmdutils libsysevent
 690 lvm:            libadm libdevid libdevinfo libefi libgen libscf
 691 madv:           libgen
 692 mpapi:          libpthread libdevinfo libsysevent
 693 mpss:           libgen
 694 nsswitch:       libadutils libidmap libdns_sd libscf libldap5 libsldap \
 695                 libresolv2_joy
 696 pam_modules:    libproject passwdutil smbsrv libtsnet libpam libbsm libsecdb
 697 passwdutil:     libsldap
 698 pkcs11:         libcryptoutil libgen libuuid
 699 policykit:      libsecdb
 700 print:          libldap5 libmd5 libsendfile
 701 pylibbe:        libbe libzfs
 702 pysolaris:      libsec libidmap
 703 pyzfs:          libzfs
 704 raidcfg_plugins: libraidcfg librcm libcfgadm libpicl libpicltree
 705 rpcsec_gss:     libgss
 706 sasl_plugins:   pkcs11 libgss libsasl
 707 scsi:           libfru libumem libdevid libdevinfo
 708 smbsrv:         libxnet libpthread librt libshare libidmap pkcs11 libsqlite \
 709                 libcryptoutil libreparse libcmdutils libresolv2 libsmbfs \
 710                 libuuid libfakekernel libads libgss libldap5 krb5
 711 storage:        libdevice libdevinfo libdevid
 712 sun_fc:         libdevinfo libsysevent
 713 sun_sas:        libdevinfo libsysevent libkstat libdevid
 714 udapl:          libdevinfo libdladm
 715 varpd:          libavl libidspace libumem libnsl libnvpair libmd5 librename \
 716                 libbunyan libcmdutils
 717 
 718 #
 719 # The reason this rule checks for the existence of the
 720 # Makefile is that some of the directories do not exist
 721 # in certain situations (e.g., exportable source builds,
 722 # OpenSolaris).
 723 #
 724 $(SUBDIRS): FRC
 725         @if [ -f $@/Makefile  ]; then \
 726                 cd $@; pwd; $(MAKE) $(TARGET); \
 727         else \
 728                 true; \
 729         fi
 730 
 731 $(SUBDIRS:%=%-nodepend):
 732         @if [ -f $(@:%-nodepend=%)/Makefile  ]; then \
 733                 cd $(@:%-nodepend=%); pwd; $(MAKE) $(TARGET); \
 734         else \
 735                 true; \
 736         fi
  | 
 
 
   5 # Common Development and Distribution License (the "License").
   6 # You may not use this file except in compliance with the License.
   7 #
   8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9 # or http://www.opensolaris.org/os/licensing.
  10 # See the License for the specific language governing permissions
  11 # and limitations under the License.
  12 #
  13 # When distributing Covered Code, include this CDDL HEADER in each
  14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15 # If applicable, add the following below this CDDL HEADER, with the
  16 # fields enclosed by brackets "[]" replaced with your own identifying
  17 # information: Portions Copyright [yyyy] [name of copyright owner]
  18 #
  19 # CDDL HEADER END
  20 #
  21 
  22 #
  23 # Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
  24 # Copyright (c) 2012 by Delphix. All rights reserved.
  25 # Copyright (c) 2012, Joyent, Inc. All rights reserved.
  26 # Copyright (c) 2013 Gary Mills
  27 # Copyright 2014 Garrett D'Amore <garrett@damore.org>
  28 # Copyright (c) 2015 Gary Mills
  29 # Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
  30 #
  31 
  32 include ../Makefile.master
  33 
  34 #       Note that libcurses installs commands along with its library.
  35 #       This is a minor bug which probably should be fixed.
  36 #       Note also that a few extra libraries are kept in cmd source.
  37 #
  38 # Certain libraries are linked with, hence depend on, other libraries.
  39 # Library dependencies are called out explicitly, see "Library
  40 # interdependencies" below.
  41 .PARALLEL:
  42 
  43 # Build libc and its dependencies
  44 SUBDIRS=                        \
  45         common                  \
  46         ../cmd/sgs/libconv      \
  47         ../cmd/sgs/libdl        \
  48         libc                    \
  49         .WAIT
 
 
  74         fm              \
  75         getloginx       \
  76         gss_mechs/mech_dh       \
  77         gss_mechs/mech_dummy    \
  78         gss_mechs/mech_krb5     \
  79         gss_mechs/mech_spnego   \
  80         hal             \
  81         hbaapi          \
  82         krb5            \
  83         libadm          \
  84         libads          \
  85         libadt_jni      \
  86         libadutils      \
  87         libaio          \
  88         libast          \
  89         libavl          \
  90         libbe           \
  91         libbrand        \
  92         libbsdmalloc    \
  93         libbsm          \
  94         libc_db         \
  95         libcfgadm       \
  96         libcmd          \
  97         libcmdutils     \
  98         libcommputil    \
  99         libcontract     \
 100         libcpc          \
 101         libcrypt        \
 102         libcryptoutil   \
 103         libctf          \
 104         libcurses       \
 105         libdevice       \
 106         libdevid        \
 107         libdevinfo      \
 108         libdhcpagent    \
 109         libdhcputil     \
 110         libdisasm       \
 111         libdiskmgt      \
 112         libdladm        \
 113         libdll          \
 114         libdlpi         \
 115         libdns_sd       \
 116         libdoor         \
 117         libdscfg        \
 118         libdtrace       \
 119         libdtrace_jni   \
 120         libefi          \
 121         libelfsign      \
 122         libeti          \
 123         libexacct       \
 124         libexacct/demo  \
 125         libfakekernel   \
 126         libfcoe         \
 127         libfru          \
 128         libfruutils     \
 129         libfsmgt        \
 130         libfstyp        \
 131         libgen          \
 132         libgrubmgmt     \
 133         libgss          \
 134         libhotplug      \
 135         libidmap        \
 136         libilb          \
 137         libima          \
 138         libinetsvc      \
 139         libinetutil     \
 140         libinstzones    \
 141         libintl         \
 142         libipadm        \
 143         libipd          \
 144         libipmi         \
 145         libipmp         \
 146         libipp          \
 147         libipsecutil    \
 148         libiscsit       \
 149         libkmf          \
 150         libkrb5         \
 151         libkstat        \
 152         libkvm          \
 153         libldap5        \
 154         liblgrp         \
 155         liblm           \
 
 
 163         libmvec         \
 164         libndmp         \
 165         libnisdb        \
 166         libnls          \
 167         libnsctl        \
 168         libnwam         \
 169         libpam          \
 170         libpcidb        \
 171         libpctx         \
 172         libpicl         \
 173         libpicltree     \
 174         libpkg          \
 175         libpool         \
 176         libpp           \
 177         libproc         \
 178         libproject      \
 179         libpthread      \
 180         libraidcfg      \
 181         librcm          \
 182         librdc          \
 183         libreparse      \
 184         libresolv       \
 185         libresolv2      \
 186         librestart      \
 187         librpcsvc       \
 188         librsm          \
 189         librstp         \
 190         librt           \
 191         libsasl         \
 192         libscf          \
 193         libsched        \
 194         libsctp         \
 195         libsec          \
 196         libsecdb        \
 197         libsendfile     \
 198         libshare        \
 199         libshell        \
 200         libsip          \
 201         libsldap        \
 202         libslp          \
 203         libsmbfs        \
 204         libsmbios       \
 205         libsmedia       \
 206         libsqlite       \
 207         libsrpt         \
 208         libstmf         \
 209         libstmfproxy    \
 210         libsum          \
 211         libsun_ima      \
 212         libsys          \
 213         libsysevent     \
 214         libtecla        \
 215         libtermcap      \
 216         libthread       \
 217         libtnf          \
 218         libtnfctl       \
 219         libtnfprobe     \
 220         libtsnet        \
 221         libtsol         \
 222         libumem         \
 223         libunistat      \
 224         libuuid         \
 225         libuutil        \
 226         libvolmgt       \
 227         libvrrpadm      \
 228         libvscan        \
 229         libw            \
 230         libwanboot      \
 231         libwanbootutil  \
 232         libwrap         \
 233         libxcurses      \
 234         libxcurses2     \
 235         libxnet         \
 236         libzfs          \
 237         libzfs_core     \
 238         libzfs_jni      \
 239         libzonecfg      \
 240         libzoneinfo     \
 241         libzonestat     \
 242         libzpool        \
 243         lvm             \
 244         madv            \
 245         mpapi           \
 246         mpss            \
 247         nametoaddr      \
 248         ncad_addr       \
 249         nsswitch        \
 250         pam_modules     \
 251         passwdutil      \
 252         pkcs11          \
 253         policykit       \
 254         print           \
 255         pylibbe         \
 256         pysolaris       \
 257         pyzfs           \
 258         raidcfg_plugins \
 259         rpcsec_gss      \
 260         sasl_plugins    \
 261         scsi            \
 262         smbsrv          \
 263         smhba           \
 264         sun_fc          \
 265         sun_sas         \
 266         udapl           \
 267         watchmalloc     \
 268         $($(MACH)_SUBDIRS)
 269 
 270 i386_SUBDIRS=           \
 271         libfdisk        \
 272         libsaveargs
 273 
 274 sparc_SUBDIRS=          \
 275         efcode          \
 276         libds           \
 277         libdscp         \
 278         libprtdiag      \
 279         libprtdiag_psr  \
 280         libpri          \
 281         librsc          \
 282         storage         \
 283         libpcp          \
 284         libtsalarm      \
 285         libv12n
 286 
 287 #
 288 # Create a special version of $(SUBDIRS) with no .WAIT's, for use with the
 289 # clean and clobber targets (for more information, see those targets, below).
 290 #
 291 NOWAIT_SUBDIRS= $(SUBDIRS:.WAIT=)
 292 
 293 DCSUBDIRS =             \
 294         lvm
 295 
 296 MSGSUBDIRS=             \
 297         abi             \
 298         auditd_plugins  \
 299         brand           \
 300         cfgadm_plugins  \
 301         gss_mechs/mech_dh       \
 302         gss_mechs/mech_krb5     \
 303         krb5            \
 304         libast          \
 305         libbsm          \
 306         libc            \
 307         libcfgadm       \
 308         libcmd          \
 309         libcontract     \
 310         libcurses       \
 311         libdhcputil     \
 312         libdiskmgt      \
 313         libdladm        \
 314         libdll          \
 
 
 320         libinstzones    \
 321         libipadm        \
 322         libipmp         \
 323         libipsecutil    \
 324         libldap5        \
 325         libnsl          \
 326         libnwam         \
 327         libpam          \
 328         libpicl         \
 329         libpkg          \
 330         libpool         \
 331         libpp           \
 332         libreparse      \
 333         libsasl         \
 334         libscf          \
 335         libsecdb        \
 336         libshare        \
 337         libshell        \
 338         libsldap        \
 339         libslp          \
 340         libsmbfs        \
 341         libsmedia       \
 342         libsum          \
 343         libtsol         \
 344         libuutil        \
 345         libvrrpadm      \
 346         libvscan        \
 347         libwanboot      \
 348         libwanbootutil  \
 349         libzfs          \
 350         libzonecfg      \
 351         lvm             \
 352         madv            \
 353         mpss            \
 354         pam_modules     \
 355         pyzfs           \
 356         rpcsec_gss      \
 357         $($(MACH)_MSGSUBDIRS)
 358 
 359 sparc_MSGSUBDIRS=       \
 360         libprtdiag      \
 361         libprtdiag_psr
 362 
 363 i386_MSGSUBDIRS= libfdisk
 364 
 365 HDRSUBDIRS=                             \
 366         ../cmd/sendmail/libmilter       \
 367         auditd_plugins  \
 368         fm              \
 369         hal             \
 370         hbaapi          \
 371         libads          \
 372         libast          \
 373         libbrand        \
 374         libbsm          \
 375         libc            \
 376         libcmd          \
 377         libcmdutils     \
 378         libcommputil    \
 379         libcontract     \
 380         libcpc          \
 381         libcryptoutil   \
 382         libctf          \
 383         libcurses       \
 384         libdevice       \
 385         libdevid        \
 386         libdevinfo      \
 387         libdhcpagent    \
 388         libdhcputil     \
 389         libdisasm       \
 390         libdiskmgt      \
 391         libdladm        \
 392         libdll          \
 393         libdlpi         \
 394         libdns_sd       \
 395         libdscfg        \
 396         libdtrace       \
 397         libdtrace_jni   \
 398         libelfsign      \
 399         libeti          \
 400         libfakekernel   \
 401         libfcoe         \
 402         libfru          \
 403         libfstyp        \
 404         libgen          \
 405         libgrubmgmt     \
 406         libidmap        \
 407         libilb          \
 408         libima          \
 409         libinetsvc      \
 410         libinetutil     \
 411         libinstzones    \
 412         libipadm        \
 413         libipd          \
 414         libipmi         \
 415         libipmp         \
 416         libipp          \
 417         libipsecutil    \
 418         libiscsit       \
 419         libkrb5         \
 420         libkstat        \
 421         libkvm          \
 422         libmail         \
 423         libmapid        \
 424         libmd           \
 425         libmtmalloc     \
 426         libndmp         \
 427         libnsctl        \
 428         libnsl          \
 429         libnvpair       \
 430         libnwam         \
 431         libpam          \
 432         libpcidb        \
 433         libpctx         \
 434         libpicl         \
 435         libpicltree     \
 436         libpool         \
 437         libpp           \
 438         libproc         \
 439         libraidcfg      \
 440         librcm          \
 441         librdc          \
 442         libreparse      \
 443         librestart      \
 444         librpcsvc       \
 445         librsm          \
 446         librstp         \
 447         libsasl         \
 448         libscf          \
 449         libsec          \
 450         libshare        \
 451         libshell        \
 452         libsip          \
 453         libslp          \
 454         libsmbfs        \
 455         libsmbios       \
 456         libsmedia       \
 457         libsocket       \
 458         libsqlite       \
 459         libsrpt         \
 460         libstmf         \
 461         libstmfproxy    \
 462         libsum          \
 463         libsun_ima      \
 464         libsysevent     \
 465         libtecla        \
 466         libtermcap      \
 467         libtnf          \
 468         libtnfctl       \
 469         libtnfprobe     \
 470         libtsnet        \
 471         libtsol         \
 472         libumem         \
 473         libunistat      \
 474         libuutil        \
 475         libvolmgt       \
 476         libvrrpadm      \
 477         libvscan        \
 478         libwanboot      \
 479         libwanbootutil  \
 480         libwrap         \
 481         libxcurses2     \
 482         libzfs          \
 483         libzfs_core     \
 484         libzfs_jni      \
 485         libzoneinfo     \
 486         libzonestat     \
 487         lvm             \
 488         mpapi           \
 489         passwdutil      \
 490         pkcs11          \
 491         policykit       \
 492         scsi            \
 493         smbsrv          \
 494         smhba           \
 495         udapl           \
 496         $($(MACH)_HDRSUBDIRS)
 497 
 498 i386_HDRSUBDIRS=        \
 499         libfdisk        \
 500         libsaveargs
 501 
 502 sparc_HDRSUBDIRS=       \
 503         libds           \
 504         libdscp         \
 505         libpri          \
 506         libv12n         \
 507         storage
 
 
 562 basedeps:       libc libm libmd libmp libnsl libnvpair libsocket
 563 basedeps :=     TARGET=install
 564 
 565 # The following dependencies don't need to be listed below as they are built
 566 # before everything else:
 567 # libc libm libmd libmp libnsl libnvpair libsocket
 568 abi:            libctf libmapmalloc libproc
 569 auditd_plugins: libbsm libsecdb libgss libmtmalloc
 570 brand:          libzonecfg libmapmalloc libipadm libcmdutils libproc librpcsvc
 571 cfgadm_plugins: libdevice libdevinfo libhotplug librcm hbaapi libkstat libscf
 572 fm:             libexacct libipmi libzfs scsi libdevinfo libdevid libcfgadm \
 573                 libcontract libsysevent ../cmd/sgs/libelf
 574 $(SPARC_BLD)fm: libpri
 575 gss_mechs/mech_dh: libgss
 576 gss_mechs/mech_dummy: libgss
 577 gss_mechs/mech_krb5: libgss libresolv2 pkcs11 libkstat
 578 gss_mechs/mech_spnego: gss_mechs/mech_krb5
 579 krb5:           gss_mechs/mech_krb5 libtecla libldap5
 580 libadt_jni:     libbsm
 581 libadutils:     libldap5 libresolv2
 582 libbe:          libzfs libinstzones libuuid libgen libdevinfo libefi
 583 libbsm:         libinetutil libscf libsecdb libtsol
 584 libcfgadm:      libdevinfo
 585 libcmd:         libsum libast
 586 libcmdutils:    libavl
 587 libcpc:         libpctx
 588 libcrypt:       libgen
 589 libdevid:       libdevinfo
 590 libdevinfo:     libsec libgen
 591 libdhcpagent:   libdhcputil libuuid libdlpi libcontract
 592 libdhcputil:    libgen libinetutil libdlpi
 593 libdiskmgt:     libdevid libdevinfo libadm libefi libkstat libsysevent
 594 $(INTEL_BLD)libdiskmgt: libfdisk
 595 libdladm:       libdevinfo libinetutil libscf librcm libexacct libkstat \
 596                 libpool
 597 libdll:         libast
 598 libdlpi:        libinetutil libdladm
 599 libds:          libsysevent
 600 libdscfg:       libnsctl libunistat libadm
 601 libdtrace:      libproc libgen libctf libmapmalloc
 602 libdtrace_jni:  libuutil libdtrace
 603 libefi:         libuuid
 604 libelfsign:     libcryptoutil libkmf ../cmd/sgs/libelf
 605 libeti:         libcurses
 606 libexacct/demo: libexacct libproject
 607 libfakekernel:  libumem libcryptoutil
 608 libfcoe:        libdladm
 609 libfru:         libfruutils
 610 libfsmgt:       libkstat
 611 libgrubmgmt:    libdevinfo libzfs libfstyp libefi
 612 $(INTEL_BLD)libgrubmgmt: libfdisk
 613 libidmap:       libavl libuutil
 614 libinetsvc:     libscf
 615 libinstzones:   libzonecfg libcontract
 616 libipadm:       libinetutil libdlpi libdhcpagent libdladm libsecdb
 617 libipmp:        libinetutil
 618 libipsecutil:   libtecla libtsol
 619 libiscsit:      libstmf libuuid
 620 libkmf:         libcryptoutil pkcs11
 621 libkvm:         ../cmd/sgs/libelf
 622 libldap5:       libsasl
 623 libmapid:       libresolv2 libscf
 624 libndmp:        libscf
 625 libnisdb:       libldap5
 626 libnwam:        libscf libbsm libdladm
 627 libpcp:         libumem libdevinfo
 628 libpctx:        libproc
 629 libpkg:         libwanboot libscf libadm
 630 libpool:        libscf libexacct
 631 libpp:          libast
 632 libproc:        ../cmd/sgs/librtld_db ../cmd/sgs/libelf libctf
 633 $(INTEL_BLD)libproc: libsaveargs
 634 libproject:     libpool libproc libsecdb
 635 libprtdiag:     libkstat
 636 libprtdiag_psr: libprtdiag
 637 libraidcfg:     libdevinfo
 638 librdc:         libnsctl libunistat libdscfg
 639 librestart:     libuutil libscf libpool libproject libsecdb libsysevent
 640 libsasl:        libgss pkcs11
 641 libsaveargs:    libdisasm
 642 libscf:         libuutil libgen libsmbios
 643 libsec:         libavl libidmap
 644 libshare:       libscf libzfs libuuid libfsmgt libsecdb libumem libsmbfs
 645 libshell:       libast libcmd libdll libsecdb
 646 libsip:         libmd5
 647 libsldap:       libldap5 libscf
 648 libsmbfs:       libkrb5 libsec libidmap pkcs11
 649 libsrpt:        libstmf
 650 libstmf:        libscf
 651 libstmfproxy:   libstmf libpthread
 652 libsum:         libast
 653 libsun_ima:     libdevinfo libsysevent
 654 libsysevent:    libsecdb
 655 libtecla:       libcurses
 656 libtermcap:     libcurses
 657 libtnfctl:      ../cmd/sgs/libelf
 658 libtsalarm:     libpcp
 659 libtsnet:       libtsol libsecdb
 660 libtsol:        libsecdb
 661 libuuid:        libdlpi
 662 libv12n:        libds libuuid
 663 libvolmgt:      libadm
 664 libvrrpadm:     libdladm libscf
 665 libvscan:       libscf libsecdb
 666 libwanboot:     libresolv2 libdevinfo libinetutil libdhcputil
 667 libzfs:         libdevid libgen libuutil libadm libavl libefi libidmap \
 668                 libumem libtsol libzfs_core
 669 libzfs_jni:     libdiskmgt libzfs
 670 libzonecfg:     libuuid libsysevent libsec libbrand libpool libscf libproc \
 671                 libuutil libbsm libsecdb
 672 libzonestat:    libcmdutils libumem
 673 libzpool:       libavl libumem libcmdutils libsysevent
 674 lvm:            libadm libdevid libdevinfo libefi libgen libscf
 675 madv:           libgen
 676 mpapi:          libpthread libdevinfo libsysevent
 677 mpss:           libgen
 678 nsswitch:       libadutils libidmap libdns_sd libscf libldap5 libsldap
 679 pam_modules:    libproject passwdutil smbsrv libtsnet libpam libbsm libsecdb
 680 passwdutil:     libsldap
 681 pkcs11:         libcryptoutil libgen libuuid
 682 policykit:      libsecdb
 683 print:          libldap5 libmd5 libsendfile
 684 pylibbe:        libbe libzfs
 685 pysolaris:      libsec libidmap
 686 pyzfs:          libzfs
 687 raidcfg_plugins: libraidcfg librcm libcfgadm libpicl libpicltree
 688 rpcsec_gss:     libgss
 689 sasl_plugins:   pkcs11 libgss libsasl
 690 scsi:           libfru libumem libdevid libdevinfo
 691 smbsrv:         libxnet libpthread librt libshare libidmap pkcs11 libsqlite \
 692                 libcryptoutil libreparse libcmdutils libresolv2 libsmbfs \
 693                 libuuid libfakekernel libads libgss libldap5 krb5
 694 storage:        libdevice libdevinfo libdevid
 695 sun_fc:         libdevinfo libsysevent
 696 sun_sas:        libdevinfo libsysevent libkstat libdevid
 697 udapl:          libdevinfo libdladm
 698 
 699 #
 700 # The reason this rule checks for the existence of the
 701 # Makefile is that some of the directories do not exist
 702 # in certain situations (e.g., exportable source builds,
 703 # OpenSolaris).
 704 #
 705 $(SUBDIRS): FRC
 706         @if [ -f $@/Makefile  ]; then \
 707                 cd $@; pwd; $(MAKE) $(TARGET); \
 708         else \
 709                 true; \
 710         fi
 711 
 712 $(SUBDIRS:%=%-nodepend):
 713         @if [ -f $(@:%-nodepend=%)/Makefile  ]; then \
 714                 cd $(@:%-nodepend=%); pwd; $(MAKE) $(TARGET); \
 715         else \
 716                 true; \
 717         fi
  |