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