minix/lib/Makefile
David van Moolenbroek 85723df033 Add libsockdriver: a library for socket drivers
This library provides abstractions for socket drivers, and should be
used as the basis for all socket driver implementations.  It provides
the following functionality:

  - a function call table abstraction, hiding the details of the
    socket driver protocol with simple parameters and presenting the
    socket driver with callback functions very similar to the BSD
    socket API calls made from userland;
  - abstracting data structures and helper functions for suspending
    and resuming blocking calls;
  - abstracting data structures and helper functions for copying data
    from and to the caller.

Overall, the library is similar to lib{block,char,fs,input,net}driver
in concept.  Some of the abstractions provided here should in fact be
applied to libchardriver as well.  As always, for the case that the
provided message loop is too restrictive, a set of more low-level
message processing functions is provided.

Change-Id: I79ec215f5e195c3b0197e223636f987d3755fb13
2017-03-09 23:39:52 +00:00

342 lines
8.8 KiB
Makefile

# $NetBSD: Makefile,v 1.235 2015/09/28 17:12:12 christos Exp $
# from: @(#)Makefile 5.25.1.1 (Berkeley) 5/7/91
.include <bsd.own.mk>
SUBDIR= csu .WAIT
.if (${MKGCC} != "no")
SUBDIR+= ../external/gpl3/${EXTERNAL_GCC_SUBDIR}/lib/libgcc .WAIT
.endif
.if defined(__MINIX)
#LSC MINIX libc depends on
# - libmthread because of sys/lib/libunwind
SUBDIR+= .WAIT
SUBDIR+= ../minix/lib/libsys
SUBDIR+= ../minix/lib/libmthread
SUBDIR+= .WAIT
.endif # defined(__MINIX)
SUBDIR+= libc
SUBDIR+= .WAIT
.if defined(__MINIX)
SUBDIR+= ../minix/lib/libasyn \
../minix/lib/libaudiodriver \
../minix/lib/libbdev \
../minix/lib/libblockdriver \
../minix/lib/libchardriver \
../minix/lib/libddekit \
../minix/lib/libdevman \
../minix/lib/libexec \
../minix/lib/libfsdriver \
../minix/lib/libinputdriver \
../minix/lib/libminc \
../minix/lib/libminixfs \
../minix/lib/libnetdriver \
../minix/lib/libsffs \
../minix/lib/libsockdriver \
../minix/lib/libtimers \
../minix/lib/libusb \
../minix/lib/libvtreefs
.if (${HAVE_LIBGCC} == "no")
SUBDIR+= ../minix/lib/libgcc_s_empty
.endif
.if (${MKLWIP} == "yes")
SUBDIR+= ../minix/lib/liblwip \
../minix/lib/libnetsock
.endif
.if (${MACHINE_ARCH} == "i386")
SUBDIR+= ../minix/lib/libacpi \
../minix/lib/libhgfs \
../minix/lib/libvassert \
../minix/lib/libvboxfs \
../minix/lib/libvirtio
.endif
.if (${MACHINE_ARCH} == "earm")
SUBDIR+= ../minix/lib/libclkconf \
../minix/lib/libgpio \
../minix/lib/libi2cdriver
.endif
.if (${MKMAGIC} == "yes")
SUBDIR+= ../minix/lib/libmagicrt
.endif
.endif # defined(__MINIX)
#
# The SUBDIRs above are included here for completeness but should be built
# and installed prior to make(dependall) in this file, as libraries listed
# below will depend on versions from DESTDIR only.
#
SUBDIR+= i18n_module
SUBDIR+= \
libbz2 \
libcrypt \
libintl libkvm libm \
libpci libprop \
libpuffs librmt \
libterminfo \
libutil libz
.if !defined(BSD_MK_COMPAT_FILE)
#SUBDIR+= libkern
.endif
.if (${MACHINE_CPU} == "arm" || ${MACHINE_CPU} == "aarch64")
LIBC_MACHINE_ARCH?=${MACHINE_ARCH}
LIBC_MACHINE_CPU?=${MACHINE_CPU}
.if ${LIBC_MACHINE_CPU} == "arm" && empty(LIBC_MACHINE_ARCH:M*hf*)
.if !defined(__MINIX)
SUBDIR+= libc_vfp
.endif # !defined(__MINIX)
.endif
.endif
.if (${MKRUMP} != "no")
SUBDIR+= librumpclient
.endif
.if (${MKSKEY} != "no")
SUBDIR+= libskey
.endif
.if (${MKMDNS} != "no")
SUBDIR+= ../external/apache2/mDNSResponder/lib
.endif
#SUBDIR+= ../external/bsd/am-utils/lib
SUBDIR+= ../external/bsd/blacklist/lib
SUBDIR+= ../external/bsd/flex/lib
#SUBDIR+= ../external/bsd/tre/lib
SUBDIR+= ../external/bsd/elftoolchain/lib/libelf
#SUBDIR+= ../external/bsd/liblzf/lib
#SUBDIR+= ../external/bsd/libpcap/lib
.if ${MKSLJIT} != "no"
SUBDIR+= ../external/bsd/sljit/lib
SUBDIR+= libbpfjit
.endif
.if (${MKZFS} != "no")
SUBDIR+= ../external/cddl/osnet/lib/libavl
SUBDIR+= ../external/cddl/osnet/lib/libnvpair
SUBDIR+= ../external/cddl/osnet/lib/libumem
SUBDIR+= ../external/cddl/osnet/lib/libuutil
.endif
SUBDIR+= ../external/mit/expat/lib
SUBDIR+= ../external/public-domain/sqlite/lib
#SUBDIR+= ../gnu/lib/libmalloc
.if (${MKGCC} != "no")
. if !defined(__MINIX) || ${MKLIBSTDCXX} == "yes"
SUBDIR+= ../external/gpl3/${EXTERNAL_GCC_SUBDIR}/lib/libobjc
SUBDIR+= ../external/gpl3/${EXTERNAL_GCC_SUBDIR}/lib/libgomp
#SUBDIR+= ../external/gpl3/${EXTERNAL_GCC_SUBDIR}/lib/libmudflap
#SUBDIR+= ../external/gpl3/${EXTERNAL_GCC_SUBDIR}/lib/libmudflapth
. endif # !defined(__MINIX) || ${MKLIBSTDCXX} == "yes"
. if !defined(__MINIX) || ${MKLIBSTDCXX} == "yes"
# Should probably move GMP, MPFR and MPC builds into the GCC >= 4.5
# specific build area, but we get better parallelism this way.
# We don't build compat versions of these.
. if !defined(MLIBDIR)
SUBDIR+= ../external/lgpl3/gmp/lib/libgmp
SUBDIR+= ../external/lgpl3/mpfr/lib/libmpfr
SUBDIR+= ../external/lgpl3/mpc/lib/libmpc
. endif # !defined(__MINIX) || ${MKLIBSTDCXX} == "yes"
. endif
.endif
#
# Libraries that depend upon any listed previously
# (and those that depend upon these [and ...])
#
#==================== 1st library dependency barrier ====================
SUBDIR+= .WAIT
.if ${MKDTRACE} != "no"
SUBDIR+= ../external/bsd/librtld_db/lib # depends on libutil
.endif
.if ${MKDTRACE} != "no" || ${MKCTF} != "no"
SUBDIR+= ../external/cddl/osnet/lib/libctf
.endif
SUBDIR+= ../external/public-domain/xz/lib # depends on libpthread
.if (${MKCRYPTO} != "no")
SUBDIR+= ../crypto/external/bsd/netpgp/libmj
SUBDIR+= ../crypto/external/bsd/netpgp/lib/verify # depends on libz
.endif
#SUBDIR+= ../external/bsd/libdwarf/lib # depends on libelf
SUBDIR+= ../external/mit/lua/lib # depends on libm
SUBDIR+= libcurses # depends on libterminfo
#SUBDIR+= libdm # depends on libprop
SUBDIR+= libedit # depends on libterminfo
SUBDIR+= libexecinfo # depends on libelf
#SUBDIR+= libppath # depends on libprop
#SUBDIR+= libperfuse # depends on libpuffs
#SUBDIR+= libquota # depends on libprop and librpcsvc
SUBDIR+= librefuse # depends on libpuffs
#SUBDIR+= libisns # depends on libpthread
.if (${MKRUMP} != "no")
SUBDIR+= librumpuser # depends on libpthread
SUBDIR+= librumphijack # depends on librumpclient and libpthread
.endif
.if (${MKNPF} != "no")
SUBDIR+= libnpf # depends on libprop
.endif
.if (${MKCRYPTO} != "no")
SUBDIR+= ../crypto/external/bsd/openssl/lib # depends on libcrypt
.endif
SUBDIR+= ../external/bsd/file/lib # depends on libz
.if (${MKISCSI} != "no")
SUBDIR+= ../external/bsd/iscsi/lib # depends on libpthread
.endif
.if (${MKZFS} != "no")
SUBDIR+= ../external/cddl/osnet/lib/libzfs
SUBDIR+= ../external/cddl/osnet/lib/libzpool
.endif
.if (${MKLVM} != "no")
SUBDIR+= ../external/gpl2/lvm2/lib # depends on libprop
.endif
.if (${MKBINUTILS} != "no")
SUBDIR+= ../external/gpl3/binutils/lib # libbfd depends on libz
.endif
.if (${MKLIBCXX} != "no")
SUBDIR+= ../external/bsd/libc++
.endif
.if (${MKGCC} != "no" && ${MKCXX} != "no" && ${MKLIBSTDCXX} != "no")
SUBDIR+= ../external/gpl3/${EXTERNAL_GCC_SUBDIR}/lib/libstdc++-v3
SUBDIR+= ../external/gpl3/${EXTERNAL_GCC_SUBDIR}/lib/libsupc++
.endif
#==================== 2nd library dependency barrier ====================
SUBDIR+= .WAIT
SANITIZER_DIR=../external/gpl3/${EXTERNAL_GCC_SUBDIR}/lib/libasan
.if exists(${SANITIZER_DIR})
#SUBDIR+= ${SANITIZER_DIR}
.endif
SUBDIR+= ../external/bsd/libarchive/lib # depends on libxz
.if (${MKNPF} != "no")
SUBDIR+= npf # depends on libnpf
.endif
.if (${MKATF} != "no")
SUBDIR+= ../external/bsd/atf/lib # depends on libstdc++
.endif
.if (${MKKYUA} != "no")
SUBDIR+= ../external/bsd/lutok/lib # depends on lua and libstdc++
.endif
SUBDIR+= libform # depends on libcurses
SUBDIR+= libmenu # depends on libcurses
#SUBDIR+= libradius # depends on libcrypto if (${MKCRYPTO} != "no")
.if (${MKRUMP} != "no")
SUBDIR+= librump # depends on librumpuser
.endif
.if (${MKKERBEROS} != "no")
SUBDIR+= ../crypto/external/bsd/heimdal/lib # depends on libcrypto
# libedit, libterminfo,
.endif
.if (${MKCRYPTO} != "no")
#SUBDIR+= ../crypto/external/bsd/openssh/lib # depends on libcrypto, libz
SUBDIR+= ../crypto/external/bsd/netpgp/lib # depends on libcrypto, ...
.endif
SUBDIR+= ../external/bsd/libevent/lib # depends on libcrypto
.if ${MKDTRACE} != "no"
SUBDIR+= ../external/bsd/libproc/lib # depends on libstdc++, libctf
.endif
SUBDIR+= ../external/bsd/fetch/lib # depends on libssl
.if (${MKLDAP} != "no")
SUBDIR+= ../external/bsd/openldap/lib # depends on libcrypto, ...
.endif
#==================== 3rd library dependency barrier ====================
SUBDIR+= .WAIT
#SUBDIR+= ../external/bsd/bind/lib # depends on heimdal, libcrypto
.if ${MKDTRACE} != "no"
SUBDIR+= ../external/cddl/osnet/lib/libdtrace # depends on libproc
.endif
.if (${MKRUMP} != "no")
SUBDIR+= librumpdev # depends on librump
SUBDIR+= librumpnet # depends on librump
SUBDIR+= librumpvfs # depends on librump
.endif
.if (${MKPAM} != "no")
SUBDIR+= libpam # depends on heimdal
.endif
.if (${MKCRYPTO} != "no")
SUBDIR+= ../crypto/external/bsd/libsaslc # depends on heimdal, openssl
.endif
SUBDIR+= ../external/bsd/mdocml/lib
.if (${MKRUMP} != "no")
#==================== 4th library dependency barrier ====================
SUBDIR+= .WAIT
SUBDIR+= libukfs # depends on librumpvfs, librump
.if (${MKTPM} != "no")
SUBDIR+= ../crypto/external/cpl/trousers/lib
.endif
#==================== 5th library dependency barrier ====================
SUBDIR+= .WAIT
SUBDIR+= libp2k # depends on libukfs, librumpvfs, libpuffs
.if (${MKTPM} != "no")
SUBDIR+= ../crypto/external/cpl/tpm-tools/lib # depends on trousers
.endif
.if !defined(BSD_MK_COMPAT_FILE)
SUBDIR+= ../sys/rump/dev/lib
SUBDIR+= ../sys/rump/fs/lib
SUBDIR+= ../sys/rump/kern/lib
SUBDIR+= ../sys/rump/net/lib
.endif
.endif
# Lua bindings come last, they might depend on anything
SUBDIR+= lua
# Needed by rump and rescue which are outside the smbfs tree
#SUBDIR+= ../external/bsd/smbfs/lib
.include <bsd.buildinstall.mk>
.include <bsd.subdir.mk>