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