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