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