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