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