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