NetBSD/sys/modules/Makefile

320 lines
5.5 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.143 2015/03/07 14:16:51 jmcneill Exp $
.include <bsd.own.mk>
# For all platforms
SUBDIR= accf_dataready
SUBDIR+= accf_httpready
2008-06-28 20:11:35 +04:00
SUBDIR+= adosfs
SUBDIR+= aio
SUBDIR+= blowfish
2010-01-26 01:21:28 +03:00
SUBDIR+= bpf
SUBDIR+= camellia
SUBDIR+= cast128
2013-12-28 23:45:13 +04:00
SUBDIR+= ccd
2013-12-29 20:32:32 +04:00
SUBDIR+= cd9660
SUBDIR+= cgd
2013-12-29 20:32:32 +04:00
SUBDIR+= chfs
SUBDIR+= crypto
2008-06-28 20:11:35 +04:00
SUBDIR+= coda
SUBDIR+= coda5
SUBDIR+= compat
SUBDIR+= compat_ossaudio
SUBDIR+= coredump
SUBDIR+= dbcool
SUBDIR+= des
SUBDIR+= dk_subr
2008-06-28 20:11:35 +04:00
SUBDIR+= efs
SUBDIR+= ext2fs
SUBDIR+= exec_script
2008-06-28 20:11:35 +04:00
SUBDIR+= fdesc
SUBDIR+= ffs
SUBDIR+= filecore
2011-09-29 21:40:19 +04:00
SUBDIR+= filemon
SUBDIR+= flash
SUBDIR+= fss
SUBDIR+= gpio
SUBDIR+= gpioiic
SUBDIR+= gpioow
SUBDIR+= gpiosim
2008-06-28 20:11:35 +04:00
SUBDIR+= hfs
SUBDIR+= hythygtemp
SUBDIR+= i2cexec
SUBDIR+= if_axe
SUBDIR+= if_axen
SUBDIR+= if_npflog
2013-11-16 20:59:03 +04:00
SUBDIR+= if_smsc
SUBDIR+= iic
2008-06-28 20:11:35 +04:00
SUBDIR+= kernfs
SUBDIR+= layerfs
2008-06-28 20:11:35 +04:00
SUBDIR+= lfs
2013-10-28 22:51:13 +04:00
SUBDIR+= lua
2013-12-17 03:54:26 +04:00
SUBDIR+= luasystm
2013-10-29 00:32:14 +04:00
SUBDIR+= luapmf
2008-06-28 20:11:35 +04:00
SUBDIR+= mfs
SUBDIR+= miiverbose
SUBDIR+= miniroot
SUBDIR+= mqueue
SUBDIR+= msdos
SUBDIR+= nand
SUBDIR+= nandemulator
SUBDIR+= nfs
SUBDIR+= nfsserver
Import read-only part of the NiLFS (v2) implementation for NetBSD. It has been tested with a DEBUG+DIAGNOSTIC+LOCKDEBUG kernel. To summerise NiLFS, i'll repeat my posting to tech-kern here: NiLFS stands for New implementation of Logging File System; LFS done right they claim :) It is at version 2 now and is being developed by NTT, the Japanese telecom company and recently put into the linux source tree. See http://www.nilfs.org. The on-disc format is not completely frozen and i expect at least one minor revision to come in time. The benefits of NiLFS are build-in fine-grained checkpointing, persistent snapshots, multiple mounts and very large file and media support. Every checkpoint can be transformed into a snapshot and v.v. It is said to perform very well on flash media since it is not overwriting pieces apart from a incidental update of the superblock, but that might change. It is accompanied by a cleaner to clean up the segments and recover lost space. My work is not a port of the linux code; its a new implementation. Porting the code would be more work since its very linux oriented and never written to be ported outside linux. The goal is to be fully interchangable. The code is non intrusive to other parts of the kernel. It is also very light-weight. The current state of the code is read-only access to both clean and dirty NiLFS partitions. On mounting a dirty partition it rolls forward the log to the last checkpoint. Full read-write support is however planned! Just as the linux code, mount_nilfs allows for the `head' to be mounted read/write and allows multiple read-only snapshots/checkpoint mounts next to it. By allowing the RW mount at a different snapshot for read-write it should be possible eventually to revert back to a previous state; i.e. try to upgrade a system and being able to revert to the exact state prior to the upgrade. Compared to other FS's its pretty light-weight, suitable for embedded use and on flash media. The read-only code is currently 17kb object code on NetBSD/i386. I doubt the read-write code will surpass the 50 or 60. Compared this to FFS being 156kb, UDF being 84 kb and NFS being 130kb. Run-time memory usage is most likely not very different from other uses though maybe a bit higher than FFS.
2009-07-18 20:31:41 +04:00
SUBDIR+= nilfs
2011-11-06 15:51:23 +04:00
SUBDIR+= npf
2011-11-06 17:26:54 +04:00
SUBDIR+= npf_alg_icmp
SUBDIR+= npf_ext_log
2013-03-13 00:47:48 +04:00
SUBDIR+= npf_ext_normalize
SUBDIR+= npf_ext_rndblock
2008-06-28 20:11:35 +04:00
SUBDIR+= ntfs
SUBDIR+= null
SUBDIR+= onewire
SUBDIR+= opencrypto
2008-06-28 20:11:35 +04:00
SUBDIR+= overlay
SUBDIR+= pciverbose
2010-04-12 18:08:58 +04:00
SUBDIR+= pf
SUBDIR+= ppp_bsdcomp
SUBDIR+= ppp_deflate
2008-06-28 20:11:35 +04:00
SUBDIR+= procfs
SUBDIR+= ptyfs
SUBDIR+= puffs
SUBDIR+= putter
SUBDIR+= scsiverbose
SUBDIR+= sdtemp
First part of secmodel cleanup and other misc. changes: - Separate the suser part of the bsd44 secmodel into its own secmodel and directory, pending even more cleanups. For revision history purposes, the original location of the files was src/sys/secmodel/bsd44/secmodel_bsd44_suser.c src/sys/secmodel/bsd44/suser.h - Add a man-page for secmodel_suser(9) and update the one for secmodel_bsd44(9). - Add a "secmodel" module class and use it. Userland program and documentation updated. - Manage secmodel count (nsecmodels) through the module framework. This eliminates the need for secmodel_{,de}register() calls in secmodel code. - Prepare for secmodel modularization by adding relevant module bits. The secmodels don't allow auto unload. The bsd44 secmodel depends on the suser and securelevel secmodels. The overlay secmodel depends on the bsd44 secmodel. As the module class is only cosmetic, and to prevent ambiguity, the bsd44 and overlay secmodels are prefixed with "secmodel_". - Adapt the overlay secmodel to recent changes (mainly vnode scope). - Stop using link-sets for the sysctl node(s) creation. - Keep sysctl variables under nodes of their relevant secmodels. In other words, don't create duplicates for the suser/securelevel secmodels under the bsd44 secmodel, as the latter is merely used for "grouping". - For the suser and securelevel secmodels, "advertise presence" in relevant sysctl nodes (sysctl.security.models.{suser,securelevel}). - Get rid of the LKM preprocessor stuff. - As secmodels are now modules, there's no need for an explicit call to secmodel_start(); it's handled by the module framework. That said, the module framework was adjusted to properly load secmodels early during system startup. - Adapt rump to changes: Instead of using empty stubs for securelevel, simply use the suser secmodel. Also replace secmodel_start() with a call to secmodel_suser_start(). - 5.99.20. Testing was done on i386 ("release" build). Spearated module_init() changes were tested on sparc and sparc64 as well by martin@ (thanks!). Mailing list reference: http://mail-index.netbsd.org/tech-kern/2009/09/25/msg006135.html
2009-10-02 22:50:12 +04:00
SUBDIR+= secmodel_bsd44
SUBDIR+= secmodel_extensions
First part of secmodel cleanup and other misc. changes: - Separate the suser part of the bsd44 secmodel into its own secmodel and directory, pending even more cleanups. For revision history purposes, the original location of the files was src/sys/secmodel/bsd44/secmodel_bsd44_suser.c src/sys/secmodel/bsd44/suser.h - Add a man-page for secmodel_suser(9) and update the one for secmodel_bsd44(9). - Add a "secmodel" module class and use it. Userland program and documentation updated. - Manage secmodel count (nsecmodels) through the module framework. This eliminates the need for secmodel_{,de}register() calls in secmodel code. - Prepare for secmodel modularization by adding relevant module bits. The secmodels don't allow auto unload. The bsd44 secmodel depends on the suser and securelevel secmodels. The overlay secmodel depends on the bsd44 secmodel. As the module class is only cosmetic, and to prevent ambiguity, the bsd44 and overlay secmodels are prefixed with "secmodel_". - Adapt the overlay secmodel to recent changes (mainly vnode scope). - Stop using link-sets for the sysctl node(s) creation. - Keep sysctl variables under nodes of their relevant secmodels. In other words, don't create duplicates for the suser/securelevel secmodels under the bsd44 secmodel, as the latter is merely used for "grouping". - For the suser and securelevel secmodels, "advertise presence" in relevant sysctl nodes (sysctl.security.models.{suser,securelevel}). - Get rid of the LKM preprocessor stuff. - As secmodels are now modules, there's no need for an explicit call to secmodel_start(); it's handled by the module framework. That said, the module framework was adjusted to properly load secmodels early during system startup. - Adapt rump to changes: Instead of using empty stubs for securelevel, simply use the suser secmodel. Also replace secmodel_start() with a call to secmodel_suser_start(). - 5.99.20. Testing was done on i386 ("release" build). Spearated module_init() changes were tested on sparc and sparc64 as well by martin@ (thanks!). Mailing list reference: http://mail-index.netbsd.org/tech-kern/2009/09/25/msg006135.html
2009-10-02 22:50:12 +04:00
SUBDIR+= secmodel_overlay
SUBDIR+= securelevel
SUBDIR+= skipjack
2008-06-28 20:11:35 +04:00
SUBDIR+= smbfs
SUBDIR+= spdmem
2009-01-05 18:36:51 +03:00
SUBDIR+= sysvbfs
First part of secmodel cleanup and other misc. changes: - Separate the suser part of the bsd44 secmodel into its own secmodel and directory, pending even more cleanups. For revision history purposes, the original location of the files was src/sys/secmodel/bsd44/secmodel_bsd44_suser.c src/sys/secmodel/bsd44/suser.h - Add a man-page for secmodel_suser(9) and update the one for secmodel_bsd44(9). - Add a "secmodel" module class and use it. Userland program and documentation updated. - Manage secmodel count (nsecmodels) through the module framework. This eliminates the need for secmodel_{,de}register() calls in secmodel code. - Prepare for secmodel modularization by adding relevant module bits. The secmodels don't allow auto unload. The bsd44 secmodel depends on the suser and securelevel secmodels. The overlay secmodel depends on the bsd44 secmodel. As the module class is only cosmetic, and to prevent ambiguity, the bsd44 and overlay secmodels are prefixed with "secmodel_". - Adapt the overlay secmodel to recent changes (mainly vnode scope). - Stop using link-sets for the sysctl node(s) creation. - Keep sysctl variables under nodes of their relevant secmodels. In other words, don't create duplicates for the suser/securelevel secmodels under the bsd44 secmodel, as the latter is merely used for "grouping". - For the suser and securelevel secmodels, "advertise presence" in relevant sysctl nodes (sysctl.security.models.{suser,securelevel}). - Get rid of the LKM preprocessor stuff. - As secmodels are now modules, there's no need for an explicit call to secmodel_start(); it's handled by the module framework. That said, the module framework was adjusted to properly load secmodels early during system startup. - Adapt rump to changes: Instead of using empty stubs for securelevel, simply use the suser secmodel. Also replace secmodel_start() with a call to secmodel_suser_start(). - 5.99.20. Testing was done on i386 ("release" build). Spearated module_init() changes were tested on sparc and sparc64 as well by martin@ (thanks!). Mailing list reference: http://mail-index.netbsd.org/tech-kern/2009/09/25/msg006135.html
2009-10-02 22:50:12 +04:00
SUBDIR+= suser
SUBDIR+= swcrypto
SUBDIR+= swsensor
2008-06-28 20:11:35 +04:00
SUBDIR+= tmpfs
2012-08-04 08:37:25 +04:00
SUBDIR+= uatp
2008-06-28 20:11:35 +04:00
SUBDIR+= udf
SUBDIR+= umap
2008-06-28 20:11:35 +04:00
SUBDIR+= union
SUBDIR+= usbverbose
SUBDIR+= vcoda
SUBDIR+= v7fs
SUBDIR+= vnd
SUBDIR+= zlib
2009-03-10 17:56:30 +03:00
SUBDIR+= tprof
2008-06-28 20:11:35 +04:00
.if (defined(NOTYET))
SUBDIR+= hifn # Builds on architectures with PCI bus
2008-06-28 20:11:35 +04:00
SUBDIR+= unionfs
.endif
.if ${MKBINUTILS} != "no"
SUBDIR+= xldscripts
.endif
2008-06-28 20:11:35 +04:00
# Machine dependent section
.if ${MACHINE_ARCH} == "i386" || \
${MACHINE_CPU} == "m68k"
SUBDIR+= exec_aout
.endif
.if ${MACHINE_ARCH} != "alpha" && ${MACHINE_CPU} != "aarch64"
2008-11-23 18:29:42 +03:00
SUBDIR+= exec_elf32
.endif
.if ${MACHINE_CPU} == "aarch64" || \
${MACHINE_ARCH} == "alpha" || \
${MACHINE_ARCH} == "sparc64" || \
${MACHINE_ARCH} == "x86_64"
SUBDIR+= exec_elf64
.endif
2009-03-10 17:56:30 +03:00
.if ${MACHINE_ARCH} == "i386" || \
${MACHINE_ARCH} == "x86_64"
2011-06-15 07:22:39 +04:00
SUBDIR+= amdtemp
2011-02-20 16:48:25 +03:00
SUBDIR+= coretemp
2011-02-23 14:55:36 +03:00
SUBDIR+= est
SUBDIR+= hdafg
SUBDIR+= hdaudio
2014-09-19 21:25:47 +04:00
SUBDIR+= hdaudioverbose
SUBDIR+= hpet
2011-03-04 08:02:47 +03:00
SUBDIR+= odcm
2011-02-24 14:22:34 +03:00
SUBDIR+= powernow
2009-03-10 17:56:30 +03:00
SUBDIR+= tprof_pmi
2011-04-14 19:45:27 +04:00
SUBDIR+= tprof_amdpmi
2011-10-18 04:33:47 +04:00
SUBDIR+= vmt
2009-03-10 17:56:30 +03:00
.endif
.if ${MACHINE_ARCH} == "i386" || \
${MACHINE_ARCH} == "x86_64"
SUBDIR+= ubsec # Builds on architectures with PCI bus
.endif
.if ${MKSLJIT} != "no"
# No modules for arm, mips and powerpc yet.
2012-10-28 20:25:02 +04:00
.if ${MACHINE_ARCH} == "i386" || \
2012-11-06 11:59:09 +04:00
${MACHINE_ARCH} == "x86_64" || \
${MACHINE_ARCH} == "sparc"
2012-10-28 02:36:11 +04:00
SUBDIR+= bpfjit
SUBDIR+= sljit
.endif
.endif
2011-08-09 16:09:55 +04:00
#
# ACPI modules
#
.if ${MACHINE_ARCH} == "i386" || \
${MACHINE_ARCH} == "ia64" || \
${MACHINE_ARCH} == "x86_64"
SUBDIR+= acpiverbose
.endif
2010-10-24 20:31:35 +04:00
.if ${MACHINE_ARCH} == "i386" || \
${MACHINE_ARCH} == "x86_64"
SUBDIR+= acpiacad
SUBDIR+= acpibat
SUBDIR+= acpibut
SUBDIR+= acpicpu
SUBDIR+= acpidalb
2011-01-09 18:12:33 +03:00
SUBDIR+= acpifan
SUBDIR+= acpilid
SUBDIR+= acpipmtr
SUBDIR+= acpitz
SUBDIR+= acpivga
2011-08-09 16:16:03 +04:00
SUBDIR+= acpiwdrt
2010-10-24 22:29:33 +04:00
SUBDIR+= acpiwmi
SUBDIR+= aibs
2010-10-26 09:42:51 +04:00
SUBDIR+= asus
SUBDIR+= fujbp
SUBDIR+= fujhk
SUBDIR+= hpacel
2010-10-26 09:42:51 +04:00
SUBDIR+= hpqlb
SUBDIR+= thinkpad
2010-10-24 20:31:35 +04:00
SUBDIR+= wmidell
SUBDIR+= wmieeepc
2010-10-24 20:31:35 +04:00
SUBDIR+= wmihp
SUBDIR+= wmimsi
.endif
.if ${MACHINE_ARCH} == "x86_64"
SUBDIR+= compat_linux32
SUBDIR+= compat_netbsd32
.endif
.if ${MACHINE_ARCH} == "i386"
SUBDIR+= ati_pcigart
SUBDIR+= compat_freebsd
SUBDIR+= compat_ibcs2
SUBDIR+= compat_svr4
SUBDIR+= mach64drm
SUBDIR+= mgadrm
2011-07-16 01:08:48 +04:00
SUBDIR+= nsclpcsio
2011-02-19 17:28:07 +03:00
SUBDIR+= padlock
SUBDIR+= r128drm
SUBDIR+= radeondrm
SUBDIR+= savagedrm
SUBDIR+= sisdrm
SUBDIR+= tdfxdrm
2011-02-24 17:08:51 +03:00
SUBDIR+= viac7temp
SUBDIR+= viadrm
.endif
2014-11-11 00:15:19 +03:00
.if ${MACHINE_ARCH} == "i386" || \
${MACHINE_ARCH} == "x86_64"
SUBDIR+= azalia
SUBDIR+= compat_linux
SUBDIR+= drm
SUBDIR+= drmkms
SUBDIR+= drmkms_linux
SUBDIR+= drmkms_pci
SUBDIR+= i915drm
SUBDIR+= i915drmkms
SUBDIR+= pad
2011-08-09 16:09:55 +04:00
#
# ISA modules
#
SUBDIR+= aps
SUBDIR+= finsio
SUBDIR+= itesio
SUBDIR+= lm
SUBDIR+= lm_isa
SUBDIR+= lm_isa_common
SUBDIR+= lm_wbsio
SUBDIR+= wbsio
.endif
.if ${MACHINE_CPU} == "m68k"
SUBDIR+= compat_aoutm68k
#SUBDIR+= compat_linux
#SUBDIR+= compat_sunos
#SUBDIR+= compat_svr4
.endif
.if ${MACHINE_ARCH} == "i386" || \
${MACHINE_ARCH} == "x86_64" || \
${MACHINE_ARCH} == "sparc64"
SUBDIR+= pwdog
.endif
.include <bsd.own.mk>
#
# NetBSD/usermode support
#
.if ${MACHINE_ARCH} == "i386" || \
${MACHINE_ARCH} == "x86_64"
SUBDIR+= ../arch/usermode/modules/syscallemu
.endif
# we need our device mapper for LVM
.if (${MKLVM} != "no")
2009-03-05 04:29:32 +03:00
SUBDIR+= dm
.endif
.if (${MKDTRACE} != "no")
SUBDIR+= cyclic
SUBDIR+= dtrace
.endif
# we need solaris for the dtrace and zfs modules
.if (${MKDTRACE} != "no" || ${MKZFS} != "no")
SUBDIR+= solaris
.endif
.if (${MKZFS} != "no")
SUBDIR+= zfs
.endif
.if (${MKCOMPATMODULES} != "no")
SUBDIR+= arch
.endif
#
# DTV modules
#
SUBDIR+= dtv
SUBDIR+= dtv_math
.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
# tuners/demods
SUBDIR+= au8522
SUBDIR+= cx24227
SUBDIR+= lg3303
SUBDIR+= mt2131
SUBDIR+= nxt2k
SUBDIR+= tvpll
SUBDIR+= xc3028
SUBDIR+= xc5k
SUBDIR+= zl10353
# hardware drivers
SUBDIR+= auvitek
SUBDIR+= coram
SUBDIR+= cxdtv
SUBDIR+= emdtv
.endif
.if (${MKISCSI} != "no")
SUBDIR+= iscsi
.endif
.include <bsd.subdir.mk>