xref: /netbsd-src/sys/modules/Makefile (revision fea0c645cdda00b15fa4b5b2998d564bcc75e72f)
1*fea0c645Sbrad#	$NetBSD: Makefile,v 1.295 2025/01/23 19:02:42 brad Exp $
26bcc29eeSdyoung
36bcc29eeSdyoung.include <bsd.own.mk>
492ce8c6aSad
5cec94d4fSmrg.if !make(includes)
692ce8c6aSad# For all platforms
77d1f779aSad
86584ea56Sandvar# Modules for compatibility with earlier versions of NetBSD
9d91f98a8Spgoyette
10d91f98a8SpgoyetteSUBDIR+=	compat_util
11d91f98a8SpgoyetteSUBDIR+=	compat_43   compat_sysctl_09_43
12d91f98a8SpgoyetteSUBDIR+=	compat_09   compat_10   compat_12   compat_13   compat_14
13d91f98a8SpgoyetteSUBDIR+=	compat_16   compat_20   compat_30   compat_40   compat_50
14189762b3SpgoyetteSUBDIR+=	compat_60   compat_70   compat_80   compat_90   compat_100
1567daa9c8Sriastradh
1667daa9c8Sriastradh# Not until 11.0 is released and we need binary compatibility with it
1767daa9c8Sriastradh# in >11.0.
1867daa9c8Sriastradh#SUBDIR+= compat_110
19d91f98a8Spgoyette
20d91f98a8SpgoyetteSUBDIR+=	compat_sysv_10 compat_sysv_14 compat_sysv_50
21d91f98a8Spgoyette
2209a5fcafSpgoyetteSUBDIR+=	compat_50_quota
2309a5fcafSpgoyette
24d91f98a8SpgoyetteSUBDIR+=	compat_raid_50
25d91f98a8SpgoyetteSUBDIR+=	compat_raid_80
26d91f98a8Spgoyette
27d91f98a8SpgoyetteSUBDIR+=	compat_crypto_50
28d91f98a8Spgoyette
29d91f98a8SpgoyetteSUBDIR+=	accf_dataready
30226bc85bSadSUBDIR+=	accf_httpready
31ed4fb1c6SrumbleSUBDIR+=	adosfs
32bb82a354SpgoyetteSUBDIR+=	adiantum
3350bf6d2dSbradSUBDIR+=	aht20temp
3492ce8c6aSadSUBDIR+=	aio
351e50c1dcSpgoyetteSUBDIR+=	audio
36b985414bSchristosSUBDIR+=	autofs
373040777bSchristosSUBDIR+=	blake2s
38f45c6e8aSpgoyetteSUBDIR+=	blowfish
3927d2b45eSpookaSUBDIR+=	bpf
40532241d2SpgoyetteSUBDIR+=	bpf_filter
41068b504fSbradSUBDIR+=	bmx280thp
4250bb9ed1SbradSUBDIR+=	bmx280thpi2c
4386b970f5SpgoyetteSUBDIR+=	bufq_disksort
4486b970f5SpgoyetteSUBDIR+=	bufq_fcfs
4586b970f5SpgoyetteSUBDIR+=	bufq_priocscan
4686b970f5SpgoyetteSUBDIR+=	bufq_readprio
47f45c6e8aSpgoyetteSUBDIR+=	camellia
48f45c6e8aSpgoyetteSUBDIR+=	cast128
491b9d1cabSpgoyetteSUBDIR+=	ccd
5077b8800eSpgoyetteSUBDIR+=	cd9660
51e5a29159SpgoyetteSUBDIR+=	cgd
5277b8800eSpgoyetteSUBDIR+=	chfs
538285eddaSpgoyetteSUBDIR+=	clockctl
54d91f98a8SpgoyetteSUBDIR+=	compat_ossaudio
552dd4f4d9SpgoyetteSUBDIR+=	crypto
56ed4fb1c6SrumbleSUBDIR+=	coda
57ed4fb1c6SrumbleSUBDIR+=	coda5
5892ce8c6aSadSUBDIR+=	coredump
59db696eddSpgoyetteSUBDIR+=	dbcool
60f45c6e8aSpgoyetteSUBDIR+=	des
61e5a29159SpgoyetteSUBDIR+=	dk_subr
6242f5fa5fSpgoyetteSUBDIR+=	drvctl
6393180dafSbradSUBDIR+=	ds2482ow
64*fea0c645SbradSUBDIR+=	ds28e17iic
65ed4fb1c6SrumbleSUBDIR+=	efs
66ed4fb1c6SrumbleSUBDIR+=	ext2fs
6792ce8c6aSadSUBDIR+=	exec_script
68ed4fb1c6SrumbleSUBDIR+=	fdesc
69ed4fb1c6SrumbleSUBDIR+=	ffs
7022a5f6abSadSUBDIR+=	filecore
712b6ee221SahokaSUBDIR+=	flash
7292ce8c6aSadSUBDIR+=	fss
73b50c50a2SmbalmerSUBDIR+=	gpio
74f2b8ed7aSmbalmerSUBDIR+=	gpioiic
752e4cf704SmbalmerSUBDIR+=	gpioow
76b50c50a2SmbalmerSUBDIR+=	gpiosim
77ce735ef0SthorpejSUBDIR+=	gpioirq
78266bca89SthorpejSUBDIR+=	gpiopps
79ed4fb1c6SrumbleSUBDIR+=	hfs
8054c2251dSkardelSUBDIR+=	hythygtemp
818ad407c2SchristosSUBDIR+=	am2315temp
8222ca8619SjmcneillSUBDIR+=	i2cexec
83532241d2SpgoyetteSUBDIR+=	i2c_bitbang
847694d689SpgoyetteSUBDIR+=	i2c_subr
854b4b4456SchristosSUBDIR+=	if_agr
86472957cfSmrgSUBDIR+=	if_aue
87c30f8ca4SpgoyetteSUBDIR+=	if_axe
8887abaea9SnonakaSUBDIR+=	if_axen
89472957cfSmrgSUBDIR+=	if_cdce
90472957cfSmrgSUBDIR+=	if_cue
914b4b4456SchristosSUBDIR+=	if_faith
924b4b4456SchristosSUBDIR+=	if_gif
934b4b4456SchristosSUBDIR+=	if_gre
94472957cfSmrgSUBDIR+=	if_kue
95939a415aSknakaharaSUBDIR+=	if_l2tp
96f0101d0eSyamaguchiSUBDIR+=	if_lagg
974b4b4456SchristosSUBDIR+=	if_loop
984b4b4456SchristosSUBDIR+=	if_mpls
9955938839SrinSUBDIR+=	if_mue
1008d3fa1acSmayaSUBDIR+=	if_ncm
101fbddef57SchristosSUBDIR+=	if_npflog
102e95690b1SchristosSUBDIR+=	if_ppp
1035328fd59SpgoyetteSUBDIR+=	if_pppoe
10491ba062cSpgoyetteSUBDIR+=	if_run
105d5f5d921SchristosSUBDIR+=	if_sl
106e516de1fSskrllSUBDIR+=	if_smsc
107aa885902SpgoyetteSUBDIR+=	if_srt srt
1084b4b4456SchristosSUBDIR+=	if_stf
1099c4fa8bcSpgoyetteSUBDIR+=	if_tap tap
110eb2b2a3eSpgoyetteSUBDIR+=	if_tun tun
1118b3bf7f9SskrllSUBDIR+=	if_udav
112472957cfSmrgSUBDIR+=	if_upl
1133b617907SrinSUBDIR+=	if_ure
114472957cfSmrgSUBDIR+=	if_url
115472957cfSmrgSUBDIR+=	if_urndis
1164b4b4456SchristosSUBDIR+=	if_vlan
117c6695bb3SchristosSUBDIR+=	if_wg
118f2b8ed7aSmbalmerSUBDIR+=	iic
1192dd28fa0SpgoyetteSUBDIR+=	ip_ecn
1200a864b32Srin.if ${MKIPFILTER:Uno} != no
121bc957b58SpgoyetteSUBDIR+=	ipl
1220a864b32Srin.endif
123ed4fb1c6SrumbleSUBDIR+=	kernfs
12449e50a21SadSUBDIR+=	layerfs
125ed4fb1c6SrumbleSUBDIR+=	lfs
12623d8d59aSmbalmerSUBDIR+=	lua
1271c57b8e8SlnetoSUBDIR+=	luasystm
128da861957SmbalmerSUBDIR+=	luapmf
129ed4fb1c6SrumbleSUBDIR+=	mfs
1301e50c1dcSpgoyetteSUBDIR+=	midi
131d2d4d436SpgoyetteSUBDIR+=	midi_seq
132700e1731SpgoyetteSUBDIR+=	miiverbose
133700e1731SpgoyetteSUBDIR+=	miniroot
1347512d1e7SrmindSUBDIR+=	mqueue
13522a5f6abSadSUBDIR+=	msdos
1362b6ee221SahokaSUBDIR+=	nand
1372b6ee221SahokaSUBDIR+=	nandemulator
13892ce8c6aSadSUBDIR+=	nfs
13992ce8c6aSadSUBDIR+=	nfsserver
14069a586f2SreinoudSUBDIR+=	nilfs
141ceee944eStronSUBDIR+=	npf
1422d18c9fbStronSUBDIR+=	npf_alg_icmp
1438c6e21bfSrmindSUBDIR+=	npf_ext_log
1442c132b31SchristosSUBDIR+=	npf_ext_normalize
145333cdb0cSrmindSUBDIR+=	npf_ext_rndblock
146ed4fb1c6SrumbleSUBDIR+=	ntfs
14722a5f6abSadSUBDIR+=	null
1482e4cf704SmbalmerSUBDIR+=	onewire
1492dd4f4d9SpgoyetteSUBDIR+=	opencrypto
150ed4fb1c6SrumbleSUBDIR+=	overlay
151670e7745SkardelSUBDIR+=	owtemp
152aca4a8ffSniaSUBDIR+=	pad
15372a7c70bSpgoyetteSUBDIR+=	pciverbose
154edd6235bSahokaSUBDIR+=	pf
15578c770f7ScubeSUBDIR+=	ppp_bsdcomp
15678c770f7ScubeSUBDIR+=	ppp_deflate
157ed4fb1c6SrumbleSUBDIR+=	procfs
158a60b9909SpgoyetteSUBDIR+=	ptrace
159a60b9909SpgoyetteSUBDIR+=	ptrace_common
160ed4fb1c6SrumbleSUBDIR+=	ptyfs
161ed4fb1c6SrumbleSUBDIR+=	puffs
16292ce8c6aSadSUBDIR+=	putter
163d3bd91aeSpgoyetteSUBDIR+=	raid
164bf53d441SbradSUBDIR+=	scmd
165bf53d441SbradSUBDIR+=	scmdi2c
1669dda5c7fSpgoyetteSUBDIR+=	scsi_subr
1679dda5c7fSpgoyetteSUBDIR+=	scsiverbose
168ca34f38eSpgoyetteSUBDIR+=	sdtemp
16953ca19a3SeladSUBDIR+=	secmodel_bsd44
1709795ba65SjymSUBDIR+=	secmodel_extensions
17153ca19a3SeladSUBDIR+=	secmodel_overlay
17253ca19a3SeladSUBDIR+=	securelevel
1731e50c1dcSpgoyetteSUBDIR+=	sequencer
174bf53d441SbradSUBDIR+=	sgp40mox
175bf53d441SbradSUBDIR+=	sht3xtemp
176bf53d441SbradSUBDIR+=	sht4xtemp
177bf53d441SbradSUBDIR+=	si70xxtemp
178f45c6e8aSpgoyetteSUBDIR+=	skipjack
179042c1d6eSpgoyetteSUBDIR+=	slcompress
180c3df63d8SpgoyetteSUBDIR+=	spdmem
1813d9d9fc2SpgoyetteSUBDIR+=	spkr
182c075b7e4SpgoyetteSUBDIR+=	sppp_subr
18358a78532SpgoyetteSUBDIR+=	sysmon
18458a78532SpgoyetteSUBDIR+=	sysmon_envsys
18558a78532SpgoyetteSUBDIR+=	sysmon_power
18658a78532SpgoyetteSUBDIR+=	sysmon_taskq
18758a78532SpgoyetteSUBDIR+=	sysmon_wdog
188b235dbfcSpookaSUBDIR+=	sysvbfs
1892cba3356SpgoyetteSUBDIR+=	sysv_ipc
19053ca19a3SeladSUBDIR+=	suser
1912dd4f4d9SpgoyetteSUBDIR+=	swcrypto
192adb48c7fSpgoyetteSUBDIR+=	swsensor
193717182a1SpgoyetteSUBDIR+=	swwdog
194ed4fb1c6SrumbleSUBDIR+=	tmpfs
195c2488918SriastradhSUBDIR+=	ualea
1968c754538SriastradhSUBDIR+=	uatp
197ed4fb1c6SrumbleSUBDIR+=	udf
19831dfde78SpgoyetteSUBDIR+=	ufs
19922a5f6abSadSUBDIR+=	umap
200ed4fb1c6SrumbleSUBDIR+=	union
201773ec77dSmrgSUBDIR+=	usbnet
2023f79fb26SpgoyetteSUBDIR+=	usbverbose
203f7b1fda0SchristosSUBDIR+=	vcoda
204b246d08eSenamiSUBDIR+=	v7fs
2057aa7bdd0ShaadSUBDIR+=	vnd
206d00d1cd7SpgoyetteSUBDIR+=	wapbl
207a0a5fffdSpgoyetteSUBDIR+=	wsbell
2081b0023efSpgoyetteSUBDIR+=	zlib
209625056c4SyamtSUBDIR+=	tprof
210ed4fb1c6Srumble.if (defined(NOTYET))
211ed4fb1c6SrumbleSUBDIR+=	unionfs
212ed4fb1c6Srumble.endif
2136bcc29eeSdyoung.if ${MKBINUTILS} != "no"
2146bcc29eeSdyoungSUBDIR+=	xldscripts
2156bcc29eeSdyoung.endif
216ed4fb1c6Srumble
21792ce8c6aSad# Machine dependent section
218621e0536Stsutsui.if ${MACHINE_ARCH} == "i386" || \
2192240ae6fStsutsui    ${MACHINE_CPU} == "m68k"
220621e0536StsutsuiSUBDIR+=	exec_aout
221621e0536Stsutsui.endif
222621e0536Stsutsui
2237ba6ca81Sscole.if ${MACHINE_ARCH} != "alpha" && \
2247ba6ca81Sscole    ${MACHINE_ARCH} != "ia64"
225840e4107SmartinSUBDIR+=	exec_elf32
226840e4107Smartin.endif
22792ce8c6aSad
228547b3a3bSmatt.if ${MACHINE_CPU} == "aarch64" || \
229547b3a3bSmatt    ${MACHINE_ARCH} == "alpha" || \
2307ba6ca81Sscole    ${MACHINE_ARCH} == "ia64" || \
23175b842b8Sskrll    ${MACHINE_ARCH} == "riscv64" || \
2327828361bStsutsui    ${MACHINE_ARCH} == "sparc64" || \
2337828361bStsutsui    ${MACHINE_ARCH} == "x86_64"
234f4b2fe2cSheSUBDIR+=	exec_elf64
235f4b2fe2cShe.endif
236f4b2fe2cShe
237625056c4Syamt.if ${MACHINE_ARCH} == "i386" || \
238625056c4Syamt    ${MACHINE_ARCH} == "x86_64"
2396d112e43SpgoyetteSUBDIR+=	amdsmn
240c6e5cf85SjruohoSUBDIR+=	amdtemp
2416d112e43SpgoyetteSUBDIR+=	amdzentemp
242bd7da44eSjruohoSUBDIR+=	coretemp
24353d3e219SjruohoSUBDIR+=	est
2442b64d8edSmartinSUBDIR+=	hdafg
2452b64d8edSmartinSUBDIR+=	hdaudio
2468a9ff04bSjmcneillSUBDIR+=	hdaudio_pci
247bb66bc12SchristosSUBDIR+=	hdaudioverbose
248ced73275SjruohoSUBDIR+=	hpet
249eee1cd77SpgoyetteSUBDIR+=	ichsmb
250120b4f01SjruohoSUBDIR+=	odcm
251b365a799SjruohoSUBDIR+=	powernow
25290df75aaSpgoyetteSUBDIR+=	tco
253ba9c3305SmaxvSUBDIR+=	tprof_x86
2543dc92541Spho.endif
2553dc92541Spho
2563dc92541Spho.if ${MACHINE_CPU} == "aarch64" || \
2573dc92541Spho    ${MACHINE_ARCH} == "i386" || \
2583dc92541Spho    ${MACHINE_ARCH} == "x86_64"
25971d8676fSjmcneillSUBDIR+=	vmt
260625056c4Syamt.endif
261625056c4Syamt
262c9f4e317Sjmcneill.if ${HAVE_NVMM:Uno} == "yes"
263f3a4baf7SmaxvSUBDIR+=	nvmm
264f3a4baf7Smaxv.endif
265f3a4baf7Smaxv
266b12b7ef3Sskrll# Builds on architectures with PCI bus
267b12b7ef3Sskrll.if \
268fcbc11fbSskrll     ${MACHINE} == "evbarm" || \
269b12b7ef3Sskrll     ${MACHINE_ARCH} == "i386" || \
270f9f5065bSbad     ${MACHINE_ARCH} == "x86_64"
271ba008dc5Sskrll#SUBDIR+=	hifn
272f474b47cSyamaguchiSUBDIR+=	if_iavf
273b12b7ef3SskrllSUBDIR+=	if_ixl
274b12b7ef3SskrllSUBDIR+=	ubsec
275f9f5065bSbad.endif
276f9f5065bSbad
277870a203eSalnsn.if ${MKSLJIT} != "no"
278e8c0d6c6SalnsnSUBDIR+=	bpfjit
279c0135b01SalnsnSUBDIR+=	sljit
280c0135b01Salnsn.endif
281c0135b01Salnsn
28220073051Sjruoho#
28320073051Sjruoho# ACPI modules
28420073051Sjruoho#
2856c40070dSpgoyette.if ${MACHINE_ARCH} == "i386" || \
2866c40070dSpgoyette    ${MACHINE_ARCH} == "ia64" || \
2876c40070dSpgoyette    ${MACHINE_ARCH} == "x86_64"
2886c40070dSpgoyetteSUBDIR+=	acpiverbose
2896c40070dSpgoyette.endif
2906c40070dSpgoyette
291abee62efSjmcneill.if ${MACHINE_ARCH} == "i386" || \
292abee62efSjmcneill    ${MACHINE_ARCH} == "x86_64"
2936f8ac939SjruohoSUBDIR+=	acpiacad
2946f8ac939SjruohoSUBDIR+=	acpibat
2956f8ac939SjruohoSUBDIR+=	acpibut
2966f8ac939SjruohoSUBDIR+=	acpicpu
2974b8430b9SjruohoSUBDIR+=	acpidalb
29837f5de3aSjruohoSUBDIR+=	acpifan
29940cfbdd6SriastradhSUBDIR+=	acpihed
3006f8ac939SjruohoSUBDIR+=	acpilid
301b1ee05a7SjruohoSUBDIR+=	acpipmtr
3024b8430b9SjruohoSUBDIR+=	acpitz
3034b8430b9SjruohoSUBDIR+=	acpivga
304375351f4SriastradhSUBDIR+=	acpivmgenid
305b7ff5db1SjruohoSUBDIR+=	acpiwdrt
306b70feaecSjmcneillSUBDIR+=	acpiwmi
3074b8430b9SjruohoSUBDIR+=	aibs
3084b159fe5SriastradhSUBDIR+=	apei
309e2fa7d00SjruohoSUBDIR+=	asus
310697c18caSjruohoSUBDIR+=	fujbp
311697c18caSjruohoSUBDIR+=	fujhk
312b5dc3d4aSjruohoSUBDIR+=	hpacel
313e2fa7d00SjruohoSUBDIR+=	hpqlb
3146f8ac939SjruohoSUBDIR+=	thinkpad
315abee62efSjmcneillSUBDIR+=	wmidell
3164c658c19SjruohoSUBDIR+=	wmieeepc
317abee62efSjmcneillSUBDIR+=	wmihp
318abee62efSjmcneillSUBDIR+=	wmimsi
319abee62efSjmcneill.endif
320abee62efSjmcneill
321c2961545Smrg.include "${.CURDIR}/../compat/netbsd32/netbsd32.mk"
322c2961545Smrg.if ${COMPAT_USE_NETBSD32} != "no"
323c2961545Smrg
324b3d190b5SmattSUBDIR+=	compat_netbsd32
325d91f98a8SpgoyetteSUBDIR+=	compat_netbsd32_09	compat_netbsd32_12
326d91f98a8SpgoyetteSUBDIR+=	compat_netbsd32_13	compat_netbsd32_16
327d91f98a8SpgoyetteSUBDIR+=	compat_netbsd32_20	compat_netbsd32_30
328d91f98a8SpgoyetteSUBDIR+=	compat_netbsd32_40	compat_netbsd32_50
329d91f98a8SpgoyetteSUBDIR+=	compat_netbsd32_60	compat_netbsd32_80
330189762b3SpgoyetteSUBDIR+=	compat_netbsd32_90	compat_netbsd32_100
331d91f98a8SpgoyetteSUBDIR+=	compat_netbsd32_43
332575be43dSpgoyetteSUBDIR+=	compat_netbsd32_coredump
333816dbf35SpgoyetteSUBDIR+=	compat_netbsd32_mqueue
33401368dbcSskrllSUBDIR+=	compat_netbsd32_nfssrv
335f2ef31cbSskrllSUBDIR+=	compat_netbsd32_ptrace
3364b5fc12dSpgoyetteSUBDIR+=	compat_netbsd32_quota
3374b5fc12dSpgoyetteSUBDIR+=	compat_netbsd32_quota_50
3384b5fc12dSpgoyetteSUBDIR+=	compat_netbsd32_raid
33929e8b0cbSpgoyetteSUBDIR+=	compat_netbsd32_sysvipc
340d91f98a8SpgoyetteSUBDIR+=	compat_netbsd32_sysvipc_10
341d91f98a8SpgoyetteSUBDIR+=	compat_netbsd32_sysvipc_14
342d91f98a8SpgoyetteSUBDIR+=	compat_netbsd32_sysvipc_50
343b3d190b5Smatt
344515e5215Sabs.if ${MACHINE_ARCH} == "x86_64"
34592ce8c6aSadSUBDIR+=	compat_linux32
34692ce8c6aSad.endif
34792ce8c6aSad
348c2961545Smrg.endif
349c2961545Smrg
350515e5215Sabs.if ${MACHINE_ARCH} == "i386"
35197d97173SjmcneillSUBDIR+=	ati_pcigart
35292ce8c6aSadSUBDIR+=	compat_freebsd
35397d97173SjmcneillSUBDIR+=	mach64drm
35497d97173SjmcneillSUBDIR+=	mgadrm
3556f708f8dSjmcneillSUBDIR+=	nsclpcsio
3565b80a0efSjmcneillSUBDIR+=	padlock
35797d97173SjmcneillSUBDIR+=	r128drm
358dd048da8Spgoyette#SUBDIR+=	radeondrm
35997d97173SjmcneillSUBDIR+=	savagedrm
36097d97173SjmcneillSUBDIR+=	sisdrm
36197d97173SjmcneillSUBDIR+=	tdfxdrm
362e61737f2SjruohoSUBDIR+=	viac7temp
36392ce8c6aSad.endif
36492ce8c6aSad
365c08531e6Schristos.if ${MACHINE_ARCH} == "i386" || \
366d5970c6dSriastradh    ${MACHINE_ARCH} == "x86_64" || \
3677b522c96Sriastradh    ${MACHINE_CPU} == "aarch64"
368709f669dSriastradhSUBDIR+=	amdgpu
369709f669dSriastradhSUBDIR+=	drmkms
370709f669dSriastradhSUBDIR+=	drmkms_linux
371709f669dSriastradhSUBDIR+=	drmkms_pci
372709f669dSriastradhSUBDIR+=	drmkms_sched
373709f669dSriastradhSUBDIR+=	drmkms_ttm
374d5970c6dSriastradh.endif
375d5970c6dSriastradh
376d5970c6dSriastradh.if ${MACHINE_ARCH} == "i386" || \
377d5970c6dSriastradh    ${MACHINE_ARCH} == "x86_64"
378d5970c6dSriastradhSUBDIR+=	drm
379d5970c6dSriastradhSUBDIR+=	compat_linux
380d5970c6dSriastradhSUBDIR+=	drmkms_agp
381c08531e6SchristosSUBDIR+=	i915drm
382709f669dSriastradhSUBDIR+=	i915drmkms
3832c4d4878SandvarSUBDIR+=	viadrmums
38420073051Sjruoho#
38520073051Sjruoho# ISA modules
38620073051Sjruoho#
38789497f85SjmcneillSUBDIR+=	aps
3888037f64fSjmcneillSUBDIR+=	finsio
389d09db892SjmcneillSUBDIR+=	itesio
390f4a9de15SjakllschSUBDIR+=	lm
391f4a9de15SjakllschSUBDIR+=	lm_isa
392f4a9de15SjakllschSUBDIR+=	lm_isa_common
393f4a9de15SjakllschSUBDIR+=	lm_wbsio
394f4a9de15SjakllschSUBDIR+=	wbsio
395393a0debSjmcneill.endif
396393a0debSjmcneill
3972c176dfdSryo.if ${MACHINE_CPU} == "aarch64"
3982c176dfdSryoSUBDIR+=	compat_linux
3992f5e5e73SryoSUBDIR+=	compat_linux32
4002c176dfdSryo.endif
4012c176dfdSryo
4022240ae6fStsutsui.if ${MACHINE_CPU} == "m68k"
403621e0536StsutsuiSUBDIR+=	compat_aoutm68k
404621e0536Stsutsui#SUBDIR+=	compat_linux
405621e0536Stsutsui#SUBDIR+=	compat_sunos
406621e0536Stsutsui.endif
407621e0536Stsutsui
4081d8ccccdSmbalmer.if ${MACHINE_ARCH} == "i386" || \
4091d8ccccdSmbalmer    ${MACHINE_ARCH} == "x86_64" || \
4101d8ccccdSmbalmer    ${MACHINE_ARCH} == "sparc64"
4111d8ccccdSmbalmerSUBDIR+=	pwdog
4121d8ccccdSmbalmer.endif
4131d8ccccdSmbalmer
41428712013Sagc.include <bsd.own.mk>
41528712013Sagc
416e6317988Sreinoud#
417e6317988Sreinoud# NetBSD/usermode support
418e6317988Sreinoud#
419e6317988Sreinoud.if ${MACHINE_ARCH} == "i386" || \
420e6317988Sreinoud    ${MACHINE_ARCH} == "x86_64"
421e6317988SreinoudSUBDIR+=	../arch/usermode/modules/syscallemu
422e6317988Sreinoud.endif
423e6317988Sreinoud
42428712013Sagc# we need our device mapper for LVM
42528712013Sagc.if (${MKLVM} != "no")
42628712013SagcSUBDIR+= 	dm
42728712013Sagc.endif
42828712013Sagc
429dea8f231Sdarran.if (${MKDTRACE} != "no")
43011c69f2dSchsSUBDIR+=	cyclic
431dea8f231SdarranSUBDIR+=	dtrace
432dea8f231Sdarran.endif
433dea8f231Sdarran
434c6695bb3SchristosSUBDIR+=        sodium
435c6695bb3Schristos
436dea8f231Sdarran# we need solaris for the dtrace and zfs modules
437dea8f231Sdarran.if (${MKDTRACE} != "no" || ${MKZFS} != "no")
438fbd1c011ShaadSUBDIR+=        solaris
439dea8f231Sdarran.endif
440dea8f231Sdarran
441dea8f231Sdarran.if (${MKZFS} != "no")
442fbd1c011ShaadSUBDIR+=	zfs
443fbd1c011Shaad.endif
444fbd1c011Shaad
445a2c4975dSmrg.if (${MKCOMPATMODULES} != "no")
446a2c4975dSmrgSUBDIR+=	arch
447a2c4975dSmrg.endif
448a2c4975dSmrg
449fb32363eSjmcneill#
450fb32363eSjmcneill# DTV modules
451fb32363eSjmcneill#
452fb32363eSjmcneillSUBDIR+=	dtv
453fb32363eSjmcneillSUBDIR+=	dtv_math
454fb32363eSjmcneill.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
455fb32363eSjmcneill# tuners/demods
456fb32363eSjmcneillSUBDIR+=	au8522
457fb32363eSjmcneillSUBDIR+=	cx24227
458fb32363eSjmcneillSUBDIR+=	lg3303
459fb32363eSjmcneillSUBDIR+=	mt2131
460fb32363eSjmcneillSUBDIR+=	nxt2k
461fb32363eSjmcneillSUBDIR+=	tvpll
462fb32363eSjmcneillSUBDIR+=	xc3028
463fb32363eSjmcneillSUBDIR+=	xc5k
464df2580b9SjruohoSUBDIR+=	zl10353
465fb32363eSjmcneill# hardware drivers
466fb32363eSjmcneillSUBDIR+=	auvitek
467fb32363eSjmcneillSUBDIR+=	coram
468fb32363eSjmcneillSUBDIR+=	cxdtv
469fb32363eSjmcneillSUBDIR+=	emdtv
470e51164acSpgoyette
471e51164acSpgoyette# Intel Integrated Memory Controller and associated SMBus
472e51164acSpgoyette# (Experimental)
473e51164acSpgoyetteSUBDIR+=	imc
474e51164acSpgoyetteSUBDIR+=	imcsmb
475e51164acSpgoyette
476fb32363eSjmcneill.endif
477fb32363eSjmcneill
478262c7a92Sriz.if (${MKISCSI} != "no")
479262c7a92SrizSUBDIR+=	iscsi
480262c7a92Sriz.endif
481262c7a92Sriz
48201b31fcfSpgoyette# For now, all of these are disabled, pending resolution of how to deal
48301b31fcfSpgoyette# with attachment-specific modules and bus-specific modules (as opposed
48401b31fcfSpgoyette# to machine- or architecture-specific modules)
48501b31fcfSpgoyette
48601b31fcfSpgoyette.if 0
48701b31fcfSpgoyetteSUBDIR+=	aac
48801b31fcfSpgoyetteSUBDIR+=	amr
48901b31fcfSpgoyetteSUBDIR+=	ataraid
49001b31fcfSpgoyetteSUBDIR+=	cac
49101b31fcfSpgoyetteSUBDIR+=	cac_eisa
49201b31fcfSpgoyetteSUBDIR+=	cac_pci
4936e81fb1eSmartinSUBDIR+=	emuxki
4945707202bSryoSUBDIR+=	if_aq
49501b31fcfSpgoyetteSUBDIR+=	if_vioif
49635492473SryoSUBDIR+=	if_vmx
49701b31fcfSpgoyetteSUBDIR+=	ld
49801b31fcfSpgoyetteSUBDIR+=	ld_aac
49901b31fcfSpgoyetteSUBDIR+=	ld_amr
50001b31fcfSpgoyetteSUBDIR+=	ld_ataraid
50101b31fcfSpgoyetteSUBDIR+=	ld_cac
50201b31fcfSpgoyetteSUBDIR+=	ld_icp
50301b31fcfSpgoyetteSUBDIR+=	ld_mlx
50401b31fcfSpgoyetteSUBDIR+=	ld_sdmmc
50501b31fcfSpgoyetteSUBDIR+=	ld_twa
50601b31fcfSpgoyetteSUBDIR+=	ld_twe
50701b31fcfSpgoyetteSUBDIR+=	ld_virtio
50801b31fcfSpgoyetteSUBDIR+=	mlx
50901b31fcfSpgoyetteSUBDIR+=	mlx_eisa
51001b31fcfSpgoyetteSUBDIR+=	mlx_pci
51101b31fcfSpgoyetteSUBDIR+=	ld_nvme
51201b31fcfSpgoyetteSUBDIR+=	nvme
51301b31fcfSpgoyetteSUBDIR+=	twa
51401b31fcfSpgoyetteSUBDIR+=	twe
515b2358a54Sozaki-rSUBDIR+=	vio9p
51601b31fcfSpgoyetteSUBDIR+=	viomb
51701b31fcfSpgoyetteSUBDIR+=	virtio
5188e3d4ca6SjakllschSUBDIR+=	virtio_pci
51944a9ce73SjdolecekSUBDIR+=	vioscsi
52001b31fcfSpgoyette.endif
52101b31fcfSpgoyette
522592ac085SpgoyetteSUBDIR+=	examples	# build these regularly to avoid bit-rot
523592ac085Spgoyette
524cec94d4fSmrg.endif
525cec94d4fSmrg
5267d1f779aSad.include <bsd.subdir.mk>
527