xref: /freebsd/share/mk/bsd.libnames.mk (revision 5b5b7e2ca2fa9a2418dd51749f4ef6f881ae7179)
1# $FreeBSD$
2
3# The include file <bsd.libnames.mk> define library names.
4# Other include files (e.g. bsd.prog.mk, bsd.lib.mk) include this
5# file where necessary.
6
7.if !target(__<bsd.init.mk>__)
8.error bsd.libnames.mk cannot be included directly.
9.endif
10
11LIBDESTDIR?=	${SYSROOT:U${DESTDIR}}
12
13.sinclude <src.libnames.mk>
14
15# Src directory locations are also defined in src.libnames.mk.
16
17LIBCRT0?=	${LIBDESTDIR}${LIBDIR_BASE}/crt0.o
18
19LIB80211?=	${LIBDESTDIR}${LIBDIR_BASE}/lib80211.a
20LIB9P?=		${LIBDESTDIR}${LIBDIR_BASE}/lib9p.a
21LIBALIAS?=	${LIBDESTDIR}${LIBDIR_BASE}/libalias.a
22LIBARCHIVE?=	${LIBDESTDIR}${LIBDIR_BASE}/libarchive.a
23LIBASN1?=	${LIBDESTDIR}${LIBDIR_BASE}/libasn1.a
24LIBATM?=	${LIBDESTDIR}${LIBDIR_BASE}/libatm.a
25LIBAUDITD?=	${LIBDESTDIR}${LIBDIR_BASE}/libauditd.a
26LIBAVL?=	${LIBDESTDIR}${LIBDIR_BASE}/libavl.a
27LIBBE?=		${LIBDESTDIR}${LIBDIR_BASE}/libbe.a
28LIBBEGEMOT?=	${LIBDESTDIR}${LIBDIR_BASE}/libbegemot.a
29LIBBLACKLIST?=	${LIBDESTDIR}${LIBDIR_BASE}/libblacklist.a
30LIBBLOCKSRUNTIME?= ${LIBDESTDIR}${LIBDIR_BASE}/libBlocksRuntime.a
31LIBBLUETOOTH?=	${LIBDESTDIR}${LIBDIR_BASE}/libbluetooth.a
32LIBBSDXML?=	${LIBDESTDIR}${LIBDIR_BASE}/libbsdxml.a
33LIBBSM?=	${LIBDESTDIR}${LIBDIR_BASE}/libbsm.a
34LIBBSNMP?=	${LIBDESTDIR}${LIBDIR_BASE}/libbsnmp.a
35LIBBZ2?=	${LIBDESTDIR}${LIBDIR_BASE}/libbz2.a
36LIBC?=		${LIBDESTDIR}${LIBDIR_BASE}/libc.a
37LIBCALENDAR?=	${LIBDESTDIR}${LIBDIR_BASE}/libcalendar.a
38LIBCAM?=	${LIBDESTDIR}${LIBDIR_BASE}/libcam.a
39LIBCOMPAT?=	${LIBDESTDIR}${LIBDIR_BASE}/libcompat.a
40LIBCOMPILER_RT?=${LIBDESTDIR}${LIBDIR_BASE}/libcompiler_rt.a
41LIBCOM_ERR?=	${LIBDESTDIR}${LIBDIR_BASE}/libcom_err.a
42LIBCPLUSPLUS?=	${LIBDESTDIR}${LIBDIR_BASE}/libc++.a
43LIBCRYPT?=	${LIBDESTDIR}${LIBDIR_BASE}/libcrypt.a
44LIBCRYPTO?=	${LIBDESTDIR}${LIBDIR_BASE}/libcrypto.a
45LIBCTF?=	${LIBDESTDIR}${LIBDIR_BASE}/libctf.a
46LIBCURSES?=	${LIBDESTDIR}${LIBDIR_BASE}/libcurses.a
47LIBCUSE?=	${LIBDESTDIR}${LIBDIR_BASE}/libcuse.a
48LIBCXGB4?=	${LIBDESTDIR}${LIBDIR_BASE}/libcxgb4.a
49LIBCXXRT?=	${LIBDESTDIR}${LIBDIR_BASE}/libcxxrt.a
50LIBC_PIC?=	${LIBDESTDIR}${LIBDIR_BASE}/libc_pic.a
51LIBDEVCTL?=	${LIBDESTDIR}${LIBDIR_BASE}/libdevctl.a
52LIBDEVDCTL?=	${LIBDESTDIR}${LIBDIR_BASE}/libdevdctl.a
53LIBDEVINFO?=	${LIBDESTDIR}${LIBDIR_BASE}/libdevinfo.a
54LIBDEVSTAT?=	${LIBDESTDIR}${LIBDIR_BASE}/libdevstat.a
55LIBDIALOG?=	${LIBDESTDIR}${LIBDIR_BASE}/libdialog.a
56LIBDL?=		${LIBDESTDIR}${LIBDIR_BASE}/libdl.a
57LIBDNS?=	${LIBDESTDIR}${LIBDIR_BASE}/libdns.a
58LIBDPV?=	${LIBDESTDIR}${LIBDIR_BASE}/libdpv.a
59LIBDTRACE?=	${LIBDESTDIR}${LIBDIR_BASE}/libdtrace.a
60LIBDWARF?=	${LIBDESTDIR}${LIBDIR_BASE}/libdwarf.a
61LIBEDIT?=	${LIBDESTDIR}${LIBDIR_BASE}/libedit.a
62LIBEFIVAR?=	${LIBDESTDIR}${LIBDIR_BASE}/libefivar.a
63LIBELF?=	${LIBDESTDIR}${LIBDIR_BASE}/libelf.a
64LIBEXECINFO?=	${LIBDESTDIR}${LIBDIR_BASE}/libexecinfo.a
65LIBFETCH?=	${LIBDESTDIR}${LIBDIR_BASE}/libfetch.a
66LIBFIGPAR?=	${LIBDESTDIR}${LIBDIR_BASE}/libfigpar.a
67LIBFL?=		"don't use LIBFL, use LIBL"
68LIBFORMW?=	${LIBDESTDIR}${LIBDIR_BASE}/libformw.a
69LIBG2C?=	${LIBDESTDIR}${LIBDIR_BASE}/libg2c.a
70LIBGEOM?=	${LIBDESTDIR}${LIBDIR_BASE}/libgeom.a
71LIBGPIO?=	${LIBDESTDIR}${LIBDIR_BASE}/libgpio.a
72LIBGSSAPI?=	${LIBDESTDIR}${LIBDIR_BASE}/libgssapi.a
73LIBGSSAPI_KRB5?= ${LIBDESTDIR}${LIBDIR_BASE}/libgssapi_krb5.a
74LIBHDB?=	${LIBDESTDIR}${LIBDIR_BASE}/libhdb.a
75LIBHEIMBASE?=	${LIBDESTDIR}${LIBDIR_BASE}/libheimbase.a
76LIBHEIMNTLM?=	${LIBDESTDIR}${LIBDIR_BASE}/libheimntlm.a
77LIBHEIMSQLITE?=	${LIBDESTDIR}${LIBDIR_BASE}/libheimsqlite.a
78LIBHX509?=	${LIBDESTDIR}${LIBDIR_BASE}/libhx509.a
79LIBIBCM?=	${LIBDESTDIR}${LIBDIR_BASE}/libibcm.a
80LIBIBMAD?=	${LIBDESTDIR}${LIBDIR_BASE}/libibmad.a
81LIBIBNETDISC?=	${LIBDESTDIR}${LIBDIR_BASE}/libibnetdisc.a
82LIBIBUMAD?=	${LIBDESTDIR}${LIBDIR_BASE}/libibumad.a
83LIBIBVERBS?=	${LIBDESTDIR}${LIBDIR_BASE}/libibverbs.a
84LIBICP?=	${LIBDESTDIR}${LIBDIR_BASE}/libicp.a
85LIBIPSEC?=	${LIBDESTDIR}${LIBDIR_BASE}/libipsec.a
86LIBIPT?=	${LIBDESTDIR}${LIBDIR_BASE}/libipt.a
87LIBIRDMA?=	${LIBDESTDIR}${LIBDIR_BASE}/libirdma.a
88LIBISCSIUTIL?=	${LIBDESTDIR}${LIBDIR_BASE}/libiscsiutil.a
89LIBJAIL?=	${LIBDESTDIR}${LIBDIR_BASE}/libjail.a
90LIBKADM5CLNT?=	${LIBDESTDIR}${LIBDIR_BASE}/libkadm5clnt.a
91LIBKADM5SRV?=	${LIBDESTDIR}${LIBDIR_BASE}/libkadm5srv.a
92LIBKAFS5?=	${LIBDESTDIR}${LIBDIR_BASE}/libkafs5.a
93LIBKDC?=	${LIBDESTDIR}${LIBDIR_BASE}/libkdc.a
94LIBKEYCAP?=	${LIBDESTDIR}${LIBDIR_BASE}/libkeycap.a
95LIBKICONV?=	${LIBDESTDIR}${LIBDIR_BASE}/libkiconv.a
96LIBKRB5?=	${LIBDESTDIR}${LIBDIR_BASE}/libkrb5.a
97LIBKVM?=	${LIBDESTDIR}${LIBDIR_BASE}/libkvm.a
98LIBL?=		${LIBDESTDIR}${LIBDIR_BASE}/libl.a
99LIBLN?=		"don't use LIBLN, use LIBL"
100LIBLZMA?=	${LIBDESTDIR}${LIBDIR_BASE}/liblzma.a
101LIBM?=		${LIBDESTDIR}${LIBDIR_BASE}/libm.a
102LIBMAGIC?=	${LIBDESTDIR}${LIBDIR_BASE}/libmagic.a
103LIBMD?=		${LIBDESTDIR}${LIBDIR_BASE}/libmd.a
104LIBMEMSTAT?=	${LIBDESTDIR}${LIBDIR_BASE}/libmemstat.a
105LIBMENU?=	${LIBDESTDIR}${LIBDIR_BASE}/libmenu.a
106LIBMILTER?=	${LIBDESTDIR}${LIBDIR_BASE}/libmilter.a
107LIBMLX4?=	${LIBDESTDIR}${LIBDIR_BASE}/libmlx4.a
108LIBMLX5?=	${LIBDESTDIR}${LIBDIR_BASE}/libmlx5.a
109LIBMP?=		${LIBDESTDIR}${LIBDIR_BASE}/libmp.a
110LIBMT?=		${LIBDESTDIR}${LIBDIR_BASE}/libmt.a
111LIBNCURSES?=	${LIBDESTDIR}${LIBDIR_BASE}/libncurses.a
112LIBNCURSESW?=	${LIBDESTDIR}${LIBDIR_BASE}/libncursesw.a
113LIBNETGRAPH?=	${LIBDESTDIR}${LIBDIR_BASE}/libnetgraph.a
114LIBNETMAP?=	${LIBDESTDIR}${LIBDIR_BASE}/libnetmap.a
115LIBNGATM?=	${LIBDESTDIR}${LIBDIR_BASE}/libngatm.a
116LIBNV?=		${LIBDESTDIR}${LIBDIR_BASE}/libnv.a
117LIBNVPAIR?=	${LIBDESTDIR}${LIBDIR_BASE}/libnvpair.a
118LIBOPENCSD?=	${LIBDESTDIR}${LIBDIR_BASE}/libopencsd.a
119LIBOPENSM?=	${LIBDESTDIR}${LIBDIR_BASE}/libopensm.a
120LIBOPIE?=	${LIBDESTDIR}${LIBDIR_BASE}/libopie.a
121LIBOSMCOMP?=	${LIBDESTDIR}${LIBDIR_BASE}/libosmcomp.a
122LIBOSMVENDOR?=	${LIBDESTDIR}${LIBDIR_BASE}/libosmvendor.a
123LIBPAM?=	${LIBDESTDIR}${LIBDIR_BASE}/libpam.a
124LIBPANEL?=	${LIBDESTDIR}${LIBDIR_BASE}/libpanel.a
125LIBPANELW?=	${LIBDESTDIR}${LIBDIR_BASE}/libpanelw.a
126LIBPCAP?=	${LIBDESTDIR}${LIBDIR_BASE}/libpcap.a
127LIBPJDLOG?=	${LIBDESTDIR}${LIBDIR_BASE}/libpjdlog.a
128LIBPMC?=	${LIBDESTDIR}${LIBDIR_BASE}/libpmc.a
129LIBPROC?=	${LIBDESTDIR}${LIBDIR_BASE}/libproc.a
130LIBPROCSTAT?=	${LIBDESTDIR}${LIBDIR_BASE}/libprocstat.a
131LIBPTHREAD?=	${LIBDESTDIR}${LIBDIR_BASE}/libpthread.a
132LIBRADIUS?=	${LIBDESTDIR}${LIBDIR_BASE}/libradius.a
133LIBRDMACM?=	${LIBDESTDIR}${LIBDIR_BASE}/librdmacm.a
134LIBREGEX?=	${LIBDESTDIR}${LIBDIR_BASE}/libregex.a
135LIBROKEN?=	${LIBDESTDIR}${LIBDIR_BASE}/libroken.a
136LIBRPCSEC_GSS?=	${LIBDESTDIR}${LIBDIR_BASE}/librpcsec_gss.a
137LIBRPCSVC?=	${LIBDESTDIR}${LIBDIR_BASE}/librpcsvc.a
138LIBRT?=		${LIBDESTDIR}${LIBDIR_BASE}/librt.a
139LIBRTLD_DB?=	${LIBDESTDIR}${LIBDIR_BASE}/librtld_db.a
140LIBSBUF?=	${LIBDESTDIR}${LIBDIR_BASE}/libsbuf.a
141LIBSDP?=	${LIBDESTDIR}${LIBDIR_BASE}/libsdp.a
142LIBSMB?=	${LIBDESTDIR}${LIBDIR_BASE}/libsmb.a
143LIBSPL?=	${LIBDESTDIR}${LIBDIR_BASE}/libspl.a
144LIBSSL?=	${LIBDESTDIR}${LIBDIR_BASE}/libssl.a
145LIBSSP_NONSHARED?=	${LIBDESTDIR}${LIBDIR_BASE}/libssp_nonshared.a
146LIBSTATS?=	${LIBDESTDIR}${LIBDIR_BASE}/libstats.a
147LIBSTDTHREADS?=	${LIBDESTDIR}${LIBDIR_BASE}/libstdthreads.a
148LIBSYSDECODE?=	${LIBDESTDIR}${LIBDIR_BASE}/libsysdecode.a
149LIBTACPLUS?=	${LIBDESTDIR}${LIBDIR_BASE}/libtacplus.a
150LIBTERMCAP?=	${LIBDESTDIR}${LIBDIR_BASE}/libtermcap.a
151LIBTERMCAPW?=	${LIBDESTDIR}${LIBDIR_BASE}/libtermcapw.a
152LIBTERMLIB?=	"don't use LIBTERMLIB, use LIBTERMCAP"
153LIBTINFOW=	${LIBDESTDIR}${LIBDIR_BASE}/libtinfow.a
154LIBTPOOL?=	${LIBDESTDIR}${LIBDIR_BASE}/libtpool.a
155LIBUFS?=	${LIBDESTDIR}${LIBDIR_BASE}/libufs.a
156LIBUGIDFW?=	${LIBDESTDIR}${LIBDIR_BASE}/libugidfw.a
157LIBULOG?=	${LIBDESTDIR}${LIBDIR_BASE}/libulog.a
158LIBUMEM?=	${LIBDESTDIR}${LIBDIR_BASE}/libumem.a
159LIBUSB?=	${LIBDESTDIR}${LIBDIR_BASE}/libusb.a
160LIBUSBHID?=	${LIBDESTDIR}${LIBDIR_BASE}/libusbhid.a
161LIBUTIL?=	${LIBDESTDIR}${LIBDIR_BASE}/libutil.a
162LIBUUTIL?=	${LIBDESTDIR}${LIBDIR_BASE}/libuutil.a
163LIBVGL?=	${LIBDESTDIR}${LIBDIR_BASE}/libvgl.a
164LIBVMMAPI?=	${LIBDESTDIR}${LIBDIR_BASE}/libvmmapi.a
165LIBWIND?=	${LIBDESTDIR}${LIBDIR_BASE}/libwind.a
166LIBWRAP?=	${LIBDESTDIR}${LIBDIR_BASE}/libwrap.a
167LIBXO?=		${LIBDESTDIR}${LIBDIR_BASE}/libxo.a
168LIBXPG4?=	${LIBDESTDIR}${LIBDIR_BASE}/libxpg4.a
169LIBY?=		${LIBDESTDIR}${LIBDIR_BASE}/liby.a
170LIBYPCLNT?=	${LIBDESTDIR}${LIBDIR_BASE}/libypclnt.a
171LIBZ?=		${LIBDESTDIR}${LIBDIR_BASE}/libz.a
172LIBZFS?=	${LIBDESTDIR}${LIBDIR_BASE}/libzfs.a
173LIBZFS_CORE?=	${LIBDESTDIR}${LIBDIR_BASE}/libzfs_core.a
174LIBZFSBOOTENV?=	${LIBDESTDIR}${LIBDIR_BASE}/libzfsbootenv.a
175LIBZPOOL?=	${LIBDESTDIR}${LIBDIR_BASE}/libzpool.a
176LIBZUTIL?=	${LIBDESTDIR}${LIBDIR_BASE}/libzutil.a
177
178# enforce the 2 -lpthread and -lc to always be the last in that exact order
179.if defined(LDADD)
180.if ${LDADD:M-lpthread}
181LDADD:=	${LDADD:N-lpthread} -lpthread
182.endif
183.if ${LDADD:M-lc}
184LDADD:=	${LDADD:N-lc} -lc
185.endif
186.endif
187
188# Only do this for src builds.
189.if defined(SRCTOP)
190.if defined(_LIBRARIES) && defined(LIB) && \
191    ${_LIBRARIES:M${LIB}} != ""
192.if !defined(LIB${LIB:tu})
193.error ${.CURDIR}: Missing value for LIB${LIB:tu} in ${_this:T}.  Likely should be: LIB${LIB:tu}?= $${LIBDESTDIR}$${LIBDIR_BASE}/lib${LIB}.a
194.endif
195.endif
196
197# Derive LIB*SRCDIR from LIB*DIR
198.for lib in ${_LIBRARIES}
199LIB${lib:tu}SRCDIR?=	${SRCTOP}/${LIB${lib:tu}DIR:S,^${OBJTOP}/,,}
200.endfor
201.else
202
203# Out of tree builds
204
205# There are LIBADD defined in an out-of-tree build.  Are they *all*
206# in-tree libraries?  If so convert them to LDADD to support
207# partial checkouts.
208.if !empty(LIBADD)
209_convert_libadd=	1
210.for l in ${LIBADD}
211.if empty(LIB${l:tu})
212_convert_libadd=	0
213.endif
214.endfor
215.if ${_convert_libadd} == 1
216.warning Converting out-of-tree build LIBADDs into LDADD.  This is not fully supported.
217.for l in ${LIBADD}
218LDADD+=	-l${l}
219.endfor
220.endif
221.endif
222
223.endif	# defined(SRCTOP)
224