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