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 # Copyright 2011 Nexenta Systems, Inc. All rights reserved.
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
29 include ../Makefile.master
30
31 # Note that libcurses installs commands along with its library.
32 # This is a minor bug which probably should be fixed.
33 # Note also that a few extra libraries are kept in cmd source.
34 #
35 # Certain libraries are linked with, hence depend on, other libraries.
36 #
37 # Although we have historically used .WAIT to express dependencies, it
38 # reduces the amount of parallelism and thus lengthens the time it
39 # takes to build the libraries. Thus, we now require that any new
40 # libraries explicitly call out their dependencies. Eventually, all
41 # the library dependencies will be called out explicitly. See
42 # "Library interdependencies" near the end of this file.
43 #
44 # Aside from explicit dependencies (and legacy .WAITs), all libraries
45 # are built in parallel.
46 #
47 .PARALLEL:
550 clean clobber lint: $(NOWAIT_SUBDIRS:%=%-nodepend)
551
552 install_h check: $(HDRSUBDIRS:%=%-nodepend)
553
554 _msg: $(MSGSUBDIRS:%=%-nodepend) .WAIT _dc
555
556 _dc: $(DCSUBDIRS:%=%-nodepend)
557
558 #
559 # Library interdependencies are called out explicitly here
560 #
561 auditd_plugins: libbsm libnsl libsecdb
562 gss_mechs/mech_krb5: libgss libnsl libsocket libresolv pkcs11
563 libadt_jni: libbsm
564 libast: libsocket libm
565 libadutils: libldap5 libresolv libsocket libnsl
566 nsswitch: libadutils libidmap
567 libbe: libzfs
568 libbsm: libtsol
569 libcmd: libsum libast libsocket libnsl
570 libcmdutils: libavl
571 libcontract: libnvpair
572 libdevid: libdevinfo
573 libdevinfo: libnvpair libsec
574 libdhcpagent: libsocket libdhcputil libuuid libdlpi libcontract
575 libdhcputil: libnsl libgen libinetutil libdlpi
576 libdladm: libdevinfo libinetutil libsocket libscf librcm libnvpair \
577 libexacct libnsl libkstat libcurses
578 libdll: libast
579 libdlpi: libinetutil libdladm
580 libds: libsysevent
581 libdscfg: libnsctl libunistat libsocket libnsl
582 libdtrace: libproc libgen libctf
583 libdtrace_jni: libuutil libdtrace
584 libefi: libuuid
585 libfstyp: libnvpair
586 libelfsign: libcryptoutil libkmf
587 libidmap: libadutils libldap5 libavl libsldap libuutil
588 libipadm: libnsl libinetutil libsocket libdlpi libnvpair libdhcpagent \
589 libdladm libsecdb
590 libiscsit: libc libnvpair libstmf libuuid libnsl
591 libkmf: libcryptoutil pkcs11
592 libm: libc
593 libm1: libc libm
594 libmvec: libc libm
595 libnsl: libmd5
596 libmapid: libresolv
597 librdc: libsocket libnsl libnsctl libunistat libdscfg
598 libuuid: libdlpi
599 libinetutil: libsocket
600 libipsecutil: libtecla libsocket
601 libinstzones: libzonecfg libcontract
602 libpkg: libwanboot libscf libadm
603 libnwam: libscf
604 libsecdb: libnsl
605 libsasl: libgss libsocket pkcs11 libmd
606 sasl_plugins: pkcs11 libgss libsocket libsasl
607 libsctp: libsocket
608 libshell: libast libcmd libdll libsocket libsecdb libm
609 libsip: libmd5
610 libsmbfs: libcmdutils libsocket libnsl libkrb5
611 libsocket: libnsl
612 libstmfproxy: libstmf libsocket libnsl libpthread
613 libsum: libast
614 libsysevent: libsecdb
615 libldap5: libsasl libsocket libnsl libmd
616 libsldap: libldap5 libtsol libnsl libc libscf libresolv
617 libpool: libnvpair libexacct
618 libpp: libast
619 libzonecfg: libc libsocket libnsl libuuid libnvpair libsysevent libsec \
620 libbrand libpool libscf
621 libproc: ../cmd/sgs/librtld_db ../cmd/sgs/libelf libctf libsaveargs
622 libproject: libpool libproc libsecdb
623 libtermcap: libcurses
624 libtsnet: libnsl libtsol libsecdb
625 libwrap: libnsl libsocket
626 libwanboot: libnvpair libresolv libnsl libsocket libdevinfo libinetutil \
627 libdhcputil
628 libwanbootutil: libnsl
629 pam_modules: libproject passwdutil smbsrv
630 libscf: libuutil libmd libgen libsmbios libnsl
631 libinetsvc: libscf
632 librestart: libuutil libscf
633 libsaveargs: libdisasm
634 ../cmd/sgs/libdl: ../cmd/sgs/libconv
635 ../cmd/sgs/libelf: ../cmd/sgs/libconv
636 pkcs11: libcryptoutil
637 print: libldap5
638 udapl/udapl_tavor: udapl/libdat
639 libzfs: libdevid libgen libnvpair libuutil \
640 libadm libavl libefi libidmap libmd libzfs_core libm
641 libzfs_core: libnvpair
642 libzfs_jni: libdiskmgt libnvpair libzfs
643 libzpool: libavl libumem libnvpair libcmdutils
644 libsec: libavl libidmap
645 brand: libc libsocket
646 libshare: libscf libzfs libuuid libfsmgt libsecdb libumem libsmbfs
647 libexacct/demo: libexacct libproject libsocket libnsl
648 libtsalarm: libpcp
649 smbsrv: libsocket libnsl libmd libxnet libpthread librt \
650 libshare libidmap pkcs11 libsqlite libcryptoutil \
651 libreparse libcmdutils
652 libv12n: libds libuuid
653 libvrrpadm: libsocket libdladm libscf
654 libvscan: libscf
655 libfru: libfruutils
656 scsi: libnvpair libfru
657 mpapi: libpthread libdevinfo libsysevent libnvpair
658 sun_fc: libdevinfo libsysevent libnvpair
659 libsun_ima: libdevinfo libsysevent libnsl
660 sun_sas: libdevinfo libsysevent libnvpair libkstat libdevid
661 libgrubmgmt: libdevinfo libzfs libfstyp
662 pylibbe: libbe libzfs
663 pyzfs: libnvpair libzfs
664 pysolaris: libsec libidmap
665 libreparse: libnvpair
666 libhotplug: libnvpair
667 cfgadm_plugins: libhotplug
668 libilb: libsocket
669 libipmi: libm
670 libprtdiag: libm
671 libsqlite: libm
672 libstmf: libm
673 libvscan: libm
674
675
676 $(INTEL_BUILD)libdiskmgt:libfdisk
677
678 #
679 # The reason this rule checks for the existence of the
680 # Makefile is that some of the directories do not exist
681 # in certain situations (e.g., exportable source builds,
|
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 # Copyright 2011 Nexenta Systems, Inc. All rights reserved.
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 2014 Garrett D'Amore <garrett@damore.org>
27 # Copyright 2015 Gary Mills
28 # Copyright 2015 RackTop Systems.
29
30 include ../Makefile.master
31
32 # Note that libcurses installs commands along with its library.
33 # This is a minor bug which probably should be fixed.
34 # Note also that a few extra libraries are kept in cmd source.
35 #
36 # Certain libraries are linked with, hence depend on, other libraries.
37 #
38 # Although we have historically used .WAIT to express dependencies, it
39 # reduces the amount of parallelism and thus lengthens the time it
40 # takes to build the libraries. Thus, we now require that any new
41 # libraries explicitly call out their dependencies. Eventually, all
42 # the library dependencies will be called out explicitly. See
43 # "Library interdependencies" near the end of this file.
44 #
45 # Aside from explicit dependencies (and legacy .WAITs), all libraries
46 # are built in parallel.
47 #
48 .PARALLEL:
551 clean clobber lint: $(NOWAIT_SUBDIRS:%=%-nodepend)
552
553 install_h check: $(HDRSUBDIRS:%=%-nodepend)
554
555 _msg: $(MSGSUBDIRS:%=%-nodepend) .WAIT _dc
556
557 _dc: $(DCSUBDIRS:%=%-nodepend)
558
559 #
560 # Library interdependencies are called out explicitly here
561 #
562 auditd_plugins: libbsm libnsl libsecdb
563 gss_mechs/mech_krb5: libgss libnsl libsocket libresolv pkcs11
564 libadt_jni: libbsm
565 libast: libsocket libm
566 libadutils: libldap5 libresolv libsocket libnsl
567 nsswitch: libadutils libidmap
568 libbe: libzfs
569 libbsm: libtsol
570 libcmd: libsum libast libsocket libnsl
571 libcmdutils: libavl libnvpair
572 libcontract: libnvpair
573 libdevid: libdevinfo
574 libdevinfo: libnvpair libsec
575 libdhcpagent: libsocket libdhcputil libuuid libdlpi libcontract
576 libdhcputil: libnsl libgen libinetutil libdlpi
577 libdladm: libdevinfo libinetutil libsocket libscf librcm libnvpair \
578 libexacct libnsl libkstat libcurses libpool
579 libdll: libast
580 libdlpi: libinetutil libdladm
581 libds: libsysevent
582 libdscfg: libnsctl libunistat libsocket libnsl
583 libdtrace: libproc libgen libctf libmapmalloc
584 libdtrace_jni: libuutil libdtrace
585 libefi: libuuid
586 libfstyp: libnvpair
587 libelfsign: libcryptoutil libkmf libmd
588 libidmap: libadutils libldap5 libavl libsldap libuutil
589 libipadm: libnsl libinetutil libsocket libdlpi libnvpair libdhcpagent \
590 libdladm libsecdb
591 libiscsit: libc libnvpair libstmf libuuid libnsl libscf
592 libkmf: libcryptoutil pkcs11
593 libm: libc
594 libm1: libc libm
595 libmvec: libc libm
596 libnsl: libmd5
597 libmapid: libresolv
598 librdc: libsocket libnsl libnsctl libunistat libdscfg
599 libuuid: libdlpi
600 libinetutil: libsocket
601 libipsecutil: libtecla libsocket
602 libinstzones: libzonecfg libcontract
603 libpkg: libwanboot libscf libadm
604 libnwam: libbsm libdladm libnsl libnvpair libscf libsecdb libsocket
605 libsecdb: libnsl
606 libsasl: libgss libsocket pkcs11 libmd
607 sasl_plugins: pkcs11 libgss libsocket libsasl
608 libsctp: libsocket
609 libshell: libast libcmd libdll libsocket libsecdb libm
610 libsip: libmd5
611 libsmbfs: libcmdutils libsocket libnsl libkrb5
612 libsocket: libnsl
613 libstmfproxy: libstmf libsocket libnsl libpthread
614 libsum: libast
615 libsysevent: libsecdb
616 libldap5: libsasl libsocket libnsl libmd
617 libsldap: libldap5 libtsol libnsl libc libscf libresolv
618 libpool: libnvpair libexacct
619 libpp: libast
620 libzonecfg: libc libsocket libnsl libuuid libnvpair libsysevent libsec \
621 libbrand libpool libscf
622 libzonestat: libcmdutils libumem
623 libproc: ../cmd/sgs/librtld_db ../cmd/sgs/libelf libctf libsaveargs
624 libproject: libpool libproc libsecdb
625 libtermcap: libcurses
626 libtsnet: libnsl libtsol libsecdb
627 libwrap: libnsl libsocket
628 libwanboot: libnvpair libresolv libnsl libsocket libdevinfo libinetutil \
629 libdhcputil
630 libwanbootutil: libnsl
631 pam_modules: libproject passwdutil smbsrv
632 libscf: libuutil libmd libgen libsmbios libnsl
633 libinetsvc: libscf
634 librestart: libuutil libscf libpool
635 libsaveargs: libdisasm
636 ../cmd/sgs/libdl: ../cmd/sgs/libconv
637 ../cmd/sgs/libelf: ../cmd/sgs/libconv
638 pkcs11: libcryptoutil
639 print: libldap5
640 udapl/udapl_tavor: udapl/libdat
641 libzfs: libdevid libgen libnvpair libuutil \
642 libadm libavl libefi libidmap libmd libzfs_core libm
643 libzfs_core: libnvpair
644 libzfs_jni: libdiskmgt libnvpair libzfs
645 libzpool: libavl libumem libnvpair libcmdutils libsysevent libmd
646 libsec: libavl libidmap
647 brand: libc libsocket
648 libshare: libscf libzfs libuuid libfsmgt libsecdb libumem libsmbfs
649 libexacct/demo: libexacct libproject libsocket libnsl
650 libtsalarm: libpcp
651 smbsrv: libsocket libnsl libmd libxnet libpthread librt \
652 libshare libidmap pkcs11 libsqlite libcryptoutil \
653 libreparse libcmdutils
654 libv12n: libds libuuid
655 libvrrpadm: libsocket libdladm libscf
656 libvscan: libscf
657 libfru: libfruutils
658 scsi: libnvpair libfru
659 mpapi: libpthread libdevinfo libsysevent libnvpair
660 sun_fc: libdevinfo libsysevent libnvpair
661 libsun_ima: libdevinfo libsysevent libnsl
662 sun_sas: libdevinfo libsysevent libnvpair libkstat libdevid
663 libgrubmgmt: libdevinfo libzfs libfstyp libfdisk
664 pylibbe: libbe libzfs
665 pyzfs: libnvpair libzfs
666 pysolaris: libsec libidmap
667 libreparse: libnvpair
668 libhotplug: libnvpair
669 cfgadm_plugins: libhotplug
670 libilb: libsocket
671 libipmi: libm
672 libprtdiag: libm
673 libsqlite: libm
674 libstmf: libm
675 libvscan: libm
676
677
678 $(INTEL_BUILD)libdiskmgt:libfdisk
679
680 #
681 # The reason this rule checks for the existence of the
682 # Makefile is that some of the directories do not exist
683 # in certain situations (e.g., exportable source builds,
|