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