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