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