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