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