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