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