Makefile revision 1.191
10fa2845dSmrg#	$NetBSD: Makefile,v 1.191 2017/04/19 00:01:38 riastradh Exp $
20fa2845dSmrg
30fa2845dSmrg.include <bsd.own.mk>
40fa2845dSmrg
50fa2845dSmrg# For all platforms
60fa2845dSmrg
70fa2845dSmrgSUBDIR=		accf_dataready
80fa2845dSmrgSUBDIR+=	accf_httpready
90fa2845dSmrgSUBDIR+=	adosfs
100fa2845dSmrgSUBDIR+=	aio
110fa2845dSmrgSUBDIR+=	blowfish
120fa2845dSmrgSUBDIR+=	bpf
130fa2845dSmrgSUBDIR+=	bpf_filter
140fa2845dSmrgSUBDIR+=	bufq_disksort
150fa2845dSmrgSUBDIR+=	bufq_fcfs
160fa2845dSmrgSUBDIR+=	bufq_priocscan
170fa2845dSmrgSUBDIR+=	bufq_readprio
180fa2845dSmrgSUBDIR+=	camellia
190fa2845dSmrgSUBDIR+=	cast128
200fa2845dSmrgSUBDIR+=	ccd
210fa2845dSmrgSUBDIR+=	cd9660
220fa2845dSmrgSUBDIR+=	cgd
230fa2845dSmrgSUBDIR+=	chfs
240fa2845dSmrgSUBDIR+=	clockctl
25f66be5ecSmrgSUBDIR+=	crypto
26f66be5ecSmrgSUBDIR+=	coda
27f66be5ecSmrgSUBDIR+=	coda5
28f66be5ecSmrgSUBDIR+=	compat
290fa2845dSmrgSUBDIR+=	compat_ossaudio
300fa2845dSmrgSUBDIR+=	coredump
310fa2845dSmrgSUBDIR+=	dbcool
320fa2845dSmrgSUBDIR+=	des
330fa2845dSmrgSUBDIR+=	dk_subr
340fa2845dSmrgSUBDIR+=	drvctl
350fa2845dSmrgSUBDIR+=	efs
360fa2845dSmrgSUBDIR+=	ext2fs
370fa2845dSmrgSUBDIR+=	exec_script
380fa2845dSmrgSUBDIR+=	fdesc
390fa2845dSmrgSUBDIR+=	ffs
407888fd0eSmrgSUBDIR+=	filecore
417888fd0eSmrgSUBDIR+=	filemon
420fa2845dSmrgSUBDIR+=	flash
430fa2845dSmrgSUBDIR+=	fss
440fa2845dSmrgSUBDIR+=	gpio
450fa2845dSmrgSUBDIR+=	gpioiic
460fa2845dSmrgSUBDIR+=	gpioow
470fa2845dSmrgSUBDIR+=	gpiosim
480fa2845dSmrgSUBDIR+=	hfs
490fa2845dSmrgSUBDIR+=	hythygtemp
500fa2845dSmrgSUBDIR+=	i2cexec
51f66be5ecSmrgSUBDIR+=	i2c_bitbang
520fa2845dSmrgSUBDIR+=	if_agr
530fa2845dSmrgSUBDIR+=	if_axe
540fa2845dSmrgSUBDIR+=	if_axen
550fa2845dSmrgSUBDIR+=	if_faith
560fa2845dSmrgSUBDIR+=	if_gif
570fa2845dSmrgSUBDIR+=	if_gre
580fa2845dSmrgSUBDIR+=	if_l2tp
590fa2845dSmrgSUBDIR+=	if_loop
600fa2845dSmrgSUBDIR+=	if_mpls
61a0d387c7SmrgSUBDIR+=	if_npflog
620fa2845dSmrgSUBDIR+=	if_ppp
630fa2845dSmrgSUBDIR+=	if_pppoe
640fa2845dSmrgSUBDIR+=	if_sl
650fa2845dSmrgSUBDIR+=	if_smsc
660fa2845dSmrgSUBDIR+=	if_srt
670fa2845dSmrgSUBDIR+=	if_stf
680fa2845dSmrgSUBDIR+=	if_strip
690fa2845dSmrgSUBDIR+=	if_tun tun
700fa2845dSmrgSUBDIR+=	if_vlan
710fa2845dSmrgSUBDIR+=	iic
720fa2845dSmrgSUBDIR+=	ipl
730fa2845dSmrgSUBDIR+=	kernfs
74a0d387c7SmrgSUBDIR+=	layerfs
750fa2845dSmrgSUBDIR+=	lfs
760fa2845dSmrgSUBDIR+=	lua
770fa2845dSmrgSUBDIR+=	luasystm
780fa2845dSmrgSUBDIR+=	luapmf
790fa2845dSmrgSUBDIR+=	mfs
800fa2845dSmrgSUBDIR+=	miiverbose
810fa2845dSmrgSUBDIR+=	miniroot
820fa2845dSmrgSUBDIR+=	mqueue
830fa2845dSmrgSUBDIR+=	msdos
840fa2845dSmrgSUBDIR+=	nand
850fa2845dSmrgSUBDIR+=	nandemulator
86f66be5ecSmrgSUBDIR+=	nfs
87f66be5ecSmrgSUBDIR+=	nfsserver
88f66be5ecSmrgSUBDIR+=	nilfs
890fa2845dSmrgSUBDIR+=	npf
90f66be5ecSmrgSUBDIR+=	npf_alg_icmp
91f66be5ecSmrgSUBDIR+=	npf_ext_log
920fa2845dSmrgSUBDIR+=	npf_ext_normalize
930fa2845dSmrgSUBDIR+=	npf_ext_rndblock
940fa2845dSmrgSUBDIR+=	ntfs
950fa2845dSmrgSUBDIR+=	null
960fa2845dSmrgSUBDIR+=	onewire
97f66be5ecSmrgSUBDIR+=	opencrypto
98f66be5ecSmrgSUBDIR+=	overlay
990fa2845dSmrgSUBDIR+=	pciverbose
1000fa2845dSmrgSUBDIR+=	pf
1010fa2845dSmrgSUBDIR+=	ppp_bsdcomp
1020fa2845dSmrgSUBDIR+=	ppp_deflate
1030fa2845dSmrgSUBDIR+=	procfs
1040fa2845dSmrgSUBDIR+=	ptrace
1050fa2845dSmrgSUBDIR+=	ptrace_common
1060fa2845dSmrgSUBDIR+=	ptyfs
1070fa2845dSmrgSUBDIR+=	puffs
1080fa2845dSmrgSUBDIR+=	putter
1090fa2845dSmrgSUBDIR+=	raid
1100fa2845dSmrgSUBDIR+=	scsiverbose
1110fa2845dSmrgSUBDIR+=	sdtemp
1120fa2845dSmrgSUBDIR+=	secmodel_bsd44
1130fa2845dSmrgSUBDIR+=	secmodel_extensions
1140fa2845dSmrgSUBDIR+=	secmodel_overlay
115a0d387c7SmrgSUBDIR+=	securelevel
116a0d387c7SmrgSUBDIR+=	skipjack
117130a8081SmrgSUBDIR+=	slcompress
1180fa2845dSmrgSUBDIR+=	smbfs
119130a8081SmrgSUBDIR+=	spdmem
1200fa2845dSmrgSUBDIR+=	spkr
1210fa2845dSmrgSUBDIR+=	sppp_subr
1220fa2845dSmrgSUBDIR+=	sysmon
1230fa2845dSmrgSUBDIR+=	sysmon_envsys
1240fa2845dSmrgSUBDIR+=	sysmon_power
1250fa2845dSmrgSUBDIR+=	sysmon_taskq
1260fa2845dSmrgSUBDIR+=	sysmon_wdog
1270fa2845dSmrgSUBDIR+=	sysvbfs
1280fa2845dSmrgSUBDIR+=	sysv_ipc
1290fa2845dSmrgSUBDIR+=	suser
1300fa2845dSmrgSUBDIR+=	swcrypto
1310fa2845dSmrgSUBDIR+=	swsensor
1320fa2845dSmrgSUBDIR+=	swwdog
1330fa2845dSmrgSUBDIR+=	tmpfs
1340fa2845dSmrgSUBDIR+=	ualea
1350fa2845dSmrgSUBDIR+=	uatp
1360fa2845dSmrgSUBDIR+=	udf
137130a8081SmrgSUBDIR+=	umap
138130a8081SmrgSUBDIR+=	union
139130a8081SmrgSUBDIR+=	usbverbose
1400fa2845dSmrgSUBDIR+=	vcoda
1410fa2845dSmrgSUBDIR+=	v7fs
1420fa2845dSmrgSUBDIR+=	vnd
1430fa2845dSmrgSUBDIR+=	wapbl
1440fa2845dSmrgSUBDIR+=	zlib
1450fa2845dSmrgSUBDIR+=	tprof
1460fa2845dSmrg.if (defined(NOTYET))
1470fa2845dSmrgSUBDIR+=	hifn		# Builds on architectures with PCI bus
1480fa2845dSmrgSUBDIR+=	unionfs
1490fa2845dSmrg.endif
1500fa2845dSmrg.if ${MKBINUTILS} != "no"
1510fa2845dSmrgSUBDIR+=	xldscripts
1520fa2845dSmrg.endif
1530fa2845dSmrg
1540fa2845dSmrg# Machine dependent section
1550fa2845dSmrg.if ${MACHINE_ARCH} == "i386" || \
1560fa2845dSmrg    ${MACHINE_CPU} == "m68k"
1570fa2845dSmrgSUBDIR+=	exec_aout
1580fa2845dSmrg.endif
159130a8081Smrg
160130a8081Smrg.if ${MACHINE_ARCH} != "alpha" && \
161130a8081Smrg    ${MACHINE_CPU} != "aarch64" && \
162130a8081Smrg    ${MACHINE_ARCH} != "ia64"
163130a8081SmrgSUBDIR+=	exec_elf32
164130a8081Smrg.endif
165130a8081Smrg
1660fa2845dSmrg.if ${MACHINE_CPU} == "aarch64" || \
1670fa2845dSmrg    ${MACHINE_ARCH} == "alpha" || \
1680fa2845dSmrg    ${MACHINE_ARCH} == "ia64" || \
1690fa2845dSmrg    ${MACHINE_ARCH} == "sparc64" || \
1700fa2845dSmrg    ${MACHINE_ARCH} == "x86_64"
1710fa2845dSmrgSUBDIR+=	exec_elf64
1720fa2845dSmrg.endif
1730fa2845dSmrg
1740fa2845dSmrg.if ${MACHINE_ARCH} == "i386" || \
1750fa2845dSmrg    ${MACHINE_ARCH} == "x86_64"
1760fa2845dSmrgSUBDIR+=	amdtemp
1770fa2845dSmrgSUBDIR+=	coretemp
1780fa2845dSmrgSUBDIR+=	est
1790fa2845dSmrgSUBDIR+=	hdafg
1800fa2845dSmrgSUBDIR+=	hdaudio
1810fa2845dSmrgSUBDIR+=	hdaudio_pci
1820fa2845dSmrgSUBDIR+=	hdaudioverbose
1830fa2845dSmrgSUBDIR+=	hpet
184a0d387c7SmrgSUBDIR+=	odcm
1850fa2845dSmrgSUBDIR+=	powernow
1860fa2845dSmrgSUBDIR+=	tco
1870fa2845dSmrgSUBDIR+=	tprof_pmi
1880fa2845dSmrgSUBDIR+=	tprof_amdpmi
1890fa2845dSmrgSUBDIR+=	vmt
1900fa2845dSmrg.endif
1910fa2845dSmrg
1920fa2845dSmrg.if ${MACHINE_ARCH} == "i386" || \
1930fa2845dSmrg    ${MACHINE_ARCH} == "x86_64"
1940fa2845dSmrgSUBDIR+=	ubsec		# Builds on architectures with PCI bus
195.endif
196
197.if ${MKSLJIT} != "no"
198# No modules for arm, mips and powerpc yet.
199.if ${MACHINE_ARCH} == "i386" || \
200    ${MACHINE_ARCH} == "x86_64" || \
201    ${MACHINE_ARCH} == "sparc"
202SUBDIR+=	bpfjit
203SUBDIR+=	sljit
204.endif
205.endif
206
207#
208# ACPI modules
209#
210.if ${MACHINE_ARCH} == "i386" || \
211    ${MACHINE_ARCH} == "ia64" || \
212    ${MACHINE_ARCH} == "x86_64"
213SUBDIR+=	acpiverbose
214.endif
215
216.if ${MACHINE_ARCH} == "i386" || \
217    ${MACHINE_ARCH} == "x86_64"
218SUBDIR+=	acpiacad
219SUBDIR+=	acpibat
220SUBDIR+=	acpibut
221SUBDIR+=	acpicpu
222SUBDIR+=	acpidalb
223SUBDIR+=	acpifan
224SUBDIR+=	acpilid
225SUBDIR+=	acpipmtr
226SUBDIR+=	acpitz
227SUBDIR+=	acpivga
228SUBDIR+=	acpiwdrt
229SUBDIR+=	acpiwmi
230SUBDIR+=	aibs
231SUBDIR+=	asus
232SUBDIR+=	fujbp
233SUBDIR+=	fujhk
234SUBDIR+=	hpacel
235SUBDIR+=	hpqlb
236SUBDIR+=	thinkpad
237SUBDIR+=	wmidell
238SUBDIR+=	wmieeepc
239SUBDIR+=	wmihp
240SUBDIR+=	wmimsi
241.endif
242
243.if ${MACHINE_CPU} == "arm" \
244    || (!empty(MACHINE_ARCH:Mmips64*) && !defined(BSD_MK_COMPAT_FILE))
245SUBDIR+=	compat_netbsd32
246SUBDIR+=	compat_netbsd32_mqueue
247SUBDIR+=	compat_netbsd32_nfssrv
248SUBDIR+=	compat_netbsd32_ptrace
249SUBDIR+=	compat_netbsd32_sysvipc
250.endif
251
252.if ${MACHINE_ARCH} == "x86_64"
253SUBDIR+=	compat_linux32
254SUBDIR+=	compat_netbsd32
255SUBDIR+=	compat_netbsd32_mqueue
256SUBDIR+=	compat_netbsd32_nfssrv
257SUBDIR+=	compat_netbsd32_ptrace
258SUBDIR+=	compat_netbsd32_sysvipc
259.endif
260
261.if ${MACHINE_ARCH} == "i386"
262SUBDIR+=	ati_pcigart
263SUBDIR+=	compat_freebsd
264SUBDIR+=	compat_ibcs2
265SUBDIR+=	compat_svr4
266SUBDIR+=	mach64drm
267SUBDIR+=	mgadrm
268SUBDIR+=	nsclpcsio
269SUBDIR+=	padlock
270SUBDIR+=	r128drm
271SUBDIR+=	radeondrm
272SUBDIR+=	savagedrm
273SUBDIR+=	sisdrm
274SUBDIR+=	tdfxdrm
275SUBDIR+=	viac7temp
276SUBDIR+=	viadrm
277SUBDIR+=	viadrmums
278.endif
279
280.if ${MACHINE_ARCH} == "i386" || \
281    ${MACHINE_ARCH} == "x86_64"
282SUBDIR+=	azalia
283SUBDIR+=	compat_linux
284SUBDIR+=	drm
285SUBDIR+=	drmkms
286SUBDIR+=	drmkms_linux
287SUBDIR+=	drmkms_pci
288SUBDIR+=	i915drm
289SUBDIR+=	i915drmkms
290SUBDIR+=	pad
291#
292# ISA modules
293#
294SUBDIR+=	aps
295SUBDIR+=	finsio
296SUBDIR+=	itesio
297SUBDIR+=	lm
298SUBDIR+=	lm_isa
299SUBDIR+=	lm_isa_common
300SUBDIR+=	lm_wbsio
301SUBDIR+=	wbsio
302.endif
303
304.if ${MACHINE_CPU} == "m68k"
305SUBDIR+=	compat_aoutm68k
306#SUBDIR+=	compat_linux
307#SUBDIR+=	compat_sunos
308#SUBDIR+=	compat_svr4
309.endif
310
311.if ${MACHINE_ARCH} == "i386" || \
312    ${MACHINE_ARCH} == "x86_64" || \
313    ${MACHINE_ARCH} == "sparc64"
314SUBDIR+=	pwdog
315.endif
316
317.include <bsd.own.mk>
318
319#
320# NetBSD/usermode support
321#
322.if ${MACHINE_ARCH} == "i386" || \
323    ${MACHINE_ARCH} == "x86_64"
324SUBDIR+=	../arch/usermode/modules/syscallemu
325.endif
326
327# we need our device mapper for LVM
328.if (${MKLVM} != "no")
329SUBDIR+= 	dm
330.endif
331
332.if (${MKDTRACE} != "no")
333SUBDIR+=	cyclic
334SUBDIR+=	dtrace
335.endif
336
337# we need solaris for the dtrace and zfs modules
338.if (${MKDTRACE} != "no" || ${MKZFS} != "no")
339SUBDIR+=        solaris
340.endif
341
342.if (${MKZFS} != "no")
343SUBDIR+=	zfs
344.endif
345
346.if (${MKCOMPATMODULES} != "no")
347SUBDIR+=	arch
348.endif
349
350#
351# DTV modules
352#
353SUBDIR+=	dtv
354SUBDIR+=	dtv_math
355.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
356# tuners/demods
357SUBDIR+=	au8522
358SUBDIR+=	cx24227
359SUBDIR+=	lg3303
360SUBDIR+=	mt2131
361SUBDIR+=	nxt2k
362SUBDIR+=	tvpll
363SUBDIR+=	xc3028
364SUBDIR+=	xc5k
365SUBDIR+=	zl10353
366# hardware drivers
367SUBDIR+=	auvitek
368SUBDIR+=	coram
369SUBDIR+=	cxdtv
370SUBDIR+=	emdtv
371.endif
372
373.if (${MKISCSI} != "no")
374SUBDIR+=	iscsi
375.endif
376
377# For now, all of these are disabled, pending resolution of how to deal
378# with attachment-specific modules and bus-specific modules (as opposed
379# to machine- or architecture-specific modules)
380
381.if 0
382SUBDIR+=	aac
383SUBDIR+=	amr
384SUBDIR+=	ataraid
385SUBDIR+=	cac
386SUBDIR+=	cac_eisa
387SUBDIR+=	cac_pci
388SUBDIR+=	if_vioif
389SUBDIR+=	ld
390SUBDIR+=	ld_aac
391SUBDIR+=	ld_amr
392SUBDIR+=	ld_ataraid
393SUBDIR+=	ld_cac
394SUBDIR+=	ld_icp
395SUBDIR+=	ld_mlx
396SUBDIR+=	ld_sdmmc
397SUBDIR+=	ld_twa
398SUBDIR+=	ld_twe
399SUBDIR+=	ld_virtio
400SUBDIR+=	mlx
401SUBDIR+=	mlx_eisa
402SUBDIR+=	mlx_pci
403SUBDIR+=	ld_nvme
404SUBDIR+=	nvme
405SUBDIR+=	twa
406SUBDIR+=	twe
407SUBDIR+=	viomb
408SUBDIR+=	virtio
409SUBDIR+=	vioscsi
410.endif
411
412SUBDIR+=	examples	# build these regularly to avoid bit-rot
413
414.include <bsd.subdir.mk>
415