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 ${_libatm} \ 30 libauditd \ 31 libbegemot \ 32 ${_libblacklist} \ 33 libblocksruntime \ 34 ${_libbluetooth} \ 35 ${_libbsnmp} \ 36 libbsdstat \ 37 libbsm \ 38 libbz2 \ 39 libcalendar \ 40 libcam \ 41 libcapsicum \ 42 ${_libcasper} \ 43 ${_libcom_err} \ 44 libcompat \ 45 libcrypt \ 46 libdevctl \ 47 ${_libdevdctl} \ 48 libdevinfo \ 49 libdevstat \ 50 libdwarf \ 51 libedit \ 52 ${_libefivar} \ 53 ${_libelftc} \ 54 libevent \ 55 libexecinfo \ 56 libexpat \ 57 libfetch \ 58 libfigpar \ 59 libgeom \ 60 ${_libgpio} \ 61 ${_libgssapi} \ 62 ${_librpcsec_gss} \ 63 ${_libiconv_modules} \ 64 libifconfig \ 65 libipsec \ 66 libjail \ 67 libkiconv \ 68 libkvm \ 69 ${_libldns} \ 70 liblzma \ 71 ${_libmagic} \ 72 libmemstat \ 73 libmd \ 74 ${_libmilter} \ 75 ${_libmp} \ 76 libmt \ 77 ${_libnandfs} \ 78 lib80211 \ 79 libnetbsd \ 80 ${_libnetgraph} \ 81 ${_libngatm} \ 82 libnv \ 83 libopenbsd \ 84 libopie \ 85 libpam \ 86 libpcap \ 87 ${_libpe} \ 88 libpjdlog \ 89 ${_libpmc} \ 90 ${_libproc} \ 91 libprocstat \ 92 ${_libradius} \ 93 librpcsvc \ 94 librss \ 95 librt \ 96 ${_librtld_db} \ 97 libsbuf \ 98 ${_libsdp} \ 99 ${_libsm} \ 100 libsmb \ 101 ${_libsmdb} \ 102 ${_libsmutil} \ 103 libsqlite3 \ 104 libstand \ 105 libstdbuf \ 106 libstdthreads \ 107 libsysdecode \ 108 libtacplus \ 109 ${_libtelnet} \ 110 ${_libthr} \ 111 libthread_db \ 112 libucl \ 113 libufs \ 114 libugidfw \ 115 libulog \ 116 ${_libunbound} \ 117 ${_libusbhid} \ 118 ${_libusb} \ 119 libutil \ 120 ${_libvgl} \ 121 ${_libvmmapi} \ 122 libwrap \ 123 libxo \ 124 liby \ 125 ${_libypclnt} \ 126 libz \ 127 ncurses \ 128 ${_atf} \ 129 ${_clang} \ 130 ${_cuse} \ 131 ${_tests} 132 133# Inter-library dependencies. When the makefile for a library contains LDADD 134# libraries, those libraries should be listed as build order dependencies here. 135 136SUBDIR_DEPEND_libarchive= libz libbz2 libexpat liblzma libmd 137SUBDIR_DEPEND_libatm= libmd 138SUBDIR_DEPEND_libauditdm= libbsm 139SUBDIR_DEPEND_libbsnmp= ${_libnetgraph} 140SUBDIR_DEPEND_libc++:= libcxxrt 141SUBDIR_DEPEND_libc= libcompiler_rt 142SUBDIR_DEPEND_libcam= libsbuf 143SUBDIR_DEPEND_libcasper= libnv 144SUBDIR_DEPEND_libdevstat= libkvm 145SUBDIR_DEPEND_libdpv= libfigpar ncurses libutil 146SUBDIR_DEPEND_libedit= ncurses 147SUBDIR_DEPEND_libgeom= libexpat libsbuf 148SUBDIR_DEPEND_liblibrpcsec_gss= libgssapi 149SUBDIR_DEPEND_libmagic= libz 150SUBDIR_DEPEND_libmemstat= libkvm 151SUBDIR_DEPEND_libopie= libmd 152SUBDIR_DEPEND_libpam= libcrypt libopie ${_libradius} librpcsvc libtacplus libutil ${_libypclnt} ${_libcom_err} 153SUBDIR_DEPEND_libpjdlog= libutil 154SUBDIR_DEPEND_libprocstat= libkvm libutil 155SUBDIR_DEPEND_libradius= libmd 156SUBDIR_DEPEND_libsmb= libkiconv 157SUBDIR_DEPEND_libtacplus= libmd 158SUBDIR_DEPEND_libulog= libmd 159SUBDIR_DEPEND_libunbound= ${_libldns} 160SUBDIR_DEPEND_liblzma= ${_libthr} 161 162# NB: keep these sorted by MK_* knobs 163 164.if ${MK_ATM} != "no" 165_libngatm= libngatm 166.endif 167 168.if ${MK_BLACKLIST} != "no" 169_libblacklist= libblacklist 170.endif 171 172.if ${MK_BLUETOOTH} != "no" 173_libbluetooth= libbluetooth 174_libsdp= libsdp 175.endif 176 177.if ${MK_BSNMP} != "no" 178_libbsnmp= libbsnmp 179.endif 180 181.if ${MK_CASPER} != "no" 182_libcasper= libcasper 183.endif 184 185.if ${MK_CLANG} != "no" && !defined(COMPAT_32BIT) && !defined(COMPAT_SOFTFP) 186_clang= clang 187.endif 188 189.if ${MK_CUSE} != "no" 190_cuse= libcuse 191.endif 192 193.if ${MK_CXX} != "no" 194_libdevdctl= libdevdctl 195.endif 196 197.if ${MK_TOOLCHAIN} != "no" 198_libelftc= libelftc 199_libpe= libpe 200.endif 201 202SUBDIR.${MK_DIALOG}+= libdpv 203 204.if ${MK_FILE} != "no" 205_libmagic= libmagic 206.endif 207 208.if ${MK_GPIO} != "no" 209_libgpio= libgpio 210.endif 211 212.if ${MK_GSSAPI} != "no" 213_libgssapi= libgssapi 214_librpcsec_gss= librpcsec_gss 215.endif 216 217.if ${MK_ICONV} != "no" 218_libiconv_modules= libiconv_modules 219.endif 220 221.if ${MK_KERBEROS_SUPPORT} != "no" 222_libcom_err= libcom_err 223.endif 224 225.if ${MK_LDNS} != "no" 226_libldns= libldns 227.endif 228 229# The libraries under libclang_rt can only be built by clang, and only make 230# sense to build when clang is enabled at all. Furthermore, they can only be 231# built for certain architectures. 232.if ${MK_CLANG} != "no" && ${COMPILER_TYPE} == "clang" && \ 233 (${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ 234 (${MACHINE_CPUARCH} == "arm" && ${MACHINE_ARCH} != "armeb") || \ 235 (${MACHINE_CPUARCH} == "i386")) 236_libclang_rt= libclang_rt 237.endif 238 239.if ${MK_LIBCPLUSPLUS} != "no" 240_libcxxrt= libcxxrt 241_libcplusplus= libc++ 242.endif 243 244.if ${MK_EFI} != "no" 245_libefivar= libefivar 246.endif 247 248.if ${MK_LIBTHR} != "no" 249_libthr= libthr 250.endif 251 252.if ${MK_NAND} != "no" 253_libnandfs= libnandfs 254.endif 255 256.if ${MK_NETGRAPH} != "no" 257_libnetgraph= libnetgraph 258.endif 259 260.if ${MK_NIS} != "no" 261_libypclnt= libypclnt 262.endif 263 264.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" 265_libvgl= libvgl 266_libproc= libproc 267_librtld_db= librtld_db 268.endif 269 270.if ${MACHINE_CPUARCH} == "amd64" 271.if ${MK_BHYVE} != "no" 272_libvmmapi= libvmmapi 273.endif 274.endif 275 276.if ${MACHINE_CPUARCH} == "mips" 277_libproc= libproc 278_librtld_db= librtld_db 279.endif 280 281.if ${MACHINE_CPUARCH} == "powerpc" 282_libproc= libproc 283_librtld_db= librtld_db 284.endif 285 286.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "arm" || \ 287 ${MACHINE_CPUARCH} == "riscv" 288_libproc= libproc 289_librtld_db= librtld_db 290.endif 291 292.if ${MK_OPENSSL} != "no" 293_libmp= libmp 294.endif 295 296.if ${MK_PMC} != "no" 297_libpmc= libpmc 298.endif 299 300.if ${MK_RADIUS_SUPPORT} != "no" 301_libradius= libradius 302.endif 303 304.if ${MK_SENDMAIL} != "no" 305_libmilter= libmilter 306_libsm= libsm 307_libsmdb= libsmdb 308_libsmutil= libsmutil 309.endif 310 311.if ${MK_TELNET} != "no" 312_libtelnet= libtelnet 313.endif 314 315.if ${MK_TESTS_SUPPORT} != "no" 316_atf= atf 317.endif 318.if ${MK_TESTS} != "no" 319_tests= tests 320.endif 321 322.if ${MK_UNBOUND} != "no" 323_libunbound= libunbound 324.endif 325 326.if ${MK_USB} != "no" 327_libusbhid= libusbhid 328_libusb= libusb 329.endif 330 331.if !make(install) 332SUBDIR_PARALLEL= 333.endif 334 335.include <bsd.subdir.mk> 336