Makefile revision 1.197
11.197Schristos#	$NetBSD: Makefile,v 1.197 2017/12/29 02:14:25 christos Exp $
21.37Sdyoung
31.37Sdyoung.include <bsd.own.mk>
41.15Sad
51.15Sad# For all platforms
61.1Sad
71.179SpgoyetteSUBDIR=		accf_dataready
81.16SadSUBDIR+=	accf_httpready
91.15SadSUBDIR+=	adosfs
101.14SadSUBDIR+=	aio
111.192SpgoyetteSUBDIR+=	audio
121.133SpgoyetteSUBDIR+=	blowfish
131.38SpookaSUBDIR+=	bpf
141.166SpgoyetteSUBDIR+=	bpf_filter
151.183SpgoyetteSUBDIR+=	bufq_disksort
161.183SpgoyetteSUBDIR+=	bufq_fcfs
171.183SpgoyetteSUBDIR+=	bufq_priocscan
181.183SpgoyetteSUBDIR+=	bufq_readprio
191.133SpgoyetteSUBDIR+=	camellia
201.133SpgoyetteSUBDIR+=	cast128
211.132SpgoyetteSUBDIR+=	ccd
221.7SrumbleSUBDIR+=	cd9660
231.129SpgoyetteSUBDIR+=	cgd
241.132SpgoyetteSUBDIR+=	chfs
251.163SpgoyetteSUBDIR+=	clockctl
261.134SpgoyetteSUBDIR+=	crypto
271.7SrumbleSUBDIR+=	coda
281.7SrumbleSUBDIR+=	coda5
291.15SadSUBDIR+=	compat
301.15SadSUBDIR+=	compat_ossaudio
311.15SadSUBDIR+=	coredump
321.104SpgoyetteSUBDIR+=	dbcool
331.133SpgoyetteSUBDIR+=	des
341.129SpgoyetteSUBDIR+=	dk_subr
351.164SpgoyetteSUBDIR+=	drvctl
361.7SrumbleSUBDIR+=	efs
371.7SrumbleSUBDIR+=	ext2fs
381.15SadSUBDIR+=	exec_script
391.7SrumbleSUBDIR+=	fdesc
401.7SrumbleSUBDIR+=	ffs
411.18SadSUBDIR+=	filecore
421.93SsjgSUBDIR+=	filemon
431.68SahokaSUBDIR+=	flash
441.15SadSUBDIR+=	fss
451.89SmbalmerSUBDIR+=	gpio
461.94SmbalmerSUBDIR+=	gpioiic
471.92SmbalmerSUBDIR+=	gpioow
481.89SmbalmerSUBDIR+=	gpiosim
491.7SrumbleSUBDIR+=	hfs
501.136SkardelSUBDIR+=	hythygtemp
511.197SchristosSUBDIR+=	si70xxtemp
521.197SchristosSUBDIR+=	am2315temp
531.143SjmcneillSUBDIR+=	i2cexec
541.166SpgoyetteSUBDIR+=	i2c_bitbang
551.175SchristosSUBDIR+=	if_agr
561.105SpgoyetteSUBDIR+=	if_axe
571.120SnonakaSUBDIR+=	if_axen
581.175SchristosSUBDIR+=	if_faith
591.175SchristosSUBDIR+=	if_gif
601.175SchristosSUBDIR+=	if_gre
611.189SknakaharSUBDIR+=	if_l2tp
621.175SchristosSUBDIR+=	if_loop
631.175SchristosSUBDIR+=	if_mpls
641.118SchristosSUBDIR+=	if_npflog
651.171SchristosSUBDIR+=	if_ppp
661.174SpgoyetteSUBDIR+=	if_pppoe
671.172SchristosSUBDIR+=	if_sl
681.124SskrllSUBDIR+=	if_smsc
691.175SchristosSUBDIR+=	if_srt
701.175SchristosSUBDIR+=	if_stf
711.172SchristosSUBDIR+=	if_strip
721.176SpgoyetteSUBDIR+=	if_tun tun
731.175SchristosSUBDIR+=	if_vlan
741.94SmbalmerSUBDIR+=	iic
751.196SpgoyetteSUBDIR+=	ip_ecn
761.167SpgoyetteSUBDIR+=	ipl
771.7SrumbleSUBDIR+=	kernfs
781.22SadSUBDIR+=	layerfs
791.7SrumbleSUBDIR+=	lfs
801.121SmbalmerSUBDIR+=	lua
811.128SlnetoSUBDIR+=	luasystm
821.123SmbalmerSUBDIR+=	luapmf
831.7SrumbleSUBDIR+=	mfs
841.192SpgoyetteSUBDIR+=	midi
851.45SpgoyetteSUBDIR+=	miiverbose
861.45SpgoyetteSUBDIR+=	miniroot
871.31SrmindSUBDIR+=	mqueue
881.18SadSUBDIR+=	msdos
891.68SahokaSUBDIR+=	nand
901.68SahokaSUBDIR+=	nandemulator
911.15SadSUBDIR+=	nfs
921.15SadSUBDIR+=	nfsserver
931.30SreinoudSUBDIR+=	nilfs
941.96StronSUBDIR+=	npf
951.97StronSUBDIR+=	npf_alg_icmp
961.111SrmindSUBDIR+=	npf_ext_log
971.119SchristosSUBDIR+=	npf_ext_normalize
981.117SrmindSUBDIR+=	npf_ext_rndblock
991.7SrumbleSUBDIR+=	ntfs
1001.18SadSUBDIR+=	null
1011.92SmbalmerSUBDIR+=	onewire
1021.134SpgoyetteSUBDIR+=	opencrypto
1031.7SrumbleSUBDIR+=	overlay
1041.42SpgoyetteSUBDIR+=	pciverbose
1051.41SahokaSUBDIR+=	pf
1061.19ScubeSUBDIR+=	ppp_bsdcomp
1071.19ScubeSUBDIR+=	ppp_deflate
1081.7SrumbleSUBDIR+=	procfs
1091.182SpgoyetteSUBDIR+=	ptrace
1101.182SpgoyetteSUBDIR+=	ptrace_common
1111.7SrumbleSUBDIR+=	ptyfs
1121.7SrumbleSUBDIR+=	puffs
1131.15SadSUBDIR+=	putter
1141.165SpgoyetteSUBDIR+=	raid
1151.44SpgoyetteSUBDIR+=	scsiverbose
1161.103SpgoyetteSUBDIR+=	sdtemp
1171.33SeladSUBDIR+=	secmodel_bsd44
1181.100SjymSUBDIR+=	secmodel_extensions
1191.33SeladSUBDIR+=	secmodel_overlay
1201.33SeladSUBDIR+=	securelevel
1211.192SpgoyetteSUBDIR+=	sequencer
1221.133SpgoyetteSUBDIR+=	skipjack
1231.168SpgoyetteSUBDIR+=	slcompress
1241.7SrumbleSUBDIR+=	smbfs
1251.81SpgoyetteSUBDIR+=	spdmem
1261.188SpgoyetteSUBDIR+=	spkr
1271.173SpgoyetteSUBDIR+=	sppp_subr
1281.146SpgoyetteSUBDIR+=	sysmon
1291.146SpgoyetteSUBDIR+=	sysmon_envsys
1301.146SpgoyetteSUBDIR+=	sysmon_power
1311.146SpgoyetteSUBDIR+=	sysmon_taskq
1321.146SpgoyetteSUBDIR+=	sysmon_wdog
1331.24SpookaSUBDIR+=	sysvbfs
1341.153SpgoyetteSUBDIR+=	sysv_ipc
1351.33SeladSUBDIR+=	suser
1361.134SpgoyetteSUBDIR+=	swcrypto
1371.48SpgoyetteSUBDIR+=	swsensor
1381.145SpgoyetteSUBDIR+=	swwdog
1391.7SrumbleSUBDIR+=	tmpfs
1401.191SriastradSUBDIR+=	ualea
1411.108SriastradSUBDIR+=	uatp
1421.7SrumbleSUBDIR+=	udf
1431.18SadSUBDIR+=	umap
1441.7SrumbleSUBDIR+=	union
1451.43SpgoyetteSUBDIR+=	usbverbose
1461.106SchristosSUBDIR+=	vcoda
1471.78SenamiSUBDIR+=	v7fs
1481.25ShaadSUBDIR+=	vnd
1491.157SpgoyetteSUBDIR+=	wapbl
1501.193SpgoyetteSUBDIR+=	wsbell
1511.131SpgoyetteSUBDIR+=	zlib
1521.29SyamtSUBDIR+=	tprof
1531.7Srumble.if (defined(NOTYET))
1541.135SpgoyetteSUBDIR+=	hifn		# Builds on architectures with PCI bus
1551.7SrumbleSUBDIR+=	unionfs
1561.7Srumble.endif
1571.37Sdyoung.if ${MKBINUTILS} != "no"
1581.37SdyoungSUBDIR+=	xldscripts
1591.37Sdyoung.endif
1601.7Srumble
1611.15Sad# Machine dependent section
1621.47Stsutsui.if ${MACHINE_ARCH} == "i386" || \
1631.49Stsutsui    ${MACHINE_CPU} == "m68k"
1641.47StsutsuiSUBDIR+=	exec_aout
1651.47Stsutsui.endif
1661.47Stsutsui
1671.169Sscole.if ${MACHINE_ARCH} != "alpha" && \
1681.169Sscole    ${MACHINE_CPU} != "aarch64" && \
1691.169Sscole    ${MACHINE_ARCH} != "ia64"
1701.17SmartinSUBDIR+=	exec_elf32
1711.17Smartin.endif
1721.15Sad
1731.139Smatt.if ${MACHINE_CPU} == "aarch64" || \
1741.139Smatt    ${MACHINE_ARCH} == "alpha" || \
1751.169Sscole    ${MACHINE_ARCH} == "ia64" || \
1761.21Stsutsui    ${MACHINE_ARCH} == "sparc64" || \
1771.21Stsutsui    ${MACHINE_ARCH} == "x86_64"
1781.20SheSUBDIR+=	exec_elf64
1791.20She.endif
1801.20She
1811.29Syamt.if ${MACHINE_ARCH} == "i386" || \
1821.29Syamt    ${MACHINE_ARCH} == "x86_64"
1831.71SjruohoSUBDIR+=	amdtemp
1841.64SjruohoSUBDIR+=	coretemp
1851.65SjruohoSUBDIR+=	est
1861.110SmartinSUBDIR+=	hdafg
1871.110SmartinSUBDIR+=	hdaudio
1881.144SjmcneillSUBDIR+=	hdaudio_pci
1891.141SchristosSUBDIR+=	hdaudioverbose
1901.72SjruohoSUBDIR+=	hpet
1911.69SjruohoSUBDIR+=	odcm
1921.66SjruohoSUBDIR+=	powernow
1931.150SpgoyetteSUBDIR+=	tco
1941.29SyamtSUBDIR+=	tprof_pmi
1951.70SyamtSUBDIR+=	tprof_amdpmi
1961.95SjmcneillSUBDIR+=	vmt
1971.29Syamt.endif
1981.29Syamt
1991.140Sbad.if ${MACHINE_ARCH} == "i386" || \
2001.137Sbad    ${MACHINE_ARCH} == "x86_64"
2011.137SbadSUBDIR+=	ubsec		# Builds on architectures with PCI bus
2021.137Sbad.endif
2031.137Sbad
2041.126Salnsn.if ${MKSLJIT} != "no"
2051.126Salnsn# No modules for arm, mips and powerpc yet.
2061.114Salnsn.if ${MACHINE_ARCH} == "i386" || \
2071.115Salnsn    ${MACHINE_ARCH} == "x86_64" || \
2081.115Salnsn    ${MACHINE_ARCH} == "sparc"
2091.113SalnsnSUBDIR+=	bpfjit
2101.112SalnsnSUBDIR+=	sljit
2111.112Salnsn.endif
2121.126Salnsn.endif
2131.112Salnsn
2141.85Sjruoho#
2151.85Sjruoho# ACPI modules
2161.85Sjruoho#
2171.46Spgoyette.if ${MACHINE_ARCH} == "i386" || \
2181.46Spgoyette    ${MACHINE_ARCH} == "ia64" || \
2191.46Spgoyette    ${MACHINE_ARCH} == "x86_64"
2201.46SpgoyetteSUBDIR+=	acpiverbose
2211.46Spgoyette.endif
2221.46Spgoyette
2231.50Sjmcneill.if ${MACHINE_ARCH} == "i386" || \
2241.50Sjmcneill    ${MACHINE_ARCH} == "x86_64"
2251.52SjruohoSUBDIR+=	acpiacad
2261.52SjruohoSUBDIR+=	acpibat
2271.52SjruohoSUBDIR+=	acpibut
2281.52SjruohoSUBDIR+=	acpicpu
2291.53SjruohoSUBDIR+=	acpidalb
2301.58SjruohoSUBDIR+=	acpifan
2311.52SjruohoSUBDIR+=	acpilid
2321.57SjruohoSUBDIR+=	acpipmtr
2331.53SjruohoSUBDIR+=	acpitz
2341.53SjruohoSUBDIR+=	acpivga
2351.86SjruohoSUBDIR+=	acpiwdrt
2361.51SjmcneillSUBDIR+=	acpiwmi
2371.53SjruohoSUBDIR+=	aibs
2381.54SjruohoSUBDIR+=	asus
2391.63SjruohoSUBDIR+=	fujbp
2401.63SjruohoSUBDIR+=	fujhk
2411.75SjruohoSUBDIR+=	hpacel
2421.54SjruohoSUBDIR+=	hpqlb
2431.52SjruohoSUBDIR+=	thinkpad
2441.50SjmcneillSUBDIR+=	wmidell
2451.83SjruohoSUBDIR+=	wmieeepc
2461.50SjmcneillSUBDIR+=	wmihp
2471.50SjmcneillSUBDIR+=	wmimsi
2481.50Sjmcneill.endif
2491.50Sjmcneill
2501.156Smatt.if ${MACHINE_CPU} == "arm" \
2511.156Smatt    || (!empty(MACHINE_ARCH:Mmips64*) && !defined(BSD_MK_COMPAT_FILE))
2521.151SmattSUBDIR+=	compat_netbsd32
2531.180SskrllSUBDIR+=	compat_netbsd32_mqueue
2541.158SpgoyetteSUBDIR+=	compat_netbsd32_nfssrv
2551.181SskrllSUBDIR+=	compat_netbsd32_ptrace
2561.162SpgoyetteSUBDIR+=	compat_netbsd32_sysvipc
2571.151Smatt.endif
2581.151Smatt
2591.27Sabs.if ${MACHINE_ARCH} == "x86_64"
2601.15SadSUBDIR+=	compat_linux32
2611.15SadSUBDIR+=	compat_netbsd32
2621.180SskrllSUBDIR+=	compat_netbsd32_mqueue
2631.158SpgoyetteSUBDIR+=	compat_netbsd32_nfssrv
2641.181SskrllSUBDIR+=	compat_netbsd32_ptrace
2651.162SpgoyetteSUBDIR+=	compat_netbsd32_sysvipc
2661.15Sad.endif
2671.15Sad
2681.27Sabs.if ${MACHINE_ARCH} == "i386"
2691.90SjmcneillSUBDIR+=	ati_pcigart
2701.15SadSUBDIR+=	compat_freebsd
2711.90SjmcneillSUBDIR+=	mach64drm
2721.90SjmcneillSUBDIR+=	mgadrm
2731.76SjmcneillSUBDIR+=	nsclpcsio
2741.62SjmcneillSUBDIR+=	padlock
2751.90SjmcneillSUBDIR+=	r128drm
2761.90SjmcneillSUBDIR+=	radeondrm
2771.90SjmcneillSUBDIR+=	savagedrm
2781.90SjmcneillSUBDIR+=	sisdrm
2791.90SjmcneillSUBDIR+=	tdfxdrm
2801.67SjruohoSUBDIR+=	viac7temp
2811.90SjmcneillSUBDIR+=	viadrm
2821.149SriastradSUBDIR+=	viadrmums
2831.15Sad.endif
2841.15Sad
2851.142Schristos.if ${MACHINE_ARCH} == "i386" || \
2861.142Schristos    ${MACHINE_ARCH} == "x86_64"
2871.142SchristosSUBDIR+=	azalia
2881.142SchristosSUBDIR+=	compat_linux
2891.142SchristosSUBDIR+=	drm
2901.142SchristosSUBDIR+=	drmkms
2911.142SchristosSUBDIR+=	drmkms_linux
2921.142SchristosSUBDIR+=	drmkms_pci
2931.142SchristosSUBDIR+=	i915drm
2941.142SchristosSUBDIR+=	i915drmkms
2951.142SchristosSUBDIR+=	pad
2961.85Sjruoho#
2971.85Sjruoho# ISA modules
2981.85Sjruoho#
2991.59SjmcneillSUBDIR+=	aps
3001.80SjmcneillSUBDIR+=	finsio
3011.79SjmcneillSUBDIR+=	itesio
3021.101SjakllschSUBDIR+=	lm
3031.101SjakllschSUBDIR+=	lm_isa
3041.101SjakllschSUBDIR+=	lm_isa_common
3051.101SjakllschSUBDIR+=	lm_wbsio
3061.101SjakllschSUBDIR+=	wbsio
3071.56Sjmcneill.endif
3081.56Sjmcneill
3091.49Stsutsui.if ${MACHINE_CPU} == "m68k"
3101.47StsutsuiSUBDIR+=	compat_aoutm68k
3111.47Stsutsui#SUBDIR+=	compat_linux
3121.47Stsutsui#SUBDIR+=	compat_sunos
3131.47Stsutsui#SUBDIR+=	compat_svr4
3141.47Stsutsui.endif
3151.47Stsutsui
3161.88Smbalmer.if ${MACHINE_ARCH} == "i386" || \
3171.88Smbalmer    ${MACHINE_ARCH} == "x86_64" || \
3181.88Smbalmer    ${MACHINE_ARCH} == "sparc64"
3191.88SmbalmerSUBDIR+=	pwdog
3201.88Smbalmer.endif
3211.88Smbalmer
3221.23Sagc.include <bsd.own.mk>
3231.23Sagc
3241.107Sreinoud#
3251.107Sreinoud# NetBSD/usermode support
3261.107Sreinoud#
3271.107Sreinoud.if ${MACHINE_ARCH} == "i386" || \
3281.107Sreinoud    ${MACHINE_ARCH} == "x86_64"
3291.107SreinoudSUBDIR+=	../arch/usermode/modules/syscallemu
3301.107Sreinoud.endif
3311.107Sreinoud
3321.23Sagc# we need our device mapper for LVM
3331.23Sagc.if (${MKLVM} != "no")
3341.28SyamtSUBDIR+= 	dm
3351.23Sagc.endif
3361.23Sagc
3371.39Sdarran.if (${MKDTRACE} != "no")
3381.116SchsSUBDIR+=	cyclic
3391.39SdarranSUBDIR+=	dtrace
3401.39Sdarran.endif
3411.39Sdarran
3421.39Sdarran# we need solaris for the dtrace and zfs modules
3431.39Sdarran.if (${MKDTRACE} != "no" || ${MKZFS} != "no")
3441.39SdarranSUBDIR+=        solaris
3451.39Sdarran.endif
3461.39Sdarran
3471.34Shaad.if (${MKZFS} != "no")
3481.34ShaadSUBDIR+=	zfs
3491.34Shaad.endif
3501.34Shaad
3511.73Smrg.if (${MKCOMPATMODULES} != "no")
3521.73SmrgSUBDIR+=	arch
3531.73Smrg.endif
3541.73Smrg
3551.84Sjmcneill#
3561.84Sjmcneill# DTV modules
3571.84Sjmcneill#
3581.84SjmcneillSUBDIR+=	dtv
3591.84SjmcneillSUBDIR+=	dtv_math
3601.84Sjmcneill.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
3611.84Sjmcneill# tuners/demods
3621.84SjmcneillSUBDIR+=	au8522
3631.84SjmcneillSUBDIR+=	cx24227
3641.84SjmcneillSUBDIR+=	lg3303
3651.84SjmcneillSUBDIR+=	mt2131
3661.84SjmcneillSUBDIR+=	nxt2k
3671.84SjmcneillSUBDIR+=	tvpll
3681.84SjmcneillSUBDIR+=	xc3028
3691.84SjmcneillSUBDIR+=	xc5k
3701.91SjruohoSUBDIR+=	zl10353
3711.84Sjmcneill# hardware drivers
3721.84SjmcneillSUBDIR+=	auvitek
3731.84SjmcneillSUBDIR+=	coram
3741.84SjmcneillSUBDIR+=	cxdtv
3751.84SjmcneillSUBDIR+=	emdtv
3761.84Sjmcneill.endif
3771.84Sjmcneill
3781.98Sriz.if (${MKISCSI} != "no")
3791.98SrizSUBDIR+=	iscsi
3801.98Sriz.endif
3811.98Sriz
3821.179Spgoyette# For now, all of these are disabled, pending resolution of how to deal
3831.179Spgoyette# with attachment-specific modules and bus-specific modules (as opposed
3841.179Spgoyette# to machine- or architecture-specific modules)
3851.179Spgoyette
3861.179Spgoyette.if 0
3871.179SpgoyetteSUBDIR+=	aac
3881.179SpgoyetteSUBDIR+=	amr
3891.179SpgoyetteSUBDIR+=	ataraid
3901.179SpgoyetteSUBDIR+=	cac
3911.179SpgoyetteSUBDIR+=	cac_eisa
3921.179SpgoyetteSUBDIR+=	cac_pci
3931.179SpgoyetteSUBDIR+=	if_vioif
3941.179SpgoyetteSUBDIR+=	ld
3951.179SpgoyetteSUBDIR+=	ld_aac
3961.179SpgoyetteSUBDIR+=	ld_amr
3971.179SpgoyetteSUBDIR+=	ld_ataraid
3981.179SpgoyetteSUBDIR+=	ld_cac
3991.179SpgoyetteSUBDIR+=	ld_icp
4001.179SpgoyetteSUBDIR+=	ld_mlx
4011.179SpgoyetteSUBDIR+=	ld_sdmmc
4021.179SpgoyetteSUBDIR+=	ld_twa
4031.179SpgoyetteSUBDIR+=	ld_twe
4041.179SpgoyetteSUBDIR+=	ld_virtio
4051.179SpgoyetteSUBDIR+=	mlx
4061.179SpgoyetteSUBDIR+=	mlx_eisa
4071.179SpgoyetteSUBDIR+=	mlx_pci
4081.179SpgoyetteSUBDIR+=	ld_nvme
4091.179SpgoyetteSUBDIR+=	nvme
4101.179SpgoyetteSUBDIR+=	twa
4111.179SpgoyetteSUBDIR+=	twe
4121.179SpgoyetteSUBDIR+=	viomb
4131.179SpgoyetteSUBDIR+=	virtio
4141.190SjdolecekSUBDIR+=	vioscsi
4151.179Spgoyette.endif
4161.179Spgoyette
4171.154SpgoyetteSUBDIR+=	examples	# build these regularly to avoid bit-rot
4181.154Spgoyette
4191.1Sad.include <bsd.subdir.mk>
420