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