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