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