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