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