1# @(#)Makefile 8.1 (Berkeley) 6/4/93 2# $FreeBSD$ 3 4.include <src.opts.mk> 5 6# The SUBDIR_BOOTSTRAP list is a small set of libraries which are used by many 7# of the other libraries. These are built first with a .WAIT between them 8# and the main list to avoid needing a SUBDIR_DEPEND line on every library 9# naming just these few items. 10 11SUBDIR_BOOTSTRAP= \ 12 csu \ 13 .WAIT \ 14 libc \ 15 libc_nonshared \ 16 libcompiler_rt \ 17 ${_libclang_rt} \ 18 ${_libcplusplus} \ 19 ${_libcxxrt} \ 20 libelf \ 21 msun 22 23# The main list; please keep these sorted alphabetically. 24 25SUBDIR= ${SUBDIR_BOOTSTRAP} \ 26 .WAIT \ 27 libalias \ 28 libarchive \ 29 libauditd \ 30 libbegemot \ 31 libblocksruntime \ 32 libbsdstat \ 33 libbsm \ 34 libbz2 \ 35 libcalendar \ 36 libcam \ 37 libcapsicum \ 38 libcompat \ 39 libcrypt \ 40 libdevctl \ 41 libdevinfo \ 42 libdevstat \ 43 ${_libdl} \ 44 libdwarf \ 45 libedit \ 46 libevent \ 47 libexecinfo \ 48 libexpat \ 49 libfetch \ 50 libfigpar \ 51 libgeom \ 52 libifconfig \ 53 libipsec \ 54 libjail \ 55 libkiconv \ 56 libkvm \ 57 liblzma \ 58 libmemstat \ 59 libmd \ 60 libmt \ 61 lib80211 \ 62 libnetbsd \ 63 libnv \ 64 libopenbsd \ 65 libopie \ 66 libpam \ 67 libpcap \ 68 libpjdlog \ 69 ${_libproc} \ 70 libprocstat \ 71 librpcsvc \ 72 librss \ 73 librt \ 74 ${_librtld_db} \ 75 libsbuf \ 76 libsmb \ 77 libsqlite3 \ 78 libstdbuf \ 79 libstdthreads \ 80 libsysdecode \ 81 libtacplus \ 82 libthread_db \ 83 libucl \ 84 libufs \ 85 libugidfw \ 86 libulog \ 87 libutil \ 88 ${_libvgl} \ 89 libwrap \ 90 libxo \ 91 liby \ 92 libz \ 93 libzstd \ 94 ncurses 95 96# Inter-library dependencies. When the makefile for a library contains LDADD 97# libraries, those libraries should be listed as build order dependencies here. 98 99SUBDIR_DEPEND_libarchive= libz libbz2 libexpat liblzma libmd 100SUBDIR_DEPEND_libauditdm= libbsm 101SUBDIR_DEPEND_libbsnmp= ${_libnetgraph} 102SUBDIR_DEPEND_libc++:= libcxxrt 103SUBDIR_DEPEND_libc= libcompiler_rt 104SUBDIR_DEPEND_libcam= libsbuf 105SUBDIR_DEPEND_libcasper= libnv 106SUBDIR_DEPEND_libdevstat= libkvm 107SUBDIR_DEPEND_libdpv= libfigpar ncurses libutil 108SUBDIR_DEPEND_libedit= ncurses 109SUBDIR_DEPEND_libgeom= libexpat libsbuf 110SUBDIR_DEPEND_librpcsec_gss= libgssapi 111SUBDIR_DEPEND_libmagic= libz 112SUBDIR_DEPEND_libmemstat= libkvm 113SUBDIR_DEPEND_libopie= libmd 114SUBDIR_DEPEND_libpam= libcrypt libopie ${_libradius} librpcsvc libtacplus libutil ${_libypclnt} ${_libcom_err} 115SUBDIR_DEPEND_libpjdlog= libutil 116SUBDIR_DEPEND_libprocstat= libkvm libutil 117SUBDIR_DEPEND_libradius= libmd 118SUBDIR_DEPEND_libsmb= libkiconv 119SUBDIR_DEPEND_libtacplus= libmd 120SUBDIR_DEPEND_libulog= libmd 121SUBDIR_DEPEND_libunbound= ${_libldns} 122SUBDIR_DEPEND_liblzma= ${_libthr} 123 124# NB: keep these sorted by MK_* knobs 125 126SUBDIR.${MK_ATM}+= libngatm 127SUBDIR.${MK_BLACKLIST}+=libblacklist 128SUBDIR.${MK_BLUETOOTH}+=libbluetooth libsdp 129SUBDIR.${MK_BSNMP}+= libbsnmp 130SUBDIR.${MK_CASPER}+= libcasper 131 132.if !defined(COMPAT_32BIT) && !defined(COMPAT_SOFTFP) 133SUBDIR.${MK_CLANG}+= clang 134.endif 135 136SUBDIR.${MK_CUSE}+= libcuse 137SUBDIR.${MK_CXX}+= libdevdctl 138SUBDIR.${MK_TOOLCHAIN}+=libelftc libpe 139SUBDIR.${MK_DIALOG}+= libdpv 140SUBDIR.${MK_FILE}+= libmagic 141SUBDIR.${MK_GPIO}+= libgpio 142SUBDIR.${MK_GSSAPI}+= libgssapi librpcsec_gss 143SUBDIR.${MK_ICONV}+= libiconv_modules 144SUBDIR.${MK_KERBEROS_SUPPORT}+= libcom_err 145SUBDIR.${MK_LDNS}+= libldns 146 147# The libraries under libclang_rt can only be built by clang, and only make 148# sense to build when clang is enabled at all. Furthermore, they can only be 149# built for certain architectures. 150.if ${MK_CLANG} != "no" && ${COMPILER_TYPE} == "clang" && \ 151 (${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ 152 (${MACHINE_CPUARCH} == "arm" && ${MACHINE_ARCH} != "armeb") || \ 153 (${MACHINE_CPUARCH} == "i386")) 154_libclang_rt= libclang_rt 155.endif 156 157.if ${MK_LIBCPLUSPLUS} != "no" 158_libcxxrt= libcxxrt 159_libcplusplus= libc++ 160_libcplusplus+= libc++experimental 161.endif 162 163SUBDIR.${MK_EFI}+= libefivar 164SUBDIR.${MK_LIBTHR}+= libthr 165SUBDIR.${MK_LLVM_LIBUNWIND}+= libgcc_eh 166SUBDIR.${MK_LLVM_LIBUNWIND}+= libgcc_s 167SUBDIR.${MK_NAND}+= libnandfs 168SUBDIR.${MK_NETGRAPH}+= libnetgraph 169SUBDIR.${MK_NIS}+= libypclnt 170 171.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" 172_libvgl= libvgl 173.endif 174 175.if ${MACHINE_CPUARCH} == "amd64" 176SUBDIR.${MK_BHYVE}+= libvmmapi 177.endif 178 179.if ${MACHINE_CPUARCH} != "sparc64" 180_libproc= libproc 181_librtld_db= librtld_db 182.endif 183 184.if defined(LINKER_FEATURES) && ${LINKER_FEATURES:Mfilter} 185_libdl= libdl 186.endif 187 188SUBDIR.${MK_OPENSSL}+= libmp 189SUBDIR.${MK_PMC}+= libpmc 190SUBDIR.${MK_RADIUS_SUPPORT}+= libradius 191SUBDIR.${MK_SENDMAIL}+= libmilter libsm libsmdb libsmutil 192SUBDIR.${MK_TELNET}+= libtelnet 193SUBDIR.${MK_TESTS_SUPPORT}+= atf 194SUBDIR.${MK_TESTS}+= tests 195SUBDIR.${MK_UNBOUND}+= libunbound 196SUBDIR.${MK_USB}+= libusbhid libusb 197 198.if !make(install) 199SUBDIR_PARALLEL= 200.endif 201 202.include <bsd.subdir.mk> 203