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