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