158f0484fSRodney W. Grimes# @(#)Makefile 8.1 (Berkeley) 6/4/93 27f3dea24SPeter Wemm# $FreeBSD$ 3c9811e98SBruce Evans 4e1fe3dbaSRuslan Ermilov.include <bsd.own.mk> 5e1fe3dbaSRuslan Ermilov 6c9811e98SBruce Evans# To satisfy shared library or ELF linkage when only the libraries being 7c9811e98SBruce Evans# built are visible: 8c9811e98SBruce Evans# 90f09aefaSBruce Evans# csu must be built before all shared libaries for ELF. 104064334fSRuslan Ermilov# libc must be built before all other shared libraries. 11719728bfSRobert Watson# libbsm must be built before libauditd. 12eae951c9SWarner Losh# libcom_err must be built before libpam. 13eae951c9SWarner Losh# libcrypt must be built before libpam. 14c4a5ef6eSThomas Moestl# libkvm must be built before libdevstat. 15a04f2acdSJosef Karthauser# msun must be built before libg++ and libstdc++. 16ccdee0d9SMark Murray# libmd must be built before libatm, libopie, libradius, and libtacplus. 17af5b5a0fSRong-En Fan# ncurses must be built before libdialog, libedit and libreadline. 18360b288fSHartmut Brandt# libnetgraph must be built before libbsnmp/modules/snmp_netgraph. 1914b42810SKris Kennaway# libopie must be built before libpam. 2060da54eeSJohn Polstra# libradius must be built before libpam. 2176ed168aSMark Murray# librpcsvc must be built before libpam. 2297b877c9SDag-Erling Smørgrav# libsbuf must be built before libcam. 2360da54eeSJohn Polstra# libtacplus must be built before libpam. 24c5da4b13SBruce Evans# libutil must be built before libpam. 2597b877c9SDag-Erling Smørgrav# libypclnt must be built before libpam. 268f55a568SDoug Rabson# libgssapi must be built before librpcsec_gss 27c9811e98SBruce Evans# 28c9811e98SBruce Evans# Otherwise, the SUBDIR list should be in alphabetical order. 29eae951c9SWarner Losh# 30eae951c9SWarner Losh# Except it appears bind needs to be compiled last 31c9811e98SBruce Evans 329b3e440bSWarner LoshSUBDIR_ORDERED= ${_csu} \ 339b3e440bSWarner Losh libc \ 349b3e440bSWarner Losh libbsm \ 359b3e440bSWarner Losh libauditd \ 3639cd938cSEd Schouten libcompiler_rt \ 379b3e440bSWarner Losh libcrypt \ 389b3e440bSWarner Losh libelf \ 39ad30f8e7SGabor Kovesdan ${_libiconv_modules} \ 409b3e440bSWarner Losh libkvm \ 419b3e440bSWarner Losh msun \ 429b3e440bSWarner Losh libmd \ 439b3e440bSWarner Losh ncurses \ 449b3e440bSWarner Losh ${_libnetgraph} \ 459b3e440bSWarner Losh libradius \ 469b3e440bSWarner Losh librpcsvc \ 479b3e440bSWarner Losh libsbuf \ 489b3e440bSWarner Losh libtacplus \ 499b3e440bSWarner Losh libutil \ 5049c8e5e7SDimitry Andric ${_libypclnt} \ 5149c8e5e7SDimitry Andric ${_libcxxrt} \ 5249c8e5e7SDimitry Andric ${_libcplusplus} 537a984708SDavid Chisnall 54*0e46933cSStanislav Sedov.if ${MK_KERBEROS_SUPPORT} != "no" 55*0e46933cSStanislav SedovSUBDIR_ORDERED+= libcom_err 56*0e46933cSStanislav Sedov.endif 57*0e46933cSStanislav Sedov 589b3e440bSWarner LoshSUBDIR= ${SUBDIR_ORDERED} \ 599b3e440bSWarner Losh libalias \ 609b3e440bSWarner Losh libarchive \ 619b3e440bSWarner Losh ${_libatm} \ 629b3e440bSWarner Losh libbegemot \ 6339cd938cSEd Schouten libblocksruntime \ 649b3e440bSWarner Losh ${_libbluetooth} \ 659b3e440bSWarner Losh ${_libbsnmp} \ 669b3e440bSWarner Losh libbz2 \ 679b3e440bSWarner Losh libcalendar \ 689b3e440bSWarner Losh libcam \ 699b3e440bSWarner Losh libcompat \ 709b3e440bSWarner Losh libdevinfo \ 719b3e440bSWarner Losh libdevstat \ 729b3e440bSWarner Losh libdisk \ 739b3e440bSWarner Losh libdwarf \ 749b3e440bSWarner Losh libedit \ 759b3e440bSWarner Losh ${_libefi} \ 769b3e440bSWarner Losh libexpat \ 779b3e440bSWarner Losh libfetch \ 789b3e440bSWarner Losh libgeom \ 799b3e440bSWarner Losh ${_libgpib} \ 809b3e440bSWarner Losh ${_libgssapi} \ 819b3e440bSWarner Losh ${_librpcsec_gss} \ 829b3e440bSWarner Losh libipsec \ 839b3e440bSWarner Losh ${_libipx} \ 849b3e440bSWarner Losh libjail \ 859b3e440bSWarner Losh libkiconv \ 8681ad8388SMartin Matuska liblzma \ 879b3e440bSWarner Losh libmagic \ 889b3e440bSWarner Losh libmemstat \ 899b3e440bSWarner Losh ${_libmilter} \ 909b3e440bSWarner Losh ${_libmp} \ 919b3e440bSWarner Losh ${_libncp} \ 929b3e440bSWarner Losh ${_libngatm} \ 939b3e440bSWarner Losh libopie \ 949b3e440bSWarner Losh libpam \ 959b3e440bSWarner Losh libpcap \ 969b3e440bSWarner Losh ${_libpmc} \ 9754bb94d7SRui Paulo ${_libproc} \ 980daf62d9SStanislav Sedov libprocstat \ 999b3e440bSWarner Losh librt \ 100fb05b666SRui Paulo ${_librtld_db} \ 1019b3e440bSWarner Losh ${_libsdp} \ 1029b3e440bSWarner Losh ${_libsm} \ 1039b3e440bSWarner Losh ${_libsmb} \ 1049b3e440bSWarner Losh ${_libsmdb} \ 1059b3e440bSWarner Losh ${_libsmutil} \ 1069b3e440bSWarner Losh libstand \ 107fc6f0665SEd Schouten libstdthreads \ 1089b3e440bSWarner Losh ${_libtelnet} \ 1099b3e440bSWarner Losh ${_libthr} \ 1109b3e440bSWarner Losh libthread_db \ 1119b3e440bSWarner Losh libufs \ 1129b3e440bSWarner Losh libugidfw \ 1139b3e440bSWarner Losh libulog \ 1149b3e440bSWarner Losh ${_libusbhid} \ 1159b3e440bSWarner Losh ${_libusb} \ 1169b3e440bSWarner Losh ${_libvgl} \ 1179b3e440bSWarner Losh libwrap \ 1189b3e440bSWarner Losh liby \ 1199b3e440bSWarner Losh libz \ 1206513cfc8SRoman Divacky ${_bind} \ 1216513cfc8SRoman Divacky ${_clang} 12258f0484fSRodney W. Grimes 1232bef81cfSWarner Losh.if exists(${.CURDIR}/csu/${MACHINE_ARCH}-elf) 1242bef81cfSWarner Losh_csu=csu/${MACHINE_ARCH}-elf 125b12277d1SNathan Whitehorn.elif exists(${.CURDIR}/csu/${MACHINE_ARCH}) 126b12277d1SNathan Whitehorn_csu=csu/${MACHINE_ARCH} 12725faff34SWarner Losh.elif exists(${.CURDIR}/csu/${MACHINE_CPUARCH}/Makefile) 12825faff34SWarner Losh_csu=csu/${MACHINE_CPUARCH} 12956a91a6fSDavid E. O'Brien.else 13056a91a6fSDavid E. O'Brien_csu=csu 131b09f41a4SJohn Birrell.endif 132b09f41a4SJohn Birrell 133690f477dSSam Leffler# NB: keep these sorted by MK_* knobs 134690f477dSSam Leffler 135e1fe3dbaSRuslan Ermilov.if ${MK_ATM} != "no" 1369e9dbe04SHartmut Brandt_libngatm= libngatm 1375e1847b4SPoul-Henning Kamp.endif 1385e1847b4SPoul-Henning Kamp 139e1fe3dbaSRuslan Ermilov.if ${MK_BIND} != "no" 140cd3ee173SDag-Erling Smørgrav_bind= bind 141072355e0SPeter Wemm.endif 142072355e0SPeter Wemm 143e1fe3dbaSRuslan Ermilov.if ${MK_BLUETOOTH} != "no" 1440986ab12SMaksim Yevmenkin_libbluetooth= libbluetooth 1450986ab12SMaksim Yevmenkin_libsdp= libsdp 14618d948adSMaksim Yevmenkin.endif 14723d1e148SMaksim Yevmenkin 148690f477dSSam Leffler.if ${MK_BSNMP} != "no" 149690f477dSSam Leffler_libbsnmp= libbsnmp 150690f477dSSam Leffler.endif 151690f477dSSam Leffler 152bfc72ed5SEd Schouten.if ${MK_CLANG} != "no" && !defined(COMPAT_32BIT) 1536513cfc8SRoman Divacky_clang= clang 1546513cfc8SRoman Divacky.endif 1556513cfc8SRoman Divacky 156690f477dSSam Leffler.if ${MK_GPIB} != "no" 157690f477dSSam Leffler_libgpib= libgpib 158690f477dSSam Leffler.endif 159690f477dSSam Leffler 1606dc51ecaSRuslan Ermilov.if ${MK_GSSAPI} != "no" 1613fe21f77SDoug Barton_libgssapi= libgssapi 1628f55a568SDoug Rabson_librpcsec_gss= librpcsec_gss 1633fe21f77SDoug Barton.endif 1643fe21f77SDoug Barton 165ad30f8e7SGabor Kovesdan.if ${MK_ICONV} != "no" 166ad30f8e7SGabor Kovesdan_libiconv_modules= libiconv_modules 167ad30f8e7SGabor Kovesdan.endif 168ad30f8e7SGabor Kovesdan 169cea557adSRuslan Ermilov.if ${MK_IPX} != "no" 170cea557adSRuslan Ermilov_libipx= libipx 171cea557adSRuslan Ermilov.endif 172cea557adSRuslan Ermilov 173690f477dSSam Leffler.if ${MK_LIBTHR} != "no" 174690f477dSSam Leffler_libthr= libthr 175690f477dSSam Leffler.endif 176690f477dSSam Leffler 177690f477dSSam Leffler.if ${MK_NETGRAPH} != "no" 178690f477dSSam Leffler_libnetgraph= libnetgraph 179690f477dSSam Leffler.endif 180690f477dSSam Leffler 181690f477dSSam Leffler.if ${MK_NIS} != "no" 182690f477dSSam Leffler_libypclnt= libypclnt 183690f477dSSam Leffler.endif 184690f477dSSam Leffler 18525faff34SWarner Losh.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" 186cea557adSRuslan Ermilov.if ${MK_NCP} != "no" 18718d948adSMaksim Yevmenkin_libncp= libncp 188cea557adSRuslan Ermilov.endif 18923eb26faSSheldon Hearn_libsmb= libsmb 190c9811e98SBruce Evans_libvgl= libvgl 19154bb94d7SRui Paulo_libproc= libproc 192fb05b666SRui Paulo_librtld_db= librtld_db 193abbb0b30SMarcel Moolenaar.endif 194abbb0b30SMarcel Moolenaar 19525faff34SWarner Losh.if ${MACHINE_CPUARCH} == "ia64" 196eb0a7e41SMarcel Moolenaar_libefi= libefi 197e108ac65SMarcel Moolenaar_libsmb= libsmb 198e108ac65SMarcel Moolenaar.endif 199e108ac65SMarcel Moolenaar 2007f503b57SNathan Whitehorn.if ${MACHINE_CPUARCH} == "powerpc" 20159fa7082SR. Imura_libsmb= libsmb 20259fa7082SR. Imura.endif 20359fa7082SR. Imura 20425faff34SWarner Losh.if ${MACHINE_CPUARCH} == "sparc64" 20569618fcfSPyun YongHyeon_libsmb= libsmb 20669618fcfSPyun YongHyeon.endif 20769618fcfSPyun YongHyeon 208690f477dSSam Leffler.if ${MK_OPENSSL} != "no" 209690f477dSSam Leffler_libmp= libmp 210690f477dSSam Leffler.endif 211690f477dSSam Leffler 21249c8e5e7SDimitry Andric.if ${MK_LIBCPLUSPLUS} != "no" 21349c8e5e7SDimitry Andric_libcxxrt= libcxxrt 21449c8e5e7SDimitry Andric_libcplusplus= libc++ 21549c8e5e7SDimitry Andric.endif 21649c8e5e7SDimitry Andric 217690f477dSSam Leffler.if ${MK_PMC} != "no" 218690f477dSSam Leffler_libpmc= libpmc 219690f477dSSam Leffler.endif 220690f477dSSam Leffler 221690f477dSSam Leffler.if ${MK_SENDMAIL} != "no" 222690f477dSSam Leffler_libmilter= libmilter 223690f477dSSam Leffler_libsm= libsm 224690f477dSSam Leffler_libsmdb= libsmdb 225690f477dSSam Leffler_libsmutil= libsmutil 226690f477dSSam Leffler.endif 227690f477dSSam Leffler 228690f477dSSam Leffler.if ${MK_TELNET} != "no" 229690f477dSSam Leffler_libtelnet= libtelnet 230e9043a12SMike Makonnen.endif 231e9043a12SMike Makonnen 232e1fe3dbaSRuslan Ermilov.if ${MK_USB} != "no" 233f3e5ff40SBruce Evans_libusbhid= libusbhid 2346df55934SAndrew Thompson_libusb= libusb 235a8ec1b48SMaxim Sobolev.endif 236a8ec1b48SMaxim Sobolev 23758f0484fSRodney W. Grimes.include <bsd.subdir.mk> 238