158f0484fSRodney W. Grimes# @(#)Makefile 8.1 (Berkeley) 6/4/93 27f3dea24SPeter Wemm# $FreeBSD$ 3c9811e98SBruce Evans 4c6063d0dSWarner Losh.include <src.opts.mk> 5e1fe3dbaSRuslan Ermilov 6*a1c70d69SIan Lepore# The SUBDIR_ORDERED list is a small set of libraries which are used by many 7*a1c70d69SIan Lepore# of the other libraries. These are built first with a .WAIT between them 8*a1c70d69SIan Lepore# and the main list to avoid needing a SUBDIR_DEPEND line on every library 9*a1c70d69SIan Lepore# naming just these few items. 10c9811e98SBruce Evans 119b3e440bSWarner LoshSUBDIR_ORDERED= ${_csu} \ 12b8fffe16SWarner Losh .WAIT \ 139b3e440bSWarner Losh libc \ 14091b8336SPeter Wemm libc_nonshared \ 1539cd938cSEd Schouten libcompiler_rt \ 16*a1c70d69SIan Lepore ${_libcplusplus} \ 1749c8e5e7SDimitry Andric ${_libcxxrt} \ 18*a1c70d69SIan Lepore libelf \ 19*a1c70d69SIan Lepore msun 209b3e440bSWarner Losh 21*a1c70d69SIan Lepore# The main list; please keep these sorted alphabetically. 220e46933cSStanislav Sedov 239b3e440bSWarner LoshSUBDIR= ${SUBDIR_ORDERED} \ 24b8fffe16SWarner Losh .WAIT \ 259b3e440bSWarner Losh libalias \ 269b3e440bSWarner Losh libarchive \ 279b3e440bSWarner Losh ${_libatm} \ 28*a1c70d69SIan Lepore libauditd \ 299b3e440bSWarner Losh libbegemot \ 3039cd938cSEd Schouten libblocksruntime \ 319b3e440bSWarner Losh ${_libbluetooth} \ 329b3e440bSWarner Losh ${_libbsnmp} \ 3381bd3d89SAdrian Chadd libbsdstat \ 34*a1c70d69SIan Lepore libbsm \ 359b3e440bSWarner Losh libbz2 \ 369b3e440bSWarner Losh libcalendar \ 379b3e440bSWarner Losh libcam \ 38*a1c70d69SIan Lepore ${_libcapsicum} \ 3942a85952SPawel Jakub Dawidek ${_libcasper} \ 40*a1c70d69SIan Lepore ${_libcom_err} \ 419b3e440bSWarner Losh libcompat \ 42*a1c70d69SIan Lepore libcrypt \ 439b3e440bSWarner Losh libdevinfo \ 449b3e440bSWarner Losh libdevstat \ 459b3e440bSWarner Losh libdwarf \ 469b3e440bSWarner Losh libedit \ 479b3e440bSWarner Losh ${_libefi} \ 484b1fb8ffSEd Maste libexecinfo \ 499b3e440bSWarner Losh libexpat \ 509b3e440bSWarner Losh libfetch \ 519b3e440bSWarner Losh libgeom \ 529b3e440bSWarner Losh ${_libgpib} \ 539b3e440bSWarner Losh ${_libgssapi} \ 549b3e440bSWarner Losh ${_librpcsec_gss} \ 55*a1c70d69SIan Lepore ${_libiconv_modules} \ 569b3e440bSWarner Losh libipsec \ 579b3e440bSWarner Losh libjail \ 589b3e440bSWarner Losh libkiconv \ 59*a1c70d69SIan Lepore libkvm \ 60*a1c70d69SIan Lepore ${_libldns} \ 6181ad8388SMartin Matuska liblzma \ 629b3e440bSWarner Losh libmagic \ 63cc4842a1SUlrich Spörlein libmandoc \ 649b3e440bSWarner Losh libmemstat \ 65*a1c70d69SIan Lepore libmd \ 669b3e440bSWarner Losh ${_libmilter} \ 679b3e440bSWarner Losh ${_libmp} \ 687f725bcdSGrzegorz Bernacki ${_libnandfs} \ 696bea8766SBrooks Davis libnetbsd \ 70*a1c70d69SIan Lepore ${_libnetgraph} \ 719b3e440bSWarner Losh ${_libngatm} \ 72*a1c70d69SIan Lepore libnv \ 739b3e440bSWarner Losh libopie \ 749b3e440bSWarner Losh libpam \ 759b3e440bSWarner Losh libpcap \ 76*a1c70d69SIan Lepore libpjdlog \ 779b3e440bSWarner Losh ${_libpmc} \ 7854bb94d7SRui Paulo ${_libproc} \ 790daf62d9SStanislav Sedov libprocstat \ 80*a1c70d69SIan Lepore libradius \ 81*a1c70d69SIan Lepore librpcsvc \ 829b3e440bSWarner Losh librt \ 83fb05b666SRui Paulo ${_librtld_db} \ 84*a1c70d69SIan Lepore libsbuf \ 859b3e440bSWarner Losh ${_libsdp} \ 869b3e440bSWarner Losh ${_libsm} \ 87237abf0cSDavide Italiano ${_libsmb} \ 889b3e440bSWarner Losh ${_libsmdb} \ 899b3e440bSWarner Losh ${_libsmutil} \ 909b3e440bSWarner Losh libstand \ 916486b015SJeremie Le Hen libstdbuf \ 92fc6f0665SEd Schouten libstdthreads \ 93*a1c70d69SIan Lepore libtacplus \ 949b3e440bSWarner Losh ${_libtelnet} \ 959b3e440bSWarner Losh ${_libthr} \ 969b3e440bSWarner Losh libthread_db \ 974ca4d6a8SBaptiste Daroussin libucl \ 989b3e440bSWarner Losh libufs \ 999b3e440bSWarner Losh libugidfw \ 1009b3e440bSWarner Losh libulog \ 1018f8790cdSDag-Erling Smørgrav ${_libunbound} \ 1029b3e440bSWarner Losh ${_libusbhid} \ 1039b3e440bSWarner Losh ${_libusb} \ 104*a1c70d69SIan Lepore libutil \ 1059b3e440bSWarner Losh ${_libvgl} \ 106366f6083SPeter Grehan ${_libvmmapi} \ 1079b3e440bSWarner Losh libwrap \ 1089b3e440bSWarner Losh liby \ 109*a1c70d69SIan Lepore ${_libypclnt} \ 1109b3e440bSWarner Losh libz \ 111*a1c70d69SIan Lepore ncurses \ 112c175365cSMarcel Moolenaar ${_atf} \ 113cc21b86fSJulio Merino ${_clang} \ 11436716419SHans Petter Selasky ${_cuse} \ 115cc21b86fSJulio Merino ${_tests} 11658f0484fSRodney W. Grimes 117*a1c70d69SIan Lepore# Inter-library dependencies. When the makefile for a library contains LDADD 118*a1c70d69SIan Lepore# libraries, those libraries should be listed as build order dependencies here. 119*a1c70d69SIan Lepore 120*a1c70d69SIan LeporeSUBDIR_DEPEND_libarchive= libz libbz2 libexpat liblzma libmd 121*a1c70d69SIan LeporeSUBDIR_DEPEND_libatm= libmd 122*a1c70d69SIan LeporeSUBDIR_DEPEND_libauditdm= libbsm 123*a1c70d69SIan LeporeSUBDIR_DEPEND_libbsnmp= ${_libnetgraph} 124*a1c70d69SIan LeporeSUBDIR_DEPEND_libc++= libcxxrt 125*a1c70d69SIan LeporeSUBDIR_DEPEND_libc= libcompiler_rt 126*a1c70d69SIan LeporeSUBDIR_DEPEND_libcam= libsbuf 127*a1c70d69SIan LeporeSUBDIR_DEPEND_libcapsicum= libnv 128*a1c70d69SIan LeporeSUBDIR_DEPEND_libcasper= libcapsicum libnv libpjdlog 129*a1c70d69SIan LeporeSUBDIR_DEPEND_libdevstat= libkvm 130*a1c70d69SIan LeporeSUBDIR_DEPEND_libdiaglog= ncurses 131*a1c70d69SIan LeporeSUBDIR_DEPEND_libedit= ncurses 132*a1c70d69SIan LeporeSUBDIR_DEPEND_libg++= msun 133*a1c70d69SIan LeporeSUBDIR_DEPEND_libgeom= libexpat libsbuf 134*a1c70d69SIan LeporeSUBDIR_DEPEND_liblibrpcsec_gss= libgssapi 135*a1c70d69SIan LeporeSUBDIR_DEPEND_libmagic= libz 136*a1c70d69SIan LeporeSUBDIR_DEPEND_libmemstat= libkvm 137*a1c70d69SIan LeporeSUBDIR_DEPEND_libopie= libmd 138*a1c70d69SIan LeporeSUBDIR_DEPEND_libpam= libcrypt libopie libradius librpcsvc libtacplus libutil ${_libypclnt} ${_libcom_err} 139*a1c70d69SIan LeporeSUBDIR_DEPEND_libpjdlog= libutil 140*a1c70d69SIan LeporeSUBDIR_DEPEND_libprocstat= libkvm libutil 141*a1c70d69SIan LeporeSUBDIR_DEPEND_libradius= libmd 142*a1c70d69SIan LeporeSUBDIR_DEPEND_libreadline= ncurses 143*a1c70d69SIan LeporeSUBDIR_DEPEND_libsmb= libkiconv 144*a1c70d69SIan LeporeSUBDIR_DEPEND_libstdc++= msun 145*a1c70d69SIan LeporeSUBDIR_DEPEND_libtacplus= libmd 146*a1c70d69SIan LeporeSUBDIR_DEPEND_libulog= libmd 147*a1c70d69SIan LeporeSUBDIR_DEPEND_libunbound= ${_libldns} 148*a1c70d69SIan Lepore 1492bef81cfSWarner Losh.if exists(${.CURDIR}/csu/${MACHINE_ARCH}-elf) 1502bef81cfSWarner Losh_csu=csu/${MACHINE_ARCH}-elf 151b12277d1SNathan Whitehorn.elif exists(${.CURDIR}/csu/${MACHINE_ARCH}) 152b12277d1SNathan Whitehorn_csu=csu/${MACHINE_ARCH} 15325faff34SWarner Losh.elif exists(${.CURDIR}/csu/${MACHINE_CPUARCH}/Makefile) 15425faff34SWarner Losh_csu=csu/${MACHINE_CPUARCH} 15556a91a6fSDavid E. O'Brien.else 15656a91a6fSDavid E. O'Brien_csu=csu 157b09f41a4SJohn Birrell.endif 158b09f41a4SJohn Birrell 159690f477dSSam Leffler# NB: keep these sorted by MK_* knobs 160690f477dSSam Leffler 161e1fe3dbaSRuslan Ermilov.if ${MK_ATM} != "no" 1629e9dbe04SHartmut Brandt_libngatm= libngatm 1635e1847b4SPoul-Henning Kamp.endif 1645e1847b4SPoul-Henning Kamp 165e1fe3dbaSRuslan Ermilov.if ${MK_BLUETOOTH} != "no" 1660986ab12SMaksim Yevmenkin_libbluetooth= libbluetooth 1670986ab12SMaksim Yevmenkin_libsdp= libsdp 16818d948adSMaksim Yevmenkin.endif 16923d1e148SMaksim Yevmenkin 170690f477dSSam Leffler.if ${MK_BSNMP} != "no" 171690f477dSSam Leffler_libbsnmp= libbsnmp 172690f477dSSam Leffler.endif 173690f477dSSam Leffler 17442a85952SPawel Jakub Dawidek.if ${MK_CASPER} != "no" 17542a85952SPawel Jakub Dawidek_libcapsicum= libcapsicum 17642a85952SPawel Jakub Dawidek_libcasper= libcasper 17742a85952SPawel Jakub Dawidek.endif 17842a85952SPawel Jakub Dawidek 179bfc72ed5SEd Schouten.if ${MK_CLANG} != "no" && !defined(COMPAT_32BIT) 1806513cfc8SRoman Divacky_clang= clang 1816513cfc8SRoman Divacky.endif 1826513cfc8SRoman Divacky 18336716419SHans Petter Selasky.if ${MK_CUSE} != "no" 18436716419SHans Petter Selasky_cuse= libcuse 18536716419SHans Petter Selasky.endif 18636716419SHans Petter Selasky 187690f477dSSam Leffler.if ${MK_GPIB} != "no" 188690f477dSSam Leffler_libgpib= libgpib 189690f477dSSam Leffler.endif 190690f477dSSam Leffler 1916dc51ecaSRuslan Ermilov.if ${MK_GSSAPI} != "no" 1923fe21f77SDoug Barton_libgssapi= libgssapi 1938f55a568SDoug Rabson_librpcsec_gss= librpcsec_gss 1943fe21f77SDoug Barton.endif 1953fe21f77SDoug Barton 196ad30f8e7SGabor Kovesdan.if ${MK_ICONV} != "no" 197ad30f8e7SGabor Kovesdan_libiconv_modules= libiconv_modules 198ad30f8e7SGabor Kovesdan.endif 199ad30f8e7SGabor Kovesdan 200*a1c70d69SIan Lepore.if ${MK_KERBEROS_SUPPORT} != "no" 201*a1c70d69SIan Lepore_libcom_err= libcom_err 202*a1c70d69SIan Lepore.endif 203*a1c70d69SIan Lepore 2047b5038d7SDag-Erling Smørgrav.if ${MK_LDNS} != "no" 2057b5038d7SDag-Erling Smørgrav_libldns= libldns 2067b5038d7SDag-Erling Smørgrav.endif 2077b5038d7SDag-Erling Smørgrav 20835e370a2SDag-Erling Smørgrav.if ${MK_LIBCPLUSPLUS} != "no" 20935e370a2SDag-Erling Smørgrav_libcxxrt= libcxxrt 21035e370a2SDag-Erling Smørgrav_libcplusplus= libc++ 21135e370a2SDag-Erling Smørgrav.endif 21235e370a2SDag-Erling Smørgrav 213690f477dSSam Leffler.if ${MK_LIBTHR} != "no" 214690f477dSSam Leffler_libthr= libthr 215690f477dSSam Leffler.endif 216690f477dSSam Leffler 2177f725bcdSGrzegorz Bernacki.if ${MK_NAND} != "no" 2187f725bcdSGrzegorz Bernacki_libnandfs= libnandfs 2197f725bcdSGrzegorz Bernacki.endif 2207f725bcdSGrzegorz Bernacki 221690f477dSSam Leffler.if ${MK_NETGRAPH} != "no" 222690f477dSSam Leffler_libnetgraph= libnetgraph 223690f477dSSam Leffler.endif 224690f477dSSam Leffler 225690f477dSSam Leffler.if ${MK_NIS} != "no" 226690f477dSSam Leffler_libypclnt= libypclnt 227690f477dSSam Leffler.endif 228690f477dSSam Leffler 22925faff34SWarner Losh.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" 230237abf0cSDavide Italiano_libsmb= libsmb 231c9811e98SBruce Evans_libvgl= libvgl 23254bb94d7SRui Paulo_libproc= libproc 233fb05b666SRui Paulo_librtld_db= librtld_db 234abbb0b30SMarcel Moolenaar.endif 235abbb0b30SMarcel Moolenaar 23670d8f36aSPeter Grehan.if ${MACHINE_CPUARCH} == "amd64" 23770d8f36aSPeter Grehan_libvmmapi= libvmmapi 23870d8f36aSPeter Grehan.endif 23970d8f36aSPeter Grehan 24025faff34SWarner Losh.if ${MACHINE_CPUARCH} == "ia64" 241eb0a7e41SMarcel Moolenaar_libefi= libefi 242237abf0cSDavide Italiano_libsmb= libsmb 243e108ac65SMarcel Moolenaar.endif 244e108ac65SMarcel Moolenaar 24507d39325SOleksandr Tymoshenko.if ${MACHINE_CPUARCH} == "mips" 24607d39325SOleksandr Tymoshenko_libproc= libproc 24707d39325SOleksandr Tymoshenko_librtld_db= librtld_db 24807d39325SOleksandr Tymoshenko.endif 24907d39325SOleksandr Tymoshenko 250c7570492SJustin Hibbits.if ${MACHINE_CPUARCH} == "powerpc" 251c7570492SJustin Hibbits_libproc= libproc 252c7570492SJustin Hibbits_librtld_db= librtld_db 253237abf0cSDavide Italiano_libsmb= libsmb 254237abf0cSDavide Italiano.endif 255237abf0cSDavide Italiano 256237abf0cSDavide Italiano.if ${MACHINE_CPUARCH} == "sparc64" 257237abf0cSDavide Italiano_libsmb= libsmb 258c7570492SJustin Hibbits.endif 259c7570492SJustin Hibbits 260690f477dSSam Leffler.if ${MK_OPENSSL} != "no" 261690f477dSSam Leffler_libmp= libmp 262690f477dSSam Leffler.endif 263690f477dSSam Leffler 264690f477dSSam Leffler.if ${MK_PMC} != "no" 265690f477dSSam Leffler_libpmc= libpmc 266690f477dSSam Leffler.endif 267690f477dSSam Leffler 268690f477dSSam Leffler.if ${MK_SENDMAIL} != "no" 269690f477dSSam Leffler_libmilter= libmilter 270690f477dSSam Leffler_libsm= libsm 271690f477dSSam Leffler_libsmdb= libsmdb 272690f477dSSam Leffler_libsmutil= libsmutil 273690f477dSSam Leffler.endif 274690f477dSSam Leffler 275690f477dSSam Leffler.if ${MK_TELNET} != "no" 276690f477dSSam Leffler_libtelnet= libtelnet 277e9043a12SMike Makonnen.endif 278e9043a12SMike Makonnen 279e01d128aSJulio Merino.if ${MK_TESTS} != "no" 280e01d128aSJulio Merino_atf= atf 281cc21b86fSJulio Merino_tests= tests 282e01d128aSJulio Merino.endif 283e01d128aSJulio Merino 2848f8790cdSDag-Erling Smørgrav.if ${MK_UNBOUND} != "no" 2858f8790cdSDag-Erling Smørgrav_libunbound= libunbound 2868f8790cdSDag-Erling Smørgrav.endif 2878f8790cdSDag-Erling Smørgrav 288e1fe3dbaSRuslan Ermilov.if ${MK_USB} != "no" 289f3e5ff40SBruce Evans_libusbhid= libusbhid 2906df55934SAndrew Thompson_libusb= libusb 291a8ec1b48SMaxim Sobolev.endif 292a8ec1b48SMaxim Sobolev 2937be23620SBrooks Davis.if !defined(LIBRARIES_ONLY) 2947c83e443STim Kientzleafterinstall: 2957be23620SBrooks Davis ${INSTALL_SYMLINK} ../include ${DESTDIR}/usr/lib/include 2967be23620SBrooks Davis.endif 2977c83e443STim Kientzle 29854ff5d73SDimitry Andric.if !make(install) 29954ff5d73SDimitry AndricSUBDIR_PARALLEL= 30054ff5d73SDimitry Andric.endif 30154ff5d73SDimitry Andric 30258f0484fSRodney W. Grimes.include <bsd.subdir.mk> 303