Makefile revision 1.274
1#	$NetBSD: Makefile,v 1.274 2022/12/03 01:04:42 brad 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+=	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+=	pad
142SUBDIR+=	pciverbose
143SUBDIR+=	pf
144SUBDIR+=	ppp_bsdcomp
145SUBDIR+=	ppp_deflate
146SUBDIR+=	procfs
147SUBDIR+=	ptrace
148SUBDIR+=	ptrace_common
149SUBDIR+=	ptyfs
150SUBDIR+=	puffs
151SUBDIR+=	putter
152SUBDIR+=	raid
153SUBDIR+=	scmd
154SUBDIR+=	scmdi2c
155SUBDIR+=	scsi_subr
156SUBDIR+=	scsiverbose
157SUBDIR+=	sdtemp
158SUBDIR+=	secmodel_bsd44
159SUBDIR+=	secmodel_extensions
160SUBDIR+=	secmodel_overlay
161SUBDIR+=	securelevel
162SUBDIR+=	sequencer
163SUBDIR+=	sgp40mox
164SUBDIR+=	sht3xtemp
165SUBDIR+=	sht4xtemp
166SUBDIR+=	si70xxtemp
167SUBDIR+=	skipjack
168SUBDIR+=	slcompress
169SUBDIR+=	spdmem
170SUBDIR+=	spkr
171SUBDIR+=	sppp_subr
172SUBDIR+=	sysmon
173SUBDIR+=	sysmon_envsys
174SUBDIR+=	sysmon_power
175SUBDIR+=	sysmon_taskq
176SUBDIR+=	sysmon_wdog
177SUBDIR+=	sysvbfs
178SUBDIR+=	sysv_ipc
179SUBDIR+=	suser
180SUBDIR+=	swcrypto
181SUBDIR+=	swsensor
182SUBDIR+=	swwdog
183SUBDIR+=	tmpfs
184SUBDIR+=	ualea
185SUBDIR+=	uatp
186SUBDIR+=	udf
187SUBDIR+=	ufs
188SUBDIR+=	umap
189SUBDIR+=	union
190SUBDIR+=	usbnet
191SUBDIR+=	usbverbose
192SUBDIR+=	vcoda
193SUBDIR+=	v7fs
194SUBDIR+=	vnd
195SUBDIR+=	wapbl
196SUBDIR+=	wsbell
197SUBDIR+=	zlib
198SUBDIR+=	tprof
199.if (defined(NOTYET))
200SUBDIR+=	unionfs
201.endif
202.if ${MKBINUTILS} != "no"
203SUBDIR+=	xldscripts
204.endif
205
206# Machine dependent section
207.if ${MACHINE_ARCH} == "i386" || \
208    ${MACHINE_CPU} == "m68k"
209SUBDIR+=	exec_aout
210.endif
211
212.if ${MACHINE_ARCH} != "alpha" && \
213    ${MACHINE_ARCH} != "ia64"
214SUBDIR+=	exec_elf32
215.endif
216
217.if ${MACHINE_CPU} == "aarch64" || \
218    ${MACHINE_ARCH} == "alpha" || \
219    ${MACHINE_ARCH} == "ia64" || \
220    ${MACHINE_ARCH} == "sparc64" || \
221    ${MACHINE_ARCH} == "x86_64"
222SUBDIR+=	exec_elf64
223.endif
224
225.if ${MACHINE_ARCH} == "i386" || \
226    ${MACHINE_ARCH} == "x86_64"
227SUBDIR+=	amdsmn
228SUBDIR+=	amdtemp
229SUBDIR+=	amdzentemp
230SUBDIR+=	coretemp
231SUBDIR+=	est
232SUBDIR+=	hdafg
233SUBDIR+=	hdaudio
234SUBDIR+=	hdaudio_pci
235SUBDIR+=	hdaudioverbose
236SUBDIR+=	hpet
237SUBDIR+=	ichsmb
238SUBDIR+=	odcm
239SUBDIR+=	powernow
240SUBDIR+=	tco
241SUBDIR+=	tprof_x86
242SUBDIR+=	vmt
243.endif
244
245.if ${HAVE_NVMM:Uno} == "yes"
246SUBDIR+=	nvmm
247.endif
248
249# Builds on architectures with PCI bus
250.if \
251     ${MACHINE} == "evbarm" || \
252     ${MACHINE_ARCH} == "i386" || \
253     ${MACHINE_ARCH} == "x86_64"
254#SUBDIR+=	hifn
255SUBDIR+=	if_iavf
256SUBDIR+=	if_ixl
257SUBDIR+=	ubsec
258.endif
259
260.if ${MKSLJIT} != "no"
261# No modules for 32-bit arm, mips and powerpc yet.
262.if ${MACHINE_ARCH} == "aarch64" || \
263    ${MACHINE_ARCH} == "i386"    || \
264    ${MACHINE_ARCH} == "sparc"   || \
265    ${MACHINE_ARCH} == "x86_64"
266SUBDIR+=	bpfjit
267SUBDIR+=	sljit
268.endif
269.endif
270
271#
272# ACPI modules
273#
274.if ${MACHINE_ARCH} == "i386" || \
275    ${MACHINE_ARCH} == "ia64" || \
276    ${MACHINE_ARCH} == "x86_64"
277SUBDIR+=	acpiverbose
278.endif
279
280.if ${MACHINE_ARCH} == "i386" || \
281    ${MACHINE_ARCH} == "x86_64"
282SUBDIR+=	acpiacad
283SUBDIR+=	acpibat
284SUBDIR+=	acpibut
285SUBDIR+=	acpicpu
286SUBDIR+=	acpidalb
287SUBDIR+=	acpifan
288SUBDIR+=	acpilid
289SUBDIR+=	acpipmtr
290SUBDIR+=	acpitz
291SUBDIR+=	acpivga
292SUBDIR+=	acpiwdrt
293SUBDIR+=	acpiwmi
294SUBDIR+=	aibs
295SUBDIR+=	asus
296SUBDIR+=	fujbp
297SUBDIR+=	fujhk
298SUBDIR+=	hpacel
299SUBDIR+=	hpqlb
300SUBDIR+=	thinkpad
301SUBDIR+=	wmidell
302SUBDIR+=	wmieeepc
303SUBDIR+=	wmihp
304SUBDIR+=	wmimsi
305.endif
306
307.include "${.CURDIR}/../compat/netbsd32/netbsd32.mk"
308.if ${COMPAT_USE_NETBSD32} != "no"
309
310SUBDIR+=	compat_netbsd32
311SUBDIR+=	compat_netbsd32_09	compat_netbsd32_12
312SUBDIR+=	compat_netbsd32_13	compat_netbsd32_16
313SUBDIR+=	compat_netbsd32_20	compat_netbsd32_30
314SUBDIR+=	compat_netbsd32_40	compat_netbsd32_50
315SUBDIR+=	compat_netbsd32_60	compat_netbsd32_80
316SUBDIR+=	compat_netbsd32_90
317SUBDIR+=	compat_netbsd32_43
318SUBDIR+=	compat_netbsd32_coredump
319SUBDIR+=	compat_netbsd32_mqueue
320SUBDIR+=	compat_netbsd32_nfssrv
321SUBDIR+=	compat_netbsd32_ptrace
322SUBDIR+=	compat_netbsd32_quota
323SUBDIR+=	compat_netbsd32_quota_50
324SUBDIR+=	compat_netbsd32_raid
325SUBDIR+=	compat_netbsd32_sysvipc
326SUBDIR+=	compat_netbsd32_sysvipc_10
327SUBDIR+=	compat_netbsd32_sysvipc_14
328SUBDIR+=	compat_netbsd32_sysvipc_50
329
330.if ${MACHINE_ARCH} == "x86_64"
331SUBDIR+=	compat_linux32
332.endif
333
334.endif
335
336.if ${MACHINE_ARCH} == "i386"
337SUBDIR+=	ati_pcigart
338SUBDIR+=	compat_freebsd
339SUBDIR+=	mach64drm
340SUBDIR+=	mgadrm
341SUBDIR+=	nsclpcsio
342SUBDIR+=	padlock
343SUBDIR+=	r128drm
344SUBDIR+=	radeondrm
345SUBDIR+=	savagedrm
346SUBDIR+=	sisdrm
347SUBDIR+=	tdfxdrm
348SUBDIR+=	viac7temp
349SUBDIR+=	viadrmums
350.endif
351
352.if ${MACHINE_ARCH} == "i386" || \
353    ${MACHINE_ARCH} == "x86_64"
354SUBDIR+=	amdgpu
355SUBDIR+=	compat_linux
356SUBDIR+=	drm
357SUBDIR+=	drmkms
358SUBDIR+=	drmkms_agp
359SUBDIR+=	drmkms_linux
360SUBDIR+=	drmkms_pci
361SUBDIR+=	drmkms_sched
362SUBDIR+=	drmkms_ttm
363SUBDIR+=	i915drm
364SUBDIR+=	i915drmkms
365#
366# ISA modules
367#
368SUBDIR+=	aps
369SUBDIR+=	finsio
370SUBDIR+=	itesio
371SUBDIR+=	lm
372SUBDIR+=	lm_isa
373SUBDIR+=	lm_isa_common
374SUBDIR+=	lm_wbsio
375SUBDIR+=	wbsio
376.endif
377
378.if ${MACHINE_CPU} == "aarch64"
379SUBDIR+=	compat_linux
380SUBDIR+=	compat_linux32
381.endif
382
383.if ${MACHINE_CPU} == "m68k"
384SUBDIR+=	compat_aoutm68k
385#SUBDIR+=	compat_linux
386#SUBDIR+=	compat_sunos
387.endif
388
389.if ${MACHINE_ARCH} == "i386" || \
390    ${MACHINE_ARCH} == "x86_64" || \
391    ${MACHINE_ARCH} == "sparc64"
392SUBDIR+=	pwdog
393.endif
394
395.include <bsd.own.mk>
396
397#
398# NetBSD/usermode support
399#
400.if ${MACHINE_ARCH} == "i386" || \
401    ${MACHINE_ARCH} == "x86_64"
402SUBDIR+=	../arch/usermode/modules/syscallemu
403.endif
404
405# we need our device mapper for LVM
406.if (${MKLVM} != "no")
407SUBDIR+= 	dm
408.endif
409
410.if (${MKDTRACE} != "no")
411SUBDIR+=	cyclic
412SUBDIR+=	dtrace
413.endif
414
415SUBDIR+=        sodium
416
417# we need solaris for the dtrace and zfs modules
418.if (${MKDTRACE} != "no" || ${MKZFS} != "no")
419SUBDIR+=        solaris
420.endif
421
422.if (${MKZFS} != "no")
423SUBDIR+=	zfs
424.endif
425
426.if (${MKCOMPATMODULES} != "no")
427SUBDIR+=	arch
428.endif
429
430#
431# DTV modules
432#
433SUBDIR+=	dtv
434SUBDIR+=	dtv_math
435.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
436# tuners/demods
437SUBDIR+=	au8522
438SUBDIR+=	cx24227
439SUBDIR+=	lg3303
440SUBDIR+=	mt2131
441SUBDIR+=	nxt2k
442SUBDIR+=	tvpll
443SUBDIR+=	xc3028
444SUBDIR+=	xc5k
445SUBDIR+=	zl10353
446# hardware drivers
447SUBDIR+=	auvitek
448SUBDIR+=	coram
449SUBDIR+=	cxdtv
450SUBDIR+=	emdtv
451
452# Intel Integrated Memory Controller and associated SMBus
453# (Experimental)
454SUBDIR+=	imc
455SUBDIR+=	imcsmb
456
457.endif
458
459.if (${MKISCSI} != "no")
460SUBDIR+=	iscsi
461.endif
462
463# For now, all of these are disabled, pending resolution of how to deal
464# with attachment-specific modules and bus-specific modules (as opposed
465# to machine- or architecture-specific modules)
466
467.if 0
468SUBDIR+=	aac
469SUBDIR+=	amr
470SUBDIR+=	ataraid
471SUBDIR+=	cac
472SUBDIR+=	cac_eisa
473SUBDIR+=	cac_pci
474SUBDIR+=	emuxki
475SUBDIR+=	if_aq
476SUBDIR+=	if_vioif
477SUBDIR+=	if_vmx
478SUBDIR+=	ld
479SUBDIR+=	ld_aac
480SUBDIR+=	ld_amr
481SUBDIR+=	ld_ataraid
482SUBDIR+=	ld_cac
483SUBDIR+=	ld_icp
484SUBDIR+=	ld_mlx
485SUBDIR+=	ld_sdmmc
486SUBDIR+=	ld_twa
487SUBDIR+=	ld_twe
488SUBDIR+=	ld_virtio
489SUBDIR+=	mlx
490SUBDIR+=	mlx_eisa
491SUBDIR+=	mlx_pci
492SUBDIR+=	ld_nvme
493SUBDIR+=	nvme
494SUBDIR+=	twa
495SUBDIR+=	twe
496SUBDIR+=	vio9p
497SUBDIR+=	viomb
498SUBDIR+=	virtio
499SUBDIR+=	virtio_pci
500SUBDIR+=	vioscsi
501.endif
502
503SUBDIR+=	examples	# build these regularly to avoid bit-rot
504
505.include <bsd.subdir.mk>
506