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