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