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