xref: /netbsd-src/sys/modules/Makefile (revision e670fd5c413e99c2f6a37901bb21c537fcd322d2)
1#	$NetBSD: Makefile,v 1.251 2021/08/09 20:49:10 andvar Exp $
2
3.include <bsd.own.mk>
4
5# For all platforms
6
7# Modules for compatibility with earlier versions of NetBSD
8
9SUBDIR+=	compat_util
10SUBDIR+=	compat_43   compat_sysctl_09_43
11SUBDIR+=	compat_09   compat_10   compat_12   compat_13   compat_14
12SUBDIR+=	compat_16   compat_20   compat_30   compat_40   compat_50
13SUBDIR+=	compat_60   compat_70   compat_80   compat_90
14
15SUBDIR+=	compat_sysv_10 compat_sysv_14 compat_sysv_50
16
17SUBDIR+=	compat_50_quota
18
19SUBDIR+=	compat_raid_50
20SUBDIR+=	compat_raid_80
21
22SUBDIR+=	compat_crypto_50
23
24SUBDIR+=	accf_dataready
25SUBDIR+=	accf_httpready
26SUBDIR+=	adosfs
27SUBDIR+=	aio
28SUBDIR+=	audio
29SUBDIR+=	autofs
30SUBDIR+=	blowfish
31SUBDIR+=	bpf
32SUBDIR+=	bpf_filter
33SUBDIR+=	bufq_disksort
34SUBDIR+=	bufq_fcfs
35SUBDIR+=	bufq_priocscan
36SUBDIR+=	bufq_readprio
37SUBDIR+=	camellia
38SUBDIR+=	cast128
39SUBDIR+=	ccd
40SUBDIR+=	cd9660
41SUBDIR+=	cgd
42SUBDIR+=	chfs
43SUBDIR+=	clockctl
44SUBDIR+=	compat_ossaudio
45SUBDIR+=	crypto
46SUBDIR+=	coda
47SUBDIR+=	coda5
48SUBDIR+=	coredump
49SUBDIR+=	dbcool
50SUBDIR+=	des
51SUBDIR+=	dk_subr
52SUBDIR+=	drvctl
53SUBDIR+=	efs
54SUBDIR+=	ext2fs
55SUBDIR+=	exec_script
56SUBDIR+=	fdesc
57SUBDIR+=	ffs
58SUBDIR+=	filecore
59SUBDIR+=	flash
60SUBDIR+=	fss
61SUBDIR+=	gpio
62SUBDIR+=	gpioiic
63SUBDIR+=	gpioow
64SUBDIR+=	gpiosim
65SUBDIR+=	gpioirq
66SUBDIR+=	gpiopps
67SUBDIR+=	hfs
68SUBDIR+=	hythygtemp
69SUBDIR+=	si70xxtemp
70SUBDIR+=	am2315temp
71SUBDIR+=	i2cexec
72SUBDIR+=	i2c_bitbang
73SUBDIR+=	if_agr
74SUBDIR+=	if_aue
75SUBDIR+=	if_axe
76SUBDIR+=	if_axen
77SUBDIR+=	if_cdce
78SUBDIR+=	if_cue
79SUBDIR+=	if_faith
80SUBDIR+=	if_gif
81SUBDIR+=	if_gre
82SUBDIR+=	if_kue
83SUBDIR+=	if_l2tp
84SUBDIR+=	if_lagg
85SUBDIR+=	if_loop
86SUBDIR+=	if_mpls
87SUBDIR+=	if_mue
88SUBDIR+=	if_npflog
89SUBDIR+=	if_ppp
90SUBDIR+=	if_pppoe
91SUBDIR+=	if_sl
92SUBDIR+=	if_smsc
93SUBDIR+=	if_srt srt
94SUBDIR+=	if_stf
95SUBDIR+=	if_tap tap
96SUBDIR+=	if_tun tun
97SUBDIR+=	if_udav
98SUBDIR+=	if_upl
99SUBDIR+=	if_ure
100SUBDIR+=	if_url
101SUBDIR+=	if_urndis
102SUBDIR+=	if_vlan
103SUBDIR+=	iic
104SUBDIR+=	ip_ecn
105SUBDIR+=	ipl
106SUBDIR+=	kernfs
107SUBDIR+=	layerfs
108SUBDIR+=	lfs
109SUBDIR+=	lua
110SUBDIR+=	luasystm
111SUBDIR+=	luapmf
112SUBDIR+=	mfs
113SUBDIR+=	midi
114SUBDIR+=	miiverbose
115SUBDIR+=	miniroot
116SUBDIR+=	mqueue
117SUBDIR+=	msdos
118SUBDIR+=	nand
119SUBDIR+=	nandemulator
120SUBDIR+=	nfs
121SUBDIR+=	nfsserver
122SUBDIR+=	nilfs
123SUBDIR+=	npf
124SUBDIR+=	npf_alg_icmp
125SUBDIR+=	npf_ext_log
126SUBDIR+=	npf_ext_normalize
127SUBDIR+=	npf_ext_rndblock
128SUBDIR+=	ntfs
129SUBDIR+=	null
130SUBDIR+=	onewire
131SUBDIR+=	opencrypto
132SUBDIR+=	overlay
133SUBDIR+=	pad
134SUBDIR+=	pciverbose
135SUBDIR+=	pf
136SUBDIR+=	ppp_bsdcomp
137SUBDIR+=	ppp_deflate
138SUBDIR+=	procfs
139SUBDIR+=	ptrace
140SUBDIR+=	ptrace_common
141SUBDIR+=	ptyfs
142SUBDIR+=	puffs
143SUBDIR+=	putter
144SUBDIR+=	raid
145SUBDIR+=	scsiverbose
146SUBDIR+=	sdtemp
147SUBDIR+=	secmodel_bsd44
148SUBDIR+=	secmodel_extensions
149SUBDIR+=	secmodel_overlay
150SUBDIR+=	securelevel
151SUBDIR+=	sequencer
152SUBDIR+=	skipjack
153SUBDIR+=	slcompress
154SUBDIR+=	spdmem
155SUBDIR+=	spkr
156SUBDIR+=	sppp_subr
157SUBDIR+=	sysmon
158SUBDIR+=	sysmon_envsys
159SUBDIR+=	sysmon_power
160SUBDIR+=	sysmon_taskq
161SUBDIR+=	sysmon_wdog
162SUBDIR+=	sysvbfs
163SUBDIR+=	sysv_ipc
164SUBDIR+=	suser
165SUBDIR+=	swcrypto
166SUBDIR+=	swsensor
167SUBDIR+=	swwdog
168SUBDIR+=	tmpfs
169SUBDIR+=	ualea
170SUBDIR+=	uatp
171SUBDIR+=	udf
172SUBDIR+=	ufs
173SUBDIR+=	umap
174SUBDIR+=	union
175SUBDIR+=	usbnet
176SUBDIR+=	usbverbose
177SUBDIR+=	vcoda
178SUBDIR+=	v7fs
179SUBDIR+=	vnd
180SUBDIR+=	wapbl
181SUBDIR+=	wsbell
182SUBDIR+=	zlib
183SUBDIR+=	tprof
184.if (defined(NOTYET))
185SUBDIR+=	unionfs
186.endif
187.if ${MKBINUTILS} != "no"
188SUBDIR+=	xldscripts
189.endif
190
191# Machine dependent section
192.if ${MACHINE_ARCH} == "i386" || \
193    ${MACHINE_CPU} == "m68k"
194SUBDIR+=	exec_aout
195.endif
196
197.if ${MACHINE_ARCH} != "alpha" && \
198    ${MACHINE_ARCH} != "ia64"
199SUBDIR+=	exec_elf32
200.endif
201
202.if ${MACHINE_CPU} == "aarch64" || \
203    ${MACHINE_ARCH} == "alpha" || \
204    ${MACHINE_ARCH} == "ia64" || \
205    ${MACHINE_ARCH} == "sparc64" || \
206    ${MACHINE_ARCH} == "x86_64"
207SUBDIR+=	exec_elf64
208.endif
209
210.if ${MACHINE_ARCH} == "i386" || \
211    ${MACHINE_ARCH} == "x86_64"
212SUBDIR+=	amdsmn
213SUBDIR+=	amdtemp
214SUBDIR+=	amdzentemp
215SUBDIR+=	coretemp
216SUBDIR+=	est
217SUBDIR+=	hdafg
218SUBDIR+=	hdaudio
219SUBDIR+=	hdaudio_pci
220SUBDIR+=	hdaudioverbose
221SUBDIR+=	hpet
222SUBDIR+=	ichsmb
223SUBDIR+=	odcm
224SUBDIR+=	powernow
225SUBDIR+=	tco
226SUBDIR+=	tprof_x86
227SUBDIR+=	vmt
228.endif
229
230.if ${HAVE_NVMM:Uno} == "yes"
231SUBDIR+=	nvmm
232.endif
233
234# Builds on architectures with PCI bus
235.if \
236     ${MACHINE} == "evbarm" || \
237     ${MACHINE_ARCH} == "i386" || \
238     ${MACHINE_ARCH} == "x86_64"
239#SUBDIR+=	hifn
240SUBDIR+=	if_iavf
241SUBDIR+=	if_ixl
242SUBDIR+=	ubsec
243.endif
244
245.if ${MKSLJIT} != "no"
246# No modules for 32-bit arm, mips and powerpc yet.
247.if ${MACHINE_ARCH} == "aarch64" || \
248    ${MACHINE_ARCH} == "i386"    || \
249    ${MACHINE_ARCH} == "sparc"   || \
250    ${MACHINE_ARCH} == "x86_64"
251SUBDIR+=	bpfjit
252SUBDIR+=	sljit
253.endif
254.endif
255
256#
257# ACPI modules
258#
259.if ${MACHINE_ARCH} == "i386" || \
260    ${MACHINE_ARCH} == "ia64" || \
261    ${MACHINE_ARCH} == "x86_64"
262SUBDIR+=	acpiverbose
263.endif
264
265.if ${MACHINE_ARCH} == "i386" || \
266    ${MACHINE_ARCH} == "x86_64"
267SUBDIR+=	acpiacad
268SUBDIR+=	acpibat
269SUBDIR+=	acpibut
270SUBDIR+=	acpicpu
271SUBDIR+=	acpidalb
272SUBDIR+=	acpifan
273SUBDIR+=	acpilid
274SUBDIR+=	acpipmtr
275SUBDIR+=	acpitz
276SUBDIR+=	acpivga
277SUBDIR+=	acpiwdrt
278SUBDIR+=	acpiwmi
279SUBDIR+=	aibs
280SUBDIR+=	asus
281SUBDIR+=	fujbp
282SUBDIR+=	fujhk
283SUBDIR+=	hpacel
284SUBDIR+=	hpqlb
285SUBDIR+=	thinkpad
286SUBDIR+=	wmidell
287SUBDIR+=	wmieeepc
288SUBDIR+=	wmihp
289SUBDIR+=	wmimsi
290.endif
291
292.include "${.CURDIR}/../compat/netbsd32/netbsd32.mk"
293.if ${COMPAT_USE_NETBSD32} != "no"
294
295SUBDIR+=	compat_netbsd32
296SUBDIR+=	compat_netbsd32_09	compat_netbsd32_12
297SUBDIR+=	compat_netbsd32_13	compat_netbsd32_16
298SUBDIR+=	compat_netbsd32_20	compat_netbsd32_30
299SUBDIR+=	compat_netbsd32_40	compat_netbsd32_50
300SUBDIR+=	compat_netbsd32_60	compat_netbsd32_80
301SUBDIR+=	compat_netbsd32_90
302SUBDIR+=	compat_netbsd32_43
303SUBDIR+=	compat_netbsd32_coredump
304SUBDIR+=	compat_netbsd32_mqueue
305SUBDIR+=	compat_netbsd32_nfssrv
306SUBDIR+=	compat_netbsd32_ptrace
307SUBDIR+=	compat_netbsd32_quota
308SUBDIR+=	compat_netbsd32_quota_50
309SUBDIR+=	compat_netbsd32_raid
310SUBDIR+=	compat_netbsd32_sysvipc
311SUBDIR+=	compat_netbsd32_sysvipc_10
312SUBDIR+=	compat_netbsd32_sysvipc_14
313SUBDIR+=	compat_netbsd32_sysvipc_50
314
315.if ${MACHINE_ARCH} == "x86_64"
316SUBDIR+=	compat_linux32
317.endif
318
319.endif
320
321.if ${MACHINE_ARCH} == "i386"
322SUBDIR+=	ati_pcigart
323SUBDIR+=	compat_freebsd
324SUBDIR+=	mach64drm
325SUBDIR+=	mgadrm
326SUBDIR+=	nsclpcsio
327SUBDIR+=	padlock
328SUBDIR+=	r128drm
329SUBDIR+=	radeondrm
330SUBDIR+=	savagedrm
331SUBDIR+=	sisdrm
332SUBDIR+=	tdfxdrm
333SUBDIR+=	viac7temp
334SUBDIR+=	viadrmums
335.endif
336
337.if ${MACHINE_ARCH} == "i386" || \
338    ${MACHINE_ARCH} == "x86_64"
339SUBDIR+=	compat_linux
340SUBDIR+=	drm
341SUBDIR+=	drmkms
342SUBDIR+=	drmkms_agp
343SUBDIR+=	drmkms_linux
344SUBDIR+=	drmkms_pci
345SUBDIR+=	i915drm
346SUBDIR+=	i915drmkms
347#
348# ISA modules
349#
350SUBDIR+=	aps
351SUBDIR+=	finsio
352SUBDIR+=	itesio
353SUBDIR+=	lm
354SUBDIR+=	lm_isa
355SUBDIR+=	lm_isa_common
356SUBDIR+=	lm_wbsio
357SUBDIR+=	wbsio
358.endif
359
360.if ${MACHINE_CPU} == "m68k"
361SUBDIR+=	compat_aoutm68k
362#SUBDIR+=	compat_linux
363#SUBDIR+=	compat_sunos
364.endif
365
366.if ${MACHINE_ARCH} == "i386" || \
367    ${MACHINE_ARCH} == "x86_64" || \
368    ${MACHINE_ARCH} == "sparc64"
369SUBDIR+=	pwdog
370.endif
371
372.include <bsd.own.mk>
373
374#
375# NetBSD/usermode support
376#
377.if ${MACHINE_ARCH} == "i386" || \
378    ${MACHINE_ARCH} == "x86_64"
379SUBDIR+=	../arch/usermode/modules/syscallemu
380.endif
381
382# we need our device mapper for LVM
383.if (${MKLVM} != "no")
384SUBDIR+= 	dm
385.endif
386
387.if (${MKDTRACE} != "no")
388SUBDIR+=	cyclic
389SUBDIR+=	dtrace
390.endif
391
392# we need solaris for the dtrace and zfs modules
393.if (${MKDTRACE} != "no" || ${MKZFS} != "no")
394SUBDIR+=        solaris
395.endif
396
397.if (${MKZFS} != "no")
398SUBDIR+=	zfs
399.endif
400
401.if (${MKCOMPATMODULES} != "no")
402SUBDIR+=	arch
403.endif
404
405#
406# DTV modules
407#
408SUBDIR+=	dtv
409SUBDIR+=	dtv_math
410.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
411# tuners/demods
412SUBDIR+=	au8522
413SUBDIR+=	cx24227
414SUBDIR+=	lg3303
415SUBDIR+=	mt2131
416SUBDIR+=	nxt2k
417SUBDIR+=	tvpll
418SUBDIR+=	xc3028
419SUBDIR+=	xc5k
420SUBDIR+=	zl10353
421# hardware drivers
422SUBDIR+=	auvitek
423SUBDIR+=	coram
424SUBDIR+=	cxdtv
425SUBDIR+=	emdtv
426
427# Intel Integrated Memory Controller and associated SMBus
428# (Experimental)
429SUBDIR+=	imc
430SUBDIR+=	imcsmb
431
432.endif
433
434.if (${MKISCSI} != "no")
435SUBDIR+=	iscsi
436.endif
437
438# For now, all of these are disabled, pending resolution of how to deal
439# with attachment-specific modules and bus-specific modules (as opposed
440# to machine- or architecture-specific modules)
441
442.if 0
443SUBDIR+=	aac
444SUBDIR+=	amr
445SUBDIR+=	ataraid
446SUBDIR+=	cac
447SUBDIR+=	cac_eisa
448SUBDIR+=	cac_pci
449SUBDIR+=	if_aq
450SUBDIR+=	if_vioif
451SUBDIR+=	if_vmx
452SUBDIR+=	ld
453SUBDIR+=	ld_aac
454SUBDIR+=	ld_amr
455SUBDIR+=	ld_ataraid
456SUBDIR+=	ld_cac
457SUBDIR+=	ld_icp
458SUBDIR+=	ld_mlx
459SUBDIR+=	ld_sdmmc
460SUBDIR+=	ld_twa
461SUBDIR+=	ld_twe
462SUBDIR+=	ld_virtio
463SUBDIR+=	mlx
464SUBDIR+=	mlx_eisa
465SUBDIR+=	mlx_pci
466SUBDIR+=	ld_nvme
467SUBDIR+=	nvme
468SUBDIR+=	twa
469SUBDIR+=	twe
470SUBDIR+=	vio9p
471SUBDIR+=	viomb
472SUBDIR+=	virtio
473SUBDIR+=	virtio_pci
474SUBDIR+=	vioscsi
475.endif
476
477SUBDIR+=	examples	# build these regularly to avoid bit-rot
478
479.include <bsd.subdir.mk>
480