1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-22 11:17:19 +00:00
freebsd/lib/Makefile

342 lines
6.2 KiB
Makefile
Raw Normal View History

1994-05-27 05:00:24 +00:00
# @(#)Makefile 8.1 (Berkeley) 6/4/93
1999-08-28 00:22:10 +00:00
# $FreeBSD$
.include <src.opts.mk>
# The SUBDIR_ORDERED list is a small set of libraries which are used by many
# of the other libraries. These are built first with a .WAIT between them
# and the main list to avoid needing a SUBDIR_DEPEND line on every library
# naming just these few items.
SUBDIR_ORDERED= ${_csu} \
.WAIT \
libc \
libc_nonshared \
libcompiler_rt \
${_libclang_rt} \
${_libcplusplus} \
${_libcxxrt} \
libelf \
msun
# The main list; please keep these sorted alphabetically.
SUBDIR= ${SUBDIR_ORDERED} \
.WAIT \
libalias \
libarchive \
${_libatm} \
libauditd \
libbegemot \
libblocksruntime \
${_libbluetooth} \
${_libbsnmp} \
2014-03-06 04:06:36 +00:00
libbsdstat \
libbsm \
libbz2 \
libcalendar \
libcam \
${_libcapsicum} \
${_libcasper} \
${_libcom_err} \
libcompat \
libcrypt \
Add a new device control utility for new-bus devices called devctl. This allows the user to request administrative changes to individual devices such as attach or detaching drivers or disabling and re-enabling devices. - Add a new /dev/devctl2 character device which uses ioctls for device requests. The ioctls use a common 'struct devreq' which is somewhat similar to 'struct ifreq'. - The ioctls identify the device to operate on via a string. This string can either by the device's name, or it can be a bus-specific address. (For unattached devices, a bus address is the only way to locate a device.) Bus drivers register an eventhandler to claim unrecognized device names that the driver recognizes as a valid address. Two buses currently support addresses: ACPI recognizes any device in the ACPI namespace via its full path starting with "\" and the PCI bus driver recognizes an address specification of 'pci[<domain>:]<bus>:<slot>:<func>' (identical to the PCI selector strings supported by pciconf). - To make it easier to cut and paste, change the PnP location string in the PCI bus driver to output a full PCI selector string rather than 'slot=<slot> function=<func>'. - Add a devctl(3) interface in libdevctl which provides a wrapper around the ioctls and is the preferred interface for other userland code. - Add a devctl(8) program which is a simple wrapper around the requests supported by devctl(3). - Add a device_is_suspended() function to check DF_SUSPENDED. - Add a resource_unset_value() function that can be used to remove a hint from the kernel environment. This is used to clear a hint.<driver>.<unit>.disabled hint when re-enabling a boot-time disabled device. Reviewed by: imp (parts) Requested by: imp (changing PCI location string) Relnotes: yes
2015-02-06 16:09:01 +00:00
libdevctl \
libdevinfo \
libdevstat \
libdpv \
libdwarf \
libedit \
${_libelftc} \
${_libevent} \
libexecinfo \
libexpat \
libfetch \
libfigpar \
libgeom \
${_libgpio} \
${_libgssapi} \
${_librpcsec_gss} \
${_libiconv_modules} \
libipsec \
libjail \
libkiconv \
libkvm \
${_libldns} \
liblzma \
${_libmagic} \
libmandoc \
libmemstat \
libmd \
${_libmilter} \
${_libmp} \
${_libnandfs} \
libnetbsd \
${_libnetgraph} \
${_libngatm} \
libnv \
libohash \
libopie \
libpam \
libpcap \
libpjdlog \
${_libpmc} \
${_libproc} \
libprocstat \
${_libradius} \
librpcsvc \
librt \
${_librtld_db} \
libsbuf \
${_libsdp} \
${_libsm} \
${_libsmb} \
${_libsmdb} \
${_libsmutil} \
libsqlite3 \
libstand \
libstdbuf \
libstdthreads \
libtacplus \
${_libtelnet} \
${_libthr} \
libthread_db \
2014-02-23 21:50:11 +00:00
libucl \
libufs \
libugidfw \
libulog \
${_libunbound} \
${_libusbhid} \
${_libusb} \
libutil \
${_libvgl} \
${_libvmmapi} \
libwrap \
libxo \
liby \
${_libypclnt} \
libz \
ncurses \
${_atf} \
${_clang} \
${_cuse} \
${_tests}
1994-05-27 05:00:24 +00:00
# Inter-library dependencies. When the makefile for a library contains LDADD
# libraries, those libraries should be listed as build order dependencies here.
SUBDIR_DEPEND_libarchive= libz libbz2 libexpat liblzma libmd
SUBDIR_DEPEND_libatm= libmd
SUBDIR_DEPEND_libauditdm= libbsm
SUBDIR_DEPEND_libbsnmp= ${_libnetgraph}
SUBDIR_DEPEND_libc++= libcxxrt
SUBDIR_DEPEND_libc= libcompiler_rt
SUBDIR_DEPEND_libcam= libsbuf
SUBDIR_DEPEND_libcapsicum= libnv
SUBDIR_DEPEND_libcasper= libcapsicum libnv libpjdlog
SUBDIR_DEPEND_libdevstat= libkvm
SUBDIR_DEPEND_libdpv= libfigpar ncurses libutil
SUBDIR_DEPEND_libedit= ncurses
SUBDIR_DEPEND_libg++= msun
SUBDIR_DEPEND_libgeom= libexpat libsbuf
SUBDIR_DEPEND_liblibrpcsec_gss= libgssapi
SUBDIR_DEPEND_libmagic= libz
SUBDIR_DEPEND_libmemstat= libkvm
SUBDIR_DEPEND_libopie= libmd
SUBDIR_DEPEND_libpam= libcrypt libopie ${_libradius} librpcsvc libtacplus libutil ${_libypclnt} ${_libcom_err}
SUBDIR_DEPEND_libpjdlog= libutil
SUBDIR_DEPEND_libprocstat= libkvm libutil
SUBDIR_DEPEND_libradius= libmd
SUBDIR_DEPEND_libreadline= ncurses
SUBDIR_DEPEND_libsmb= libkiconv
SUBDIR_DEPEND_libstdc++= msun
SUBDIR_DEPEND_libtacplus= libmd
SUBDIR_DEPEND_libulog= libmd
SUBDIR_DEPEND_libunbound= ${_libldns}
SUBDIR_DEPEND_liblzma= ${_libthr}
.if exists(${.CURDIR}/csu/${MACHINE_ARCH}-elf)
_csu=csu/${MACHINE_ARCH}-elf
.elif exists(${.CURDIR}/csu/${MACHINE_ARCH})
_csu=csu/${MACHINE_ARCH}
.elif exists(${.CURDIR}/csu/${MACHINE_CPUARCH}/Makefile)
_csu=csu/${MACHINE_CPUARCH}
.else
_csu=csu
.endif
# NB: keep these sorted by MK_* knobs
.if ${MK_ATM} != "no"
_libngatm= libngatm
.endif
.if ${MK_BLUETOOTH} != "no"
_libbluetooth= libbluetooth
_libsdp= libsdp
.endif
.if ${MK_BSNMP} != "no"
_libbsnmp= libbsnmp
.endif
.if ${MK_CASPER} != "no"
_libcapsicum= libcapsicum
_libcasper= libcasper
.endif
.if ${MK_CLANG} != "no" && !defined(COMPAT_32BIT)
_clang= clang
.endif
.if ${MK_CUSE} != "no"
_cuse= libcuse
.endif
.if ${MK_ELFTOOLCHAIN_TOOLS} != "no"
_libelftc= libelftc
.endif
.if ${MK_FILE} != "no"
_libmagic= libmagic
.endif
.if ${MK_GPIO} != "no"
_libgpio= libgpio
.endif
.if ${MK_GSSAPI} != "no"
_libgssapi= libgssapi
_librpcsec_gss= librpcsec_gss
.endif
Add the BSD-licensed Citrus iconv to the base system with default off setting. It can be built by setting the WITH_ICONV knob. While this knob is unset, the library part, the binaries, the header file and the metadata files will not be built or installed so it makes no impact on the system if left turned off. This work is based on the iconv implementation in NetBSD but a great number of improvements and feature additions have been included: - Some utilities have been added. There is a conversion table generator, which can compare conversion tables to reference data generated by GNU libiconv. This helps ensuring conversion compatibility. - UTF-16 surrogate support and some endianness issues have been fixed. - The rather chaotic Makefiles to build metadata have been refactored and cleaned up, now it is easy to read and it is also easier to add support for new encodings. - A bunch of new encodings and encoding aliases have been added. - Support for 1->2, 1->3 and 1->4 mappings, which is needed for transliterating with flying accents as GNU does, like "u. - Lots of warnings have been fixed, the major part of the code is now WARNS=6 clean. - New section 1 and section 5 manual pages have been added. - Some GNU-specific calls have been implemented: iconvlist(), iconvctl(), iconv_canonicalize(), iconv_open_into() - Support for GNU's //IGNORE suffix has been added. - The "-" argument for stdin is now recognized in iconv(1) as per POSIX. - The Big5 conversion module has been fixed. - The iconv.h header files is supposed to be compatible with the GNU version, i.e. sources should build with base iconv.h and GNU libiconv. It also includes a macro magic to deal with the char ** and const char ** incompatibility. - GNU compatibility: "" or "char" means the current local encoding in use - Various cleanups and style(9) fixes. Approved by: delphij (mentor) Obtained from: The NetBSD Project Sponsored by: Google Summer of Code 2009
2011-02-25 00:04:39 +00:00
.if ${MK_ICONV} != "no"
_libiconv_modules= libiconv_modules
.endif
.if ${MK_KERBEROS_SUPPORT} != "no"
_libcom_err= libcom_err
.endif
.if ${MK_LDNS} != "no"
_libldns= libldns
.endif
# The libraries under libclang_rt can only be built by clang, and only make
# sense to build when clang is enabled at all. Furthermore, they can only be
# built for certain architectures.
.if ${MK_CLANG} != "no" && ${COMPILER_TYPE} == "clang" && \
(${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" || \
(${MACHINE_CPUARCH} == "arm" && ${MACHINE_ARCH} != "armeb"))
_libclang_rt= libclang_rt
.endif
.if ${MK_LIBCPLUSPLUS} != "no"
_libcxxrt= libcxxrt
_libcplusplus= libc++
.endif
.if ${MK_LIBTHR} != "no"
_libthr= libthr
.endif
.if ${MK_NAND} != "no"
_libnandfs= libnandfs
.endif
.if ${MK_NETGRAPH} != "no"
_libnetgraph= libnetgraph
.endif
.if ${MK_NIS} != "no"
_libypclnt= libypclnt
.endif
.if ${MK_PF} != "no"
_libevent= libevent
.endif
.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
_libsmb= libsmb
_libvgl= libvgl
_libproc= libproc
_librtld_db= librtld_db
2003-06-01 00:32:21 +00:00
.endif
2011-10-27 04:56:53 +00:00
.if ${MACHINE_CPUARCH} == "amd64"
.if ${MK_BHYVE} != "no"
2011-10-27 04:56:53 +00:00
_libvmmapi= libvmmapi
.endif
.endif
2011-10-27 04:56:53 +00:00
2012-03-24 05:18:27 +00:00
.if ${MACHINE_CPUARCH} == "mips"
_libproc= libproc
_librtld_db= librtld_db
.endif
.if ${MACHINE_CPUARCH} == "powerpc"
_libproc= libproc
_librtld_db= librtld_db
_libsmb= libsmb
.endif
.if ${MACHINE_CPUARCH} == "sparc64"
_libsmb= libsmb
.endif
.if ${MACHINE_CPUARCH} == "arm"
_libsmb= libsmb
_libproc= libproc
_librtld_db= librtld_db
.endif
.if ${MK_OPENSSL} != "no"
_libmp= libmp
.endif
.if ${MK_PMC} != "no"
_libpmc= libpmc
.endif
.if ${MK_RADIUS_SUPPORT} != "no"
_libradius= libradius
.endif
.if ${MK_SENDMAIL} != "no"
_libmilter= libmilter
_libsm= libsm
_libsmdb= libsmdb
_libsmutil= libsmutil
2004-03-10 08:58:06 +00:00
.endif
.if ${MK_TELNET} != "no"
_libtelnet= libtelnet
.endif
.if ${MK_TESTS_SUPPORT} != "no"
_atf= atf
.endif
.if ${MK_TESTS} != "no"
_tests= tests
.endif
.if ${MK_UNBOUND} != "no"
_libunbound= libunbound
.endif
.if ${MK_USB} != "no"
_libusbhid= libusbhid
_libusb= libusb
.endif
.if !defined(LIBRARIES_ONLY)
afterinstall:
${INSTALL_SYMLINK} ../include ${DESTDIR}/usr/lib/include
.endif
.if !make(install)
SUBDIR_PARALLEL=
.endif
1994-05-27 05:00:24 +00:00
.include <bsd.subdir.mk>