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