xref: /freebsd/share/mk/src.libnames.mk (revision db3cb3640f547c063293e9fdc4db69e9dc120951)
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