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.include <src.opts.mk> 11 12.if ${.OBJDIR:S,${.CURDIR},,} != ${.OBJDIR} 13ROOTOBJDIR= ${.OBJDIR:S,${.CURDIR},,}${SRCTOP} 14.elif defined(OBJTOP) && ${.OBJDIR:M${OBJTOP}*} != "" 15ROOTOBJDIR= ${OBJTOP} 16.endif 17 18_PRIVATELIBS= \ 19 atf_c \ 20 atf_cxx \ 21 bsdstat \ 22 event \ 23 heimipcc \ 24 heimipcs \ 25 ldns \ 26 sqlite3 \ 27 ssh \ 28 ucl \ 29 unbound 30 31_INTERNALLIBS= \ 32 amu \ 33 bsnmptools \ 34 cron \ 35 elftc \ 36 fifolog \ 37 ipf \ 38 lpr \ 39 netbsd \ 40 ntp \ 41 ntpevent \ 42 openbsd \ 43 opts \ 44 parse \ 45 readline \ 46 sl \ 47 sm \ 48 smdb \ 49 smutil \ 50 telnet \ 51 vers 52 53_LIBRARIES= \ 54 ${_PRIVATELIBS} \ 55 ${_INTERNALLIBS} \ 56 alias \ 57 archive \ 58 asn1 \ 59 auditd \ 60 avl \ 61 begemot \ 62 bluetooth \ 63 bsdxml \ 64 bsm \ 65 bsnmp \ 66 bz2 \ 67 c \ 68 c_pic \ 69 calendar \ 70 cam \ 71 capsicum \ 72 casper \ 73 com_err \ 74 compiler_rt \ 75 crypt \ 76 crypto \ 77 ctf \ 78 cuse \ 79 cxxrt \ 80 devctl \ 81 devinfo \ 82 devstat \ 83 dialog \ 84 dpv \ 85 dtrace \ 86 dwarf \ 87 edit \ 88 elf \ 89 execinfo \ 90 fetch \ 91 figpar \ 92 geom \ 93 gnuregex \ 94 gpio \ 95 gssapi \ 96 gssapi_krb5 \ 97 hdb \ 98 heimbase \ 99 heimntlm \ 100 heimsqlite \ 101 hx509 \ 102 ipsec \ 103 jail \ 104 kadm5clnt \ 105 kadm5srv \ 106 kafs5 \ 107 kdc \ 108 kiconv \ 109 krb5 \ 110 kvm \ 111 l \ 112 lzma \ 113 m \ 114 magic \ 115 md \ 116 memstat \ 117 mp \ 118 mt \ 119 nandfs \ 120 ncurses \ 121 ncursesw \ 122 netgraph \ 123 ngatm \ 124 nv \ 125 opie \ 126 pam \ 127 panel \ 128 panelw \ 129 pcap \ 130 pcsclite \ 131 pjdlog \ 132 pmc \ 133 proc \ 134 procstat \ 135 pthread \ 136 radius \ 137 readline \ 138 roken \ 139 rpcsec_gss \ 140 rpcsvc \ 141 rt \ 142 rtld_db \ 143 sbuf \ 144 sdp \ 145 sm \ 146 smb \ 147 ssl \ 148 ssp_nonshared \ 149 stdthreads \ 150 supcplusplus \ 151 tacplus \ 152 termcapw \ 153 ufs \ 154 ugidfw \ 155 ulog \ 156 usb \ 157 usbhid \ 158 util \ 159 vmmapi \ 160 wind \ 161 wrap \ 162 xo \ 163 y \ 164 ypclnt \ 165 z 166 167_DP_archive= z bz2 lzma bsdxml 168.if ${MK_OPENSSL} != "no" 169_DP_archive+= crypto 170.else 171_DP_archive+= md 172.endif 173_DP_ssl= crypto 174_DP_ssh= crypto crypt 175.if ${MK_LDNS} != "no" 176_DP_ssh+= ldns z 177.endif 178_DP_edit= ncursesw 179.if ${MK_OPENSSL} != "no" 180_DP_bsnmp= crypto 181.endif 182_DP_geom= bsdxml sbuf 183_DP_cam= sbuf 184_DP_casper= capsicum nv pjdlog 185_DP_capsicum= nv 186_DP_pjdlog= util 187_DP_opie= md 188_DP_usb= pthread 189_DP_unbound= pthread 190_DP_rt= pthread 191.if ${MK_OPENSSL} == "no" 192_DP_radius= md 193.else 194_DP_radius= crypto 195.endif 196_DP_procstat= kvm util elf 197.if ${MK_CXX} == "yes" 198.if ${MK_LIBCPLUSPLUS} != "no" 199_DP_proc= cxxrt 200.else 201_DP_proc= supcplusplus 202.endif 203.endif 204.if ${MK_CDDL} != "no" 205_DP_proc+= ctf 206.endif 207_DP_mp= crypto 208_DP_memstat= kvm 209_DP_magic= z 210_DP_mt= bsdxml 211_DP_ldns= crypto 212.if ${MK_OPENSSL} != "no" 213_DP_fetch= ssl crypto 214.else 215_DP_fetch= md 216.endif 217_DP_execinfo= elf 218_DP_dwarf= elf 219_DP_dpv= dialog figpar util 220_DP_dialog= ncursesw m 221_DP_cuse= pthread 222_DP_atf_cxx= atf_c 223_DP_devstat= kvm 224_DP_pam= radius tacplus opie md util 225.if ${MK_KERBEROS} != "no" 226_DP_pam+= krb5 227.endif 228.if ${MK_OPENSSH} != "no" 229_DP_pam+= ssh 230.endif 231.if ${MK_NIS} != "no" 232_DP_pam+= ypclnt 233.endif 234_DP_krb5+= asn1 com_err crypt crypto hx509 roken wind heimbase heimipcc \ 235 pthread 236_DP_gssapi_krb5+= gssapi krb5 crypto roken asn1 com_err 237_DP_lzma= pthread 238_DP_ucl= m 239_DP_vmmapi= util 240_DP_ctf= z 241_DP_proc= rtld_db util 242_DP_dtrace= rtld_db pthread 243_DP_xo= util 244 245# Define spacial cases 246LDADD_supcplusplus= -lsupc++ 247LIBATF_C= ${DESTDIR}${LIBDIR}/libprivateatf-c.a 248LIBATF_CXX= ${DESTDIR}${LIBDIR}/libprivateatf-c++.a 249LDADD_atf_c= -lprivateatf-c 250LDADD_atf_cxx= -lprivateatf-c++ 251 252.for _l in ${_PRIVATELIBS} 253LIB${_l:tu}?= ${DESTDIR}${LIBDIR}/libprivate${_l}.a 254.endfor 255 256.for _l in ${_LIBRARIES} 257.if ${_INTERNALLIBS:M${_l}} 258LDADD_${_l}_L+= -L${LIB${_l:tu}DIR} 259.endif 260DPADD_${_l}?= ${LIB${_l:tu}} 261.if ${_PRIVATELIBS:M${_l}} 262LDADD_${_l}?= -lprivate${_l} 263.else 264LDADD_${_l}?= ${LDADD_${_l}_L} -l${_l} 265.endif 266.if defined(_DP_${_l}) && defined(NO_SHARED) && (${NO_SHARED} != "no" && ${NO_SHARED} != "NO") 267.for _d in ${_DP_${_l}} 268DPADD_${_l}+= ${DPADD_${_d}} 269LDADD_${_l}+= ${LDADD_${_d}} 270.endfor 271.endif 272.endfor 273 274DPADD_atf_cxx+= ${DPADD_atf_c} 275LDADD_atf_cxx+= ${LDADD_atf_c} 276 277DPADD_sqlite3+= ${DPADD_pthread} 278LDADD_sqlite3+= ${LDADD_pthread} 279 280DPADD_fifolog+= ${DPADD_z} 281LDADD_fifolog+= ${LDADD_z} 282 283DPADD_ipf+= ${DPADD_kvm} 284LDADD_ipf+= ${LDADD_kvm} 285 286DPADD_mt+= ${DPADD_sbuf} 287LDADD_mt+= ${LDADD_sbuf} 288 289DPADD_dtrace+= ${DPADD_ctf} ${DPADD_elf} ${DPADD_proc} 290LDADD_dtrace+= ${LDADD_ctf} ${LDADD_elf} ${LDADD_proc} 291 292# The following depends on libraries which are using pthread 293DPADD_hdb+= ${DPADD_pthread} 294LDADD_hdb+= ${LDADD_pthread} 295DPADD_kadm5srv+= ${DPADD_pthread} 296LDADD_kadm5srv+= ${LDADD_pthread} 297DPADD_krb5+= ${DPADD_pthread} 298LDADD_krb5+= ${LDADD_pthread} 299DPADD_gssapi_krb5+= ${DPADD_pthread} 300LDADD_gssapi_krb5+= ${LDADD_pthread} 301 302.for _l in ${LIBADD} 303DPADD+= ${DPADD_${_l}:Umissing-dpadd_${_l}} 304LDADD+= ${LDADD_${_l}} 305.endfor 306 307.if defined(DPADD) && ${DPADD:Mmissing-dpadd_*} 308.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}". 309.endif 310 311LIBELFTCDIR= ${ROOTOBJDIR}/lib/libelftc 312LIBELFTC?= ${LIBELFTCDIR}/libelftc.a 313 314LIBREADLINEDIR= ${ROOTOBJDIR}/gnu/lib/libreadline/readline 315LIBREADLINE?= ${LIBREADLINEDIR}/libreadline.a 316 317LIBOPENBSDDIR= ${ROOTOBJDIR}/lib/libopenbsd 318LIBOPENBSD?= ${LIBOPENBSDDIR}/libopenbsd.a 319 320LIBSMDIR= ${ROOTOBJDIR}/lib/libsm 321LIBSM?= ${LIBSMDIR}/libsm.a 322 323LIBSMDBDIR= ${ROOTOBJDIR}/lib/libsmdb 324LIBSMDB?= ${LIBSMDBDIR}/libsmdb.a 325 326LIBSMUTILDIR= ${ROOTOBJDIR}/lib/libsmutil 327LIBSMUTIL?= ${LIBSMDBDIR}/libsmutil.a 328 329LIBNETBSDDIR?= ${ROOTOBJDIR}/lib/libnetbsd 330LIBNETBSD?= ${LIBNETBSDDIR}/libnetbsd.a 331 332LIBVERSDIR?= ${ROOTOBJDIR}/kerberos5/lib/libvers 333LIBVERS?= ${LIBVERSDIR}/libvers.a 334 335LIBSLDIR= ${ROOTOBJDIR}/kerberos5/lib/libsl 336LIBSL?= ${LIBSLDIR}/libsl.a 337 338LIBIPFDIR= ${ROOTOBJDIR}/sbin/ipf/libipf 339LIBIPF?= ${LIBIPFDIR}/libipf.a 340 341LIBTELNETDIR= ${ROOTOBJDIR}/lib/libtelnet 342LIBTELNET?= ${LIBTELNETDIR}/libtelnet.a 343 344LIBCRONDIR= ${ROOTOBJDIR}/usr.sbin/cron/lib 345LIBCRON?= ${LIBCRONDIR}/libcron.a 346 347LIBNTPDIR= ${ROOTOBJDIR}/usr.sbin/ntp/libntp 348LIBNTP?= ${LIBNTPDIR}/libntp.a 349 350LIBNTPEVENTDIR= ${ROOTOBJDIR}/usr.sbin/ntp/libntpevent 351LIBNTPEVENT?= ${LIBNTPEVENTDIR}/libntpevent.a 352 353LIBOPTSDIR= ${ROOTOBJDIR}/usr.sbin/ntp/libopts 354LIBOTPS?= ${LIBOPTSDIR}/libopts.a 355 356LIBPARSEDIR= ${ROOTOBJDIR}/usr.sbin/ntp/libparse 357LIBPARSE?= ${LIBPARSEDIR}/libparse.a 358 359LIBLPRDIR= ${ROOTOBJDIR}/usr.sbin/lpr/common_source 360LIBLPR?= ${LIBOPTSDIR}/liblpr.a 361 362LIBFIFOLOGDIR= ${ROOTOBJDIR}/usr.sbin/fifolog/lib 363LIBFIFOLOG?= ${LIBOPTSDIR}/libfifolog.a 364 365LIBBSNMPTOOLSDIR= ${ROOTOBJDIR}/usr.sbin/bsnmpd/tools/libbsnmptools 366LIBBSNMPTOOLS?= ${LIBBSNMPTOOLSDIR}/libbsnmptools.a 367 368LIBAMUDIR= ${ROOTOBJDIR}/usr.sbin/amd/libamu 369LIBAMU?= ${LIBAMUDIR}/libamu/libamu.a 370 371