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 libcasper \ 39 libcompat \ 40 libcrypt \ 41 libdevctl \ 42 libdevinfo \ 43 libdevstat \ 44 ${_libdl} \ 45 libdwarf \ 46 libedit \ 47 libelftc \ 48 libevent \ 49 libexecinfo \ 50 libexpat \ 51 libfetch \ 52 libfigpar \ 53 libgeom \ 54 libifconfig \ 55 libipsec \ 56 libjail \ 57 libkiconv \ 58 libkvm \ 59 liblzma \ 60 libmemstat \ 61 libmd \ 62 libmt \ 63 lib80211 \ 64 libnetbsd \ 65 libnv \ 66 libopenbsd \ 67 libopie \ 68 libpam \ 69 libpathconv \ 70 libpcap \ 71 libpjdlog \ 72 ${_libproc} \ 73 libprocstat \ 74 libregex \ 75 librpcsvc \ 76 librss \ 77 librt \ 78 ${_librtld_db} \ 79 libsbuf \ 80 libsmb \ 81 libsqlite3 \ 82 libstdbuf \ 83 libstdthreads \ 84 libsysdecode \ 85 libtacplus \ 86 libthread_db \ 87 libucl \ 88 libufs \ 89 libugidfw \ 90 libulog \ 91 libutil \ 92 ${_libvgl} \ 93 libwrap \ 94 libxo \ 95 liby \ 96 libz \ 97 libzstd \ 98 ncurses 99 100# Inter-library dependencies. When the makefile for a library contains LDADD 101# libraries, those libraries should be listed as build order dependencies here. 102 103SUBDIR_DEPEND_libarchive= libz libbz2 libexpat liblzma libmd 104SUBDIR_DEPEND_libauditdm= libbsm 105SUBDIR_DEPEND_libbsnmp= ${_libnetgraph} 106SUBDIR_DEPEND_libc++:= libcxxrt 107SUBDIR_DEPEND_libc= libcompiler_rt 108SUBDIR_DEPEND_libcam= libsbuf 109SUBDIR_DEPEND_libcasper= libnv 110SUBDIR_DEPEND_libdevstat= libkvm 111SUBDIR_DEPEND_libdpv= libfigpar ncurses libutil 112SUBDIR_DEPEND_libedit= ncurses 113SUBDIR_DEPEND_libgeom= libexpat libsbuf 114SUBDIR_DEPEND_librpcsec_gss= libgssapi 115SUBDIR_DEPEND_libmagic= libz 116SUBDIR_DEPEND_libmemstat= libkvm 117SUBDIR_DEPEND_libopie= libmd 118SUBDIR_DEPEND_libpam= libcrypt libopie ${_libradius} librpcsvc libtacplus libutil ${_libypclnt} ${_libcom_err} 119SUBDIR_DEPEND_libpjdlog= libutil 120SUBDIR_DEPEND_libprocstat= libkvm libutil 121SUBDIR_DEPEND_libradius= libmd 122SUBDIR_DEPEND_libsmb= libkiconv 123SUBDIR_DEPEND_libtacplus= libmd 124SUBDIR_DEPEND_libulog= libmd 125SUBDIR_DEPEND_libunbound= ${_libldns} 126SUBDIR_DEPEND_liblzma= ${_libthr} 127.if ${MK_OFED} != "no" 128SUBDIR_DEPEND_libpcap= ofed 129.endif 130 131# NB: keep these sorted by MK_* knobs 132 133SUBDIR.${MK_ATM}+= libngatm 134SUBDIR.${MK_BLACKLIST}+=libblacklist 135SUBDIR.${MK_BLUETOOTH}+=libbluetooth libsdp 136SUBDIR.${MK_BSNMP}+= libbsnmp 137 138.if !defined(COMPAT_32BIT) && !defined(COMPAT_SOFTFP) 139SUBDIR.${MK_CLANG}+= clang 140.endif 141 142SUBDIR.${MK_CUSE}+= libcuse 143SUBDIR.${MK_CXX}+= libdevdctl 144SUBDIR.${MK_TOOLCHAIN}+=libpe 145SUBDIR.${MK_DIALOG}+= libdpv 146SUBDIR.${MK_FILE}+= libmagic 147SUBDIR.${MK_GPIO}+= libgpio 148SUBDIR.${MK_GSSAPI}+= libgssapi librpcsec_gss 149SUBDIR.${MK_ICONV}+= libiconv_modules 150SUBDIR.${MK_KERBEROS_SUPPORT}+= libcom_err 151SUBDIR.${MK_LDNS}+= libldns 152 153# The libraries under libclang_rt can only be built by clang, and only make 154# sense to build when clang is enabled at all. Furthermore, they can only be 155# built for certain architectures. 156.if ${MK_CLANG} != "no" && ${COMPILER_TYPE} == "clang" && \ 157 (${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ 158 (${MACHINE_CPUARCH} == "arm" && ${MACHINE_ARCH} != "armeb") || \ 159 (${MACHINE_CPUARCH} == "i386")) 160_libclang_rt= libclang_rt 161.endif 162 163.if ${MK_LIBCPLUSPLUS} != "no" 164_libcxxrt= libcxxrt 165_libcplusplus= libc++ 166_libcplusplus+= libc++experimental 167.endif 168 169SUBDIR.${MK_EFI}+= libefivar 170SUBDIR.${MK_LIBTHR}+= libthr 171SUBDIR.${MK_LLVM_LIBUNWIND}+= libgcc_eh 172SUBDIR.${MK_LLVM_LIBUNWIND}+= libgcc_s 173SUBDIR.${MK_NAND}+= libnandfs 174SUBDIR.${MK_NETGRAPH}+= libnetgraph 175SUBDIR.${MK_NIS}+= libypclnt 176 177.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" 178_libvgl= libvgl 179.endif 180 181.if ${MACHINE_CPUARCH} == "aarch64" 182SUBDIR.${MK_PMC}+= libopencsd 183.endif 184 185.if ${MACHINE_CPUARCH} == "amd64" 186SUBDIR.${MK_PMC}+= libipt 187SUBDIR.${MK_BHYVE}+= libvmmapi 188.endif 189 190.if ${MACHINE_CPUARCH} != "sparc64" 191_libproc= libproc 192_librtld_db= librtld_db 193.endif 194 195.if defined(LINKER_FEATURES) && ${LINKER_FEATURES:Mfilter} 196_libdl= libdl 197.endif 198 199SUBDIR.${MK_OPENSSL}+= libmp 200.if (${COMPILER_TYPE} == "clang" || (${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 60100 && ${MACHINE_CPUARCH} != "riscv")) 201SUBDIR.${MK_PMC}+= libpmc libpmcstat 202.endif 203SUBDIR.${MK_RADIUS_SUPPORT}+= libradius 204SUBDIR.${MK_SENDMAIL}+= libmilter libsm libsmdb libsmutil 205SUBDIR.${MK_TELNET}+= libtelnet 206SUBDIR.${MK_TESTS_SUPPORT}+= atf 207SUBDIR.${MK_TESTS}+= tests 208SUBDIR.${MK_UNBOUND}+= libunbound 209SUBDIR.${MK_USB}+= libusbhid libusb 210SUBDIR.${MK_OFED}+= ofed 211 212.if !make(install) 213SUBDIR_PARALLEL= 214.endif 215 216.include <bsd.subdir.mk> 217