1# $FreeBSD$ 2# 3# The include file <src.libnames.mk> define library names suitable 4# for INTERNALLIB and PRIVATELIB definition 5 6.if !target(__<bsd.init.mk>__) 7.error src.libnames.mk cannot be included directly. 8.endif 9 10.if !target(__<src.libnames.mk>__) 11__<src.libnames.mk>__: 12 13.include <src.opts.mk> 14 15_PRIVATELIBS= \ 16 atf_c \ 17 atf_cxx \ 18 bsdstat \ 19 event \ 20 heimipcc \ 21 heimipcs \ 22 ldns \ 23 sqlite3 \ 24 ssh \ 25 ucl \ 26 unbound 27 28_INTERNALLIBS= \ 29 amu \ 30 bsnmptools \ 31 cron \ 32 elftc \ 33 fifolog \ 34 ipf \ 35 lpr \ 36 netbsd \ 37 ntp \ 38 ntpevent \ 39 openbsd \ 40 opts \ 41 parse \ 42 readline \ 43 sl \ 44 sm \ 45 smdb \ 46 smutil \ 47 telnet \ 48 vers 49 50_LIBRARIES= \ 51 ${_PRIVATELIBS} \ 52 ${_INTERNALLIBS} \ 53 80211 \ 54 alias \ 55 archive \ 56 asn1 \ 57 auditd \ 58 avl \ 59 begemot \ 60 bluetooth \ 61 bsdxml \ 62 bsm \ 63 bsnmp \ 64 bz2 \ 65 c \ 66 c_pic \ 67 calendar \ 68 cam \ 69 capsicum \ 70 casper \ 71 com_err \ 72 compiler_rt \ 73 crypt \ 74 crypto \ 75 ctf \ 76 cuse \ 77 cxxrt \ 78 devctl \ 79 devinfo \ 80 devstat \ 81 dialog \ 82 dpv \ 83 dtrace \ 84 dwarf \ 85 edit \ 86 elf \ 87 execinfo \ 88 fetch \ 89 figpar \ 90 geom \ 91 gnuregex \ 92 gpio \ 93 gssapi \ 94 gssapi_krb5 \ 95 hdb \ 96 heimbase \ 97 heimntlm \ 98 heimsqlite \ 99 hx509 \ 100 ipsec \ 101 jail \ 102 kadm5clnt \ 103 kadm5srv \ 104 kafs5 \ 105 kdc \ 106 kiconv \ 107 krb5 \ 108 kvm \ 109 l \ 110 lzma \ 111 m \ 112 magic \ 113 md \ 114 memstat \ 115 mp \ 116 mt \ 117 nandfs \ 118 ncurses \ 119 ncursesw \ 120 netgraph \ 121 ngatm \ 122 nv \ 123 opie \ 124 pam \ 125 panel \ 126 panelw \ 127 pcap \ 128 pcsclite \ 129 pjdlog \ 130 pmc \ 131 proc \ 132 procstat \ 133 pthread \ 134 radius \ 135 readline \ 136 roken \ 137 rpcsec_gss \ 138 rpcsvc \ 139 rt \ 140 rtld_db \ 141 sbuf \ 142 sdp \ 143 sm \ 144 smb \ 145 ssl \ 146 ssp_nonshared \ 147 stdthreads \ 148 supcplusplus \ 149 tacplus \ 150 termcapw \ 151 ufs \ 152 ugidfw \ 153 ulog \ 154 usb \ 155 usbhid \ 156 util \ 157 vmmapi \ 158 wind \ 159 wrap \ 160 xo \ 161 y \ 162 ypclnt \ 163 z 164 165_DP_archive= z bz2 lzma bsdxml 166.if ${MK_OPENSSL} != "no" 167_DP_archive+= crypto 168.else 169_DP_archive+= md 170.endif 171_DP_ssl= crypto 172_DP_ssh= crypto crypt 173.if ${MK_LDNS} != "no" 174_DP_ssh+= ldns z 175.endif 176_DP_edit= ncursesw 177.if ${MK_OPENSSL} != "no" 178_DP_bsnmp= crypto 179.endif 180_DP_geom= bsdxml sbuf 181_DP_cam= sbuf 182_DP_casper= capsicum nv pjdlog 183_DP_capsicum= nv 184_DP_kvm= elf 185_DP_pjdlog= util 186_DP_opie= md 187_DP_usb= pthread 188_DP_unbound= pthread 189_DP_rt= pthread 190.if ${MK_OPENSSL} == "no" 191_DP_radius= md 192.else 193_DP_radius= crypto 194.endif 195_DP_procstat= kvm util elf 196.if ${MK_CXX} == "yes" 197.if ${MK_LIBCPLUSPLUS} != "no" 198_DP_proc= cxxrt 199.else 200_DP_proc= supcplusplus 201.endif 202.endif 203.if ${MK_CDDL} != "no" 204_DP_proc+= ctf 205.endif 206_DP_mp= crypto 207_DP_memstat= kvm 208_DP_magic= z 209_DP_mt= bsdxml 210_DP_ldns= crypto 211.if ${MK_OPENSSL} != "no" 212_DP_fetch= ssl crypto 213.else 214_DP_fetch= md 215.endif 216_DP_execinfo= elf 217_DP_dwarf= elf 218_DP_dpv= dialog figpar util 219_DP_dialog= ncursesw m 220_DP_cuse= pthread 221_DP_atf_cxx= atf_c 222_DP_devstat= kvm 223_DP_pam= radius tacplus opie md util 224.if ${MK_KERBEROS} != "no" 225_DP_pam+= krb5 226.endif 227.if ${MK_OPENSSH} != "no" 228_DP_pam+= ssh 229.endif 230.if ${MK_NIS} != "no" 231_DP_pam+= ypclnt 232.endif 233_DP_krb5+= asn1 com_err crypt crypto hx509 roken wind heimbase heimipcc \ 234 pthread 235_DP_gssapi_krb5+= gssapi krb5 crypto roken asn1 com_err 236_DP_lzma= pthread 237_DP_ucl= m 238_DP_vmmapi= util 239_DP_ctf= z 240_DP_proc= rtld_db util 241_DP_dtrace= rtld_db pthread 242_DP_xo= util 243 244# Define spacial cases 245LDADD_supcplusplus= -lsupc++ 246LIBATF_C= ${DESTDIR}${LIBDIR}/libprivateatf-c.a 247LIBATF_CXX= ${DESTDIR}${LIBDIR}/libprivateatf-c++.a 248LDADD_atf_c= -lprivateatf-c 249LDADD_atf_cxx= -lprivateatf-c++ 250 251.for _l in ${_PRIVATELIBS} 252LIB${_l:tu}?= ${DESTDIR}${LIBDIR}/libprivate${_l}.a 253.endfor 254 255.for _l in ${_LIBRARIES} 256.if ${_INTERNALLIBS:M${_l}} 257LDADD_${_l}_L+= -L${LIB${_l:tu}DIR} 258.endif 259DPADD_${_l}?= ${LIB${_l:tu}} 260.if ${_PRIVATELIBS:M${_l}} 261LDADD_${_l}?= -lprivate${_l} 262.else 263LDADD_${_l}?= ${LDADD_${_l}_L} -l${_l} 264.endif 265.if defined(_DP_${_l}) && defined(NO_SHARED) && (${NO_SHARED} != "no" && ${NO_SHARED} != "NO") 266.for _d in ${_DP_${_l}} 267DPADD_${_l}+= ${DPADD_${_d}} 268LDADD_${_l}+= ${LDADD_${_d}} 269.endfor 270.endif 271.endfor 272 273DPADD_atf_cxx+= ${DPADD_atf_c} 274LDADD_atf_cxx+= ${LDADD_atf_c} 275 276DPADD_sqlite3+= ${DPADD_pthread} 277LDADD_sqlite3+= ${LDADD_pthread} 278 279DPADD_fifolog+= ${DPADD_z} 280LDADD_fifolog+= ${LDADD_z} 281 282DPADD_ipf+= ${DPADD_kvm} 283LDADD_ipf+= ${LDADD_kvm} 284 285DPADD_mt+= ${DPADD_sbuf} 286LDADD_mt+= ${LDADD_sbuf} 287 288DPADD_dtrace+= ${DPADD_ctf} ${DPADD_elf} ${DPADD_proc} 289LDADD_dtrace+= ${LDADD_ctf} ${LDADD_elf} ${LDADD_proc} 290 291# The following depends on libraries which are using pthread 292DPADD_hdb+= ${DPADD_pthread} 293LDADD_hdb+= ${LDADD_pthread} 294DPADD_kadm5srv+= ${DPADD_pthread} 295LDADD_kadm5srv+= ${LDADD_pthread} 296DPADD_krb5+= ${DPADD_pthread} 297LDADD_krb5+= ${LDADD_pthread} 298DPADD_gssapi_krb5+= ${DPADD_pthread} 299LDADD_gssapi_krb5+= ${LDADD_pthread} 300 301.for _l in ${LIBADD} 302DPADD+= ${DPADD_${_l}:Umissing-dpadd_${_l}} 303LDADD+= ${LDADD_${_l}} 304.endfor 305 306.if defined(DPADD) && ${DPADD:Mmissing-dpadd_*} 307.error Missing ${DPADD:Mmissing-dpadd_*:S/missing-dpadd_//:S/^/DPADD_/} variable add "${DPADD:Mmissing-dpadd_*:S/missing-dpadd_//}" to _LIBRARIES, _INTERNALLIBS, or _PRIVATELIBS and define "${DPADD:Mmissing-dpadd_*:S/missing-dpadd_//:S/^/LIB/:tu}". 308.endif 309 310LIBELFTCDIR= ${OBJTOP}/lib/libelftc 311LIBELFTC?= ${LIBELFTCDIR}/libelftc.a 312 313LIBREADLINEDIR= ${OBJTOP}/gnu/lib/libreadline/readline 314LIBREADLINE?= ${LIBREADLINEDIR}/libreadline.a 315 316LIBOPENBSDDIR= ${OBJTOP}/lib/libopenbsd 317LIBOPENBSD?= ${LIBOPENBSDDIR}/libopenbsd.a 318 319LIBSMDIR= ${OBJTOP}/lib/libsm 320LIBSM?= ${LIBSMDIR}/libsm.a 321 322LIBSMDBDIR= ${OBJTOP}/lib/libsmdb 323LIBSMDB?= ${LIBSMDBDIR}/libsmdb.a 324 325LIBSMUTILDIR= ${OBJTOP}/lib/libsmutil 326LIBSMUTIL?= ${LIBSMDBDIR}/libsmutil.a 327 328LIBNETBSDDIR?= ${OBJTOP}/lib/libnetbsd 329LIBNETBSD?= ${LIBNETBSDDIR}/libnetbsd.a 330 331LIBVERSDIR?= ${OBJTOP}/kerberos5/lib/libvers 332LIBVERS?= ${LIBVERSDIR}/libvers.a 333 334LIBSLDIR= ${OBJTOP}/kerberos5/lib/libsl 335LIBSL?= ${LIBSLDIR}/libsl.a 336 337LIBIPFDIR= ${OBJTOP}/sbin/ipf/libipf 338LIBIPF?= ${LIBIPFDIR}/libipf.a 339 340LIBTELNETDIR= ${OBJTOP}/lib/libtelnet 341LIBTELNET?= ${LIBTELNETDIR}/libtelnet.a 342 343LIBCRONDIR= ${OBJTOP}/usr.sbin/cron/lib 344LIBCRON?= ${LIBCRONDIR}/libcron.a 345 346LIBNTPDIR= ${OBJTOP}/usr.sbin/ntp/libntp 347LIBNTP?= ${LIBNTPDIR}/libntp.a 348 349LIBNTPEVENTDIR= ${OBJTOP}/usr.sbin/ntp/libntpevent 350LIBNTPEVENT?= ${LIBNTPEVENTDIR}/libntpevent.a 351 352LIBOPTSDIR= ${OBJTOP}/usr.sbin/ntp/libopts 353LIBOTPS?= ${LIBOPTSDIR}/libopts.a 354 355LIBPARSEDIR= ${OBJTOP}/usr.sbin/ntp/libparse 356LIBPARSE?= ${LIBPARSEDIR}/libparse.a 357 358LIBLPRDIR= ${OBJTOP}/usr.sbin/lpr/common_source 359LIBLPR?= ${LIBOPTSDIR}/liblpr.a 360 361LIBFIFOLOGDIR= ${OBJTOP}/usr.sbin/fifolog/lib 362LIBFIFOLOG?= ${LIBOPTSDIR}/libfifolog.a 363 364LIBBSNMPTOOLSDIR= ${OBJTOP}/usr.sbin/bsnmpd/tools/libbsnmptools 365LIBBSNMPTOOLS?= ${LIBBSNMPTOOLSDIR}/libbsnmptools.a 366 367LIBAMUDIR= ${OBJTOP}/usr.sbin/amd/libamu 368LIBAMU?= ${LIBAMUDIR}/libamu/libamu.a 369 370# Define a directory for each library. This is useful for adding -L in when 371# not using a --sysroot or for meta mode bootstrapping when there is no 372# Makefile.depend. These are sorted by directory. 373LIBAVLDIR= ${OBJTOP}/cddl/lib/libavl 374LIBCTFDIR= ${OBJTOP}/cddl/lib/libctf 375LIBDTRACEDIR= ${OBJTOP}/cddl/lib/libdtrace 376LIBNVPAIRDIR= ${OBJTOP}/cddl/lib/libnvpair 377LIBUMEMDIR= ${OBJTOP}/cddl/lib/libumem 378LIBUUTILDIR= ${OBJTOP}/cddl/lib/libuutil 379LIBZFSDIR= ${OBJTOP}/cddl/lib/libzfs 380LIBZFS_COREDIR= ${OBJTOP}/cddl/lib/libzfs_core 381LIBZPOOLDIR= ${OBJTOP}/cddl/lib/libzpool 382LIBDIALOGDIR= ${OBJTOP}/gnu/lib/libdialog 383LIBGCOVDIR= ${OBJTOP}/gnu/lib/libgcov 384LIBGOMPDIR= ${OBJTOP}/gnu/lib/libgomp 385LIBGNUREGEXDIR= ${OBJTOP}/gnu/lib/libregex 386LIBSSPDIR= ${OBJTOP}/gnu/lib/libssp 387LIBSSP_NONSHAREDDIR= ${OBJTOP}/gnu/lib/libssp/libssp_nonshared 388LIBSUPCPLUSPLUSDIR= ${OBJTOP}/gnu/lib/libsupc++ 389LIBASN1DIR= ${OBJTOP}/kerberos5/lib/libasn1 390LIBGSSAPI_KRB5DIR= ${OBJTOP}/kerberos5/lib/libgssapi_krb5 391LIBGSSAPI_NTLMDIR= ${OBJTOP}/kerberos5/lib/libgssapi_ntlm 392LIBGSSAPI_SPNEGODIR= ${OBJTOP}/kerberos5/lib/libgssapi_spnego 393LIBHDBDIR= ${OBJTOP}/kerberos5/lib/libhdb 394LIBHEIMBASEDIR= ${OBJTOP}/kerberos5/lib/libheimbase 395LIBHEIMIPCCDIR= ${OBJTOP}/kerberos5/lib/libheimipcc 396LIBHEIMIPCSDIR= ${OBJTOP}/kerberos5/lib/libheimipcs 397LIBHEIMNTLMDIR= ${OBJTOP}/kerberos5/lib/libheimntlm 398LIBHX509DIR= ${OBJTOP}/kerberos5/lib/libhx509 399LIBKADM5CLNTDIR= ${OBJTOP}/kerberos5/lib/libkadm5clnt 400LIBKADM5SRVDIR= ${OBJTOP}/kerberos5/lib/libkadm5srv 401LIBKAFS5DIR= ${OBJTOP}/kerberos5/lib/libkafs5 402LIBKDCDIR= ${OBJTOP}/kerberos5/lib/libkdc 403LIBKRB5DIR= ${OBJTOP}/kerberos5/lib/libkrb5 404LIBROKENDIR= ${OBJTOP}/kerberos5/lib/libroken 405LIBWINDDIR= ${OBJTOP}/kerberos5/lib/libwind 406LIBALIASDIR= ${OBJTOP}/lib/libalias/libalias 407LIBBLOCKSRUNTIMEDIR= ${OBJTOP}/lib/libblocksruntime 408LIBBSNMPDIR= ${OBJTOP}/lib/libbsnmp/libbsnmp 409LIBBSDXMLDIR= ${OBJTOP}/lib/libexpat 410LIBKVMDIR= ${OBJTOP}/lib/libkvm 411LIBPTHREADDIR= ${OBJTOP}/lib/libthr 412LIBMDIR= ${OBJTOP}/lib/msun 413LIBFORMDIR= ${OBJTOP}/lib/ncurses/form 414LIBFORMLIBWDIR= ${OBJTOP}/lib/ncurses/formw 415LIBMENUDIR= ${OBJTOP}/lib/ncurses/menu 416LIBMENULIBWDIR= ${OBJTOP}/lib/ncurses/menuw 417LIBTERMCAPDIR= ${OBJTOP}/lib/ncurses/ncurses 418LIBTERMCAPWDIR= ${OBJTOP}/lib/ncurses/ncursesw 419LIBPANELDIR= ${OBJTOP}/lib/ncurses/panel 420LIBPANELWDIR= ${OBJTOP}/lib/ncurses/panelw 421LIBCRYPTODIR= ${OBJTOP}/secure/lib/libcrypto 422LIBSSHDIR= ${OBJTOP}/secure/lib/libssh 423LIBSSLDIR= ${OBJTOP}/secure/lib/libssl 424LIBTEKENDIR= ${OBJTOP}/sys/teken/libteken 425LIBEGACYDIR= ${OBJTOP}/tools/build 426LIBLNDIR= ${OBJTOP}/usr.bin/lex/lib 427 428# Default other library directories to lib/libNAME. 429.for lib in ${_LIBRARIES} 430LIB${lib:tu}DIR?= ${OBJTOP}/lib/lib${lib} 431.endfor 432 433.endif # !target(__<src.libnames.mk>__) 434