158f0484fSRodney W. Grimes# @(#)Makefile 8.1 (Berkeley) 6/4/93 27f3dea24SPeter Wemm# $FreeBSD$ 3c9811e98SBruce Evans 4c6063d0dSWarner Losh.include <src.opts.mk> 5e1fe3dbaSRuslan Ermilov 6fa6d79e8SBryan Drewery# The SUBDIR_BOOTSTRAP list is a small set of libraries which are used by many 7a1c70d69SIan Lepore# of the other libraries. These are built first with a .WAIT between them 8a1c70d69SIan Lepore# and the main list to avoid needing a SUBDIR_DEPEND line on every library 9a1c70d69SIan Lepore# naming just these few items. 10c9811e98SBruce Evans 11fa6d79e8SBryan DrewerySUBDIR_BOOTSTRAP= \ 12fa6d79e8SBryan Drewery csu \ 13b8fffe16SWarner Losh .WAIT \ 149b3e440bSWarner Losh libc \ 15091b8336SPeter Wemm libc_nonshared \ 1639cd938cSEd Schouten libcompiler_rt \ 178028b78dSDimitry Andric ${_libclang_rt} \ 18a1c70d69SIan Lepore ${_libcplusplus} \ 1949c8e5e7SDimitry Andric ${_libcxxrt} \ 20a1c70d69SIan Lepore libelf \ 21cd0d51baSKyle Evans libssp \ 22cd0d51baSKyle Evans libssp_nonshared \ 23a1c70d69SIan Lepore msun 249b3e440bSWarner Losh 25a1c70d69SIan Lepore# The main list; please keep these sorted alphabetically. 260e46933cSStanislav Sedov 27fa6d79e8SBryan DrewerySUBDIR= ${SUBDIR_BOOTSTRAP} \ 28b8fffe16SWarner Losh .WAIT \ 29e4b0a90eSBrooks Davis geom \ 309b3e440bSWarner Losh libalias \ 319b3e440bSWarner Losh libarchive \ 32a1c70d69SIan Lepore libauditd \ 339b3e440bSWarner Losh libbegemot \ 3439cd938cSEd Schouten libblocksruntime \ 3581bd3d89SAdrian Chadd libbsdstat \ 36a1c70d69SIan Lepore libbsm \ 379b3e440bSWarner Losh libbz2 \ 389b3e440bSWarner Losh libcalendar \ 399b3e440bSWarner Losh libcam \ 407a6e3cf8SMariusz Zaborski libcapsicum \ 41ceb36bc9SMariusz Zaborski libcasper \ 429b3e440bSWarner Losh libcompat \ 43a1c70d69SIan Lepore libcrypt \ 4464de8019SJohn Baldwin libdevctl \ 459b3e440bSWarner Losh libdevinfo \ 469b3e440bSWarner Losh libdevstat \ 477c807d77SEd Maste libdl \ 489b3e440bSWarner Losh libdwarf \ 499b3e440bSWarner Losh libedit \ 505f8eed2fSEd Maste libelftc \ 510d9e60c8SBryan Drewery libevent \ 524b1fb8ffSEd Maste libexecinfo \ 539b3e440bSWarner Losh libexpat \ 549b3e440bSWarner Losh libfetch \ 55041394f3SDevin Teske libfigpar \ 56c4501804SEd Maste libgcc_eh \ 57c4501804SEd Maste libgcc_s \ 589b3e440bSWarner Losh libgeom \ 59ec214349SKristof Provost libifconfig \ 609b3e440bSWarner Losh libipsec \ 619b3e440bSWarner Losh libjail \ 629b3e440bSWarner Losh libkiconv \ 63a1c70d69SIan Lepore libkvm \ 64564b9ff2SBrooks Davis liblua \ 6581ad8388SMartin Matuska liblzma \ 669b3e440bSWarner Losh libmemstat \ 67a1c70d69SIan Lepore libmd \ 6843518607SKenneth D. Merry libmt \ 69127be1a7SAdrian Chadd lib80211 \ 706bea8766SBrooks Davis libnetbsd \ 71a1c70d69SIan Lepore libnv \ 72a36eca08SCraig Rodrigues libopenbsd \ 739b3e440bSWarner Losh libopie \ 749b3e440bSWarner Losh libpam \ 7582fcadcdSBryan Drewery libpathconv \ 76f39bffc6SKonstantin Belousov libpcap \ 77a1c70d69SIan Lepore libpjdlog \ 78feb2ecc3SWarner Losh libproc \ 790daf62d9SStanislav Sedov libprocstat \ 80b37f6c98SKyle Evans libregex \ 81a1c70d69SIan Lepore librpcsvc \ 8235c05a4fSAdrian Chadd librss \ 839b3e440bSWarner Losh librt \ 84feb2ecc3SWarner Losh librtld_db \ 85a1c70d69SIan Lepore libsbuf \ 8691ee3463SIan Lepore libsmb \ 87362492e5SBaptiste Daroussin libsqlite3 \ 886486b015SJeremie Le Hen libstdbuf \ 89fc6f0665SEd Schouten libstdthreads \ 90d6fb4894SJohn Baldwin libsysdecode \ 91a1c70d69SIan Lepore libtacplus \ 929b3e440bSWarner Losh libthread_db \ 934ca4d6a8SBaptiste Daroussin libucl \ 949b3e440bSWarner Losh libufs \ 959b3e440bSWarner Losh libugidfw \ 969b3e440bSWarner Losh libulog \ 97a1c70d69SIan Lepore libutil \ 989b3e440bSWarner Losh ${_libvgl} \ 999b3e440bSWarner Losh libwrap \ 100d7790611SMarcel Moolenaar libxo \ 1019b3e440bSWarner Losh liby \ 1029b3e440bSWarner Losh libz \ 103e2290905SBaptiste Daroussin libzstd \ 104cd060b8dSEd Maste ncurses 10558f0484fSRodney W. Grimes 106a1c70d69SIan Lepore# Inter-library dependencies. When the makefile for a library contains LDADD 107a1c70d69SIan Lepore# libraries, those libraries should be listed as build order dependencies here. 108a1c70d69SIan Lepore 109e4b0a90eSBrooks DavisSUBDIR_DEPEND_geom= libufs 110d567f909SBaptiste DaroussinSUBDIR_DEPEND_libarchive= libz libbz2 libexpat liblzma libmd libzstd 111a1c70d69SIan LeporeSUBDIR_DEPEND_libauditdm= libbsm 112a1c70d69SIan LeporeSUBDIR_DEPEND_libbsnmp= ${_libnetgraph} 113468a365dSBryan DrewerySUBDIR_DEPEND_libc++:= libcxxrt 114cd0d51baSKyle Evans# libssp_nonshared doesn't need to be linked into libc on every arch, but it is 115cd0d51baSKyle Evans# small enough to build that this bit of serialization is likely insignificant. 116cd0d51baSKyle EvansSUBDIR_DEPEND_libc= libcompiler_rt libssp_nonshared 117a1c70d69SIan LeporeSUBDIR_DEPEND_libcam= libsbuf 118c501d73cSMariusz ZaborskiSUBDIR_DEPEND_libcasper= libnv 119a1c70d69SIan LeporeSUBDIR_DEPEND_libdevstat= libkvm 1207fc89952SDevin TeskeSUBDIR_DEPEND_libdpv= libfigpar ncurses libutil 121a1c70d69SIan LeporeSUBDIR_DEPEND_libedit= ncurses 122a1c70d69SIan LeporeSUBDIR_DEPEND_libgeom= libexpat libsbuf 123bc53c94fSEnji CooperSUBDIR_DEPEND_librpcsec_gss= libgssapi 124a1c70d69SIan LeporeSUBDIR_DEPEND_libmagic= libz 125a1c70d69SIan LeporeSUBDIR_DEPEND_libmemstat= libkvm 126a1c70d69SIan LeporeSUBDIR_DEPEND_libopie= libmd 12731a741f4SEnji CooperSUBDIR_DEPEND_libpam= libcrypt libopie ${_libradius} librpcsvc libtacplus libutil ${_libypclnt} ${_libcom_err} 128a1c70d69SIan LeporeSUBDIR_DEPEND_libpjdlog= libutil 129a1c70d69SIan LeporeSUBDIR_DEPEND_libprocstat= libkvm libutil 130a1c70d69SIan LeporeSUBDIR_DEPEND_libradius= libmd 131a1c70d69SIan LeporeSUBDIR_DEPEND_libsmb= libkiconv 132b626f5a7SGlen BarberSUBDIR_DEPEND_libtacplus= libmd 133a1c70d69SIan LeporeSUBDIR_DEPEND_libulog= libmd 134a1c70d69SIan LeporeSUBDIR_DEPEND_libunbound= ${_libldns} 13553200025SRui PauloSUBDIR_DEPEND_liblzma= ${_libthr} 136f39bffc6SKonstantin Belousov.if ${MK_OFED} != "no" 137f39bffc6SKonstantin BelousovSUBDIR_DEPEND_libpcap= ofed 138f39bffc6SKonstantin Belousov.endif 139a1c70d69SIan Lepore 140690f477dSSam Leffler# NB: keep these sorted by MK_* knobs 141690f477dSSam Leffler 142cd060b8dSEd MasteSUBDIR.${MK_ATM}+= libngatm 143a92958dfSSimon J. GerratySUBDIR.${MK_BEARSSL}+= libbearssl libsecureboot 144cd060b8dSEd MasteSUBDIR.${MK_BLACKLIST}+=libblacklist 145cd060b8dSEd MasteSUBDIR.${MK_BLUETOOTH}+=libbluetooth libsdp 146cd060b8dSEd MasteSUBDIR.${MK_BSNMP}+= libbsnmp 147cd060b8dSEd Maste 148cd060b8dSEd Maste.if !defined(COMPAT_32BIT) && !defined(COMPAT_SOFTFP) 149cd060b8dSEd MasteSUBDIR.${MK_CLANG}+= clang 1505e1847b4SPoul-Henning Kamp.endif 1515e1847b4SPoul-Henning Kamp 152cd060b8dSEd MasteSUBDIR.${MK_CUSE}+= libcuse 153cd060b8dSEd MasteSUBDIR.${MK_CXX}+= libdevdctl 1545f8eed2fSEd MasteSUBDIR.${MK_TOOLCHAIN}+=libpe 155f987297fSEd MasteSUBDIR.${MK_DIALOG}+= libdpv 156cd060b8dSEd MasteSUBDIR.${MK_FILE}+= libmagic 157cd060b8dSEd MasteSUBDIR.${MK_GPIO}+= libgpio 158cd060b8dSEd MasteSUBDIR.${MK_GSSAPI}+= libgssapi librpcsec_gss 159cd060b8dSEd MasteSUBDIR.${MK_ICONV}+= libiconv_modules 160cd060b8dSEd MasteSUBDIR.${MK_KERBEROS_SUPPORT}+= libcom_err 161cd060b8dSEd MasteSUBDIR.${MK_LDNS}+= libldns 1621a13f2e6SEdward Tomasz NapieralaSUBDIR.${MK_STATS}+= libstats 1637b5038d7SDag-Erling Smørgrav 1648028b78dSDimitry Andric# The libraries under libclang_rt can only be built by clang, and only make 1658028b78dSDimitry Andric# sense to build when clang is enabled at all. Furthermore, they can only be 1668028b78dSDimitry Andric# built for certain architectures. 1678028b78dSDimitry Andric.if ${MK_CLANG} != "no" && ${COMPILER_TYPE} == "clang" && \ 168b78ee15eSRuslan Bukin (${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ 1691bb8eb56SDimitry Andric ${MACHINE_CPUARCH} == "arm" || ${MACHINE_CPUARCH} == "i386" || \ 1701bb8eb56SDimitry Andric ${MACHINE_CPUARCH} == "powerpc") 1718028b78dSDimitry Andric_libclang_rt= libclang_rt 1728028b78dSDimitry Andric.endif 1738028b78dSDimitry Andric 17435e370a2SDag-Erling Smørgrav.if ${MK_LIBCPLUSPLUS} != "no" 17535e370a2SDag-Erling Smørgrav_libcxxrt= libcxxrt 1768e69077bSDimitry Andric_libcplusplus= libc++ 1778e69077bSDimitry Andric_libcplusplus+= libc++experimental 1788e69077bSDimitry Andric.endif 17935e370a2SDag-Erling Smørgrav 180cd060b8dSEd MasteSUBDIR.${MK_EFI}+= libefivar 18143e25f47SEnji CooperSUBDIR.${MK_GOOGLETEST}+= googletest 182cd060b8dSEd MasteSUBDIR.${MK_LIBTHR}+= libthr 183cd060b8dSEd MasteSUBDIR.${MK_NETGRAPH}+= libnetgraph 184cd060b8dSEd MasteSUBDIR.${MK_NIS}+= libypclnt 185690f477dSSam Leffler 18625faff34SWarner Losh.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" 187c9811e98SBruce Evans_libvgl= libvgl 188abbb0b30SMarcel Moolenaar.endif 189abbb0b30SMarcel Moolenaar 190cde6fa28SRuslan Bukin.if ${MACHINE_CPUARCH} == "aarch64" 191cde6fa28SRuslan BukinSUBDIR.${MK_PMC}+= libopencsd 192cde6fa28SRuslan Bukin.endif 193cde6fa28SRuslan Bukin 19470d8f36aSPeter Grehan.if ${MACHINE_CPUARCH} == "amd64" 19530b3274fSRuslan BukinSUBDIR.${MK_PMC}+= libipt 196cd060b8dSEd MasteSUBDIR.${MK_BHYVE}+= libvmmapi 19702629e46SEnji Cooper.endif 19870d8f36aSPeter Grehan 1996b3555c3SDimitry Andric.if ${MACHINE_ARCH} != "powerpc" 200b0840a28SDimitry AndricSUBDIR.${MK_OPENMP}+= libomp 2016b3555c3SDimitry Andric.endif 202cd060b8dSEd MasteSUBDIR.${MK_OPENSSL}+= libmp 203bc82609aSKyle EvansSUBDIR.${MK_PMC}+= libpmc libpmcstat 204cd060b8dSEd MasteSUBDIR.${MK_RADIUS_SUPPORT}+= libradius 205cd060b8dSEd MasteSUBDIR.${MK_SENDMAIL}+= libmilter libsm libsmdb libsmutil 206cd060b8dSEd MasteSUBDIR.${MK_TELNET}+= libtelnet 207cd060b8dSEd MasteSUBDIR.${MK_TESTS_SUPPORT}+= atf 208*b0d29bc4SBrooks DavisSUBDIR.${MK_TESTS_SUPPORT}.${MK_CXX}+= kyua 209c697fb7fSBrooks DavisSUBDIR.${MK_TESTS_SUPPORT}.${MK_CXX}+= liblutok 210cd060b8dSEd MasteSUBDIR.${MK_TESTS}+= tests 211cd060b8dSEd MasteSUBDIR.${MK_UNBOUND}+= libunbound 212cd060b8dSEd MasteSUBDIR.${MK_USB}+= libusbhid libusb 213f39bffc6SKonstantin BelousovSUBDIR.${MK_OFED}+= ofed 214a92958dfSSimon J. GerratySUBDIR.${MK_VERIEXEC}+= libveriexec 2157920ad94SKyle EvansSUBDIR.${MK_ZFS}+= libbe 216a8ec1b48SMaxim Sobolev 21754ff5d73SDimitry Andric.if !make(install) 21854ff5d73SDimitry AndricSUBDIR_PARALLEL= 21954ff5d73SDimitry Andric.endif 22054ff5d73SDimitry Andric 22158f0484fSRodney W. Grimes.include <bsd.subdir.mk> 222