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