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