Makefile revision 1.198
11.198Schristos#	$NetBSD: Makefile,v 1.198 2018/01/09 03:31:13 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.198SchristosSUBDIR+=	autofs
131.133SpgoyetteSUBDIR+=	blowfish
141.38SpookaSUBDIR+=	bpf
151.166SpgoyetteSUBDIR+=	bpf_filter
161.183SpgoyetteSUBDIR+=	bufq_disksort
171.183SpgoyetteSUBDIR+=	bufq_fcfs
181.183SpgoyetteSUBDIR+=	bufq_priocscan
191.183SpgoyetteSUBDIR+=	bufq_readprio
201.133SpgoyetteSUBDIR+=	camellia
211.133SpgoyetteSUBDIR+=	cast128
221.132SpgoyetteSUBDIR+=	ccd
231.7SrumbleSUBDIR+=	cd9660
241.129SpgoyetteSUBDIR+=	cgd
251.132SpgoyetteSUBDIR+=	chfs
261.163SpgoyetteSUBDIR+=	clockctl
271.134SpgoyetteSUBDIR+=	crypto
281.7SrumbleSUBDIR+=	coda
291.7SrumbleSUBDIR+=	coda5
301.15SadSUBDIR+=	compat
311.15SadSUBDIR+=	compat_ossaudio
321.15SadSUBDIR+=	coredump
331.104SpgoyetteSUBDIR+=	dbcool
341.133SpgoyetteSUBDIR+=	des
351.129SpgoyetteSUBDIR+=	dk_subr
361.164SpgoyetteSUBDIR+=	drvctl
371.7SrumbleSUBDIR+=	efs
381.7SrumbleSUBDIR+=	ext2fs
391.15SadSUBDIR+=	exec_script
401.7SrumbleSUBDIR+=	fdesc
411.7SrumbleSUBDIR+=	ffs
421.18SadSUBDIR+=	filecore
431.93SsjgSUBDIR+=	filemon
441.68SahokaSUBDIR+=	flash
451.15SadSUBDIR+=	fss
461.89SmbalmerSUBDIR+=	gpio
471.94SmbalmerSUBDIR+=	gpioiic
481.92SmbalmerSUBDIR+=	gpioow
491.89SmbalmerSUBDIR+=	gpiosim
501.7SrumbleSUBDIR+=	hfs
511.136SkardelSUBDIR+=	hythygtemp
521.197SchristosSUBDIR+=	si70xxtemp
531.197SchristosSUBDIR+=	am2315temp
541.143SjmcneillSUBDIR+=	i2cexec
551.166SpgoyetteSUBDIR+=	i2c_bitbang
561.175SchristosSUBDIR+=	if_agr
571.105SpgoyetteSUBDIR+=	if_axe
581.120SnonakaSUBDIR+=	if_axen
591.175SchristosSUBDIR+=	if_faith
601.175SchristosSUBDIR+=	if_gif
611.175SchristosSUBDIR+=	if_gre
621.189SknakaharSUBDIR+=	if_l2tp
631.175SchristosSUBDIR+=	if_loop
641.175SchristosSUBDIR+=	if_mpls
651.118SchristosSUBDIR+=	if_npflog
661.171SchristosSUBDIR+=	if_ppp
671.174SpgoyetteSUBDIR+=	if_pppoe
681.172SchristosSUBDIR+=	if_sl
691.124SskrllSUBDIR+=	if_smsc
701.175SchristosSUBDIR+=	if_srt
711.175SchristosSUBDIR+=	if_stf
721.172SchristosSUBDIR+=	if_strip
731.176SpgoyetteSUBDIR+=	if_tun tun
741.175SchristosSUBDIR+=	if_vlan
751.94SmbalmerSUBDIR+=	iic
761.196SpgoyetteSUBDIR+=	ip_ecn
771.167SpgoyetteSUBDIR+=	ipl
781.7SrumbleSUBDIR+=	kernfs
791.22SadSUBDIR+=	layerfs
801.7SrumbleSUBDIR+=	lfs
811.121SmbalmerSUBDIR+=	lua
821.128SlnetoSUBDIR+=	luasystm
831.123SmbalmerSUBDIR+=	luapmf
841.7SrumbleSUBDIR+=	mfs
851.192SpgoyetteSUBDIR+=	midi
861.45SpgoyetteSUBDIR+=	miiverbose
871.45SpgoyetteSUBDIR+=	miniroot
881.31SrmindSUBDIR+=	mqueue
891.18SadSUBDIR+=	msdos
901.68SahokaSUBDIR+=	nand
911.68SahokaSUBDIR+=	nandemulator
921.15SadSUBDIR+=	nfs
931.15SadSUBDIR+=	nfsserver
941.30SreinoudSUBDIR+=	nilfs
951.96StronSUBDIR+=	npf
961.97StronSUBDIR+=	npf_alg_icmp
971.111SrmindSUBDIR+=	npf_ext_log
981.119SchristosSUBDIR+=	npf_ext_normalize
991.117SrmindSUBDIR+=	npf_ext_rndblock
1001.7SrumbleSUBDIR+=	ntfs
1011.18SadSUBDIR+=	null
1021.92SmbalmerSUBDIR+=	onewire
1031.134SpgoyetteSUBDIR+=	opencrypto
1041.7SrumbleSUBDIR+=	overlay
1051.42SpgoyetteSUBDIR+=	pciverbose
1061.41SahokaSUBDIR+=	pf
1071.19ScubeSUBDIR+=	ppp_bsdcomp
1081.19ScubeSUBDIR+=	ppp_deflate
1091.7SrumbleSUBDIR+=	procfs
1101.182SpgoyetteSUBDIR+=	ptrace
1111.182SpgoyetteSUBDIR+=	ptrace_common
1121.7SrumbleSUBDIR+=	ptyfs
1131.7SrumbleSUBDIR+=	puffs
1141.15SadSUBDIR+=	putter
1151.165SpgoyetteSUBDIR+=	raid
1161.44SpgoyetteSUBDIR+=	scsiverbose
1171.103SpgoyetteSUBDIR+=	sdtemp
1181.33SeladSUBDIR+=	secmodel_bsd44
1191.100SjymSUBDIR+=	secmodel_extensions
1201.33SeladSUBDIR+=	secmodel_overlay
1211.33SeladSUBDIR+=	securelevel
1221.192SpgoyetteSUBDIR+=	sequencer
1231.133SpgoyetteSUBDIR+=	skipjack
1241.168SpgoyetteSUBDIR+=	slcompress
1251.7SrumbleSUBDIR+=	smbfs
1261.81SpgoyetteSUBDIR+=	spdmem
1271.188SpgoyetteSUBDIR+=	spkr
1281.173SpgoyetteSUBDIR+=	sppp_subr
1291.146SpgoyetteSUBDIR+=	sysmon
1301.146SpgoyetteSUBDIR+=	sysmon_envsys
1311.146SpgoyetteSUBDIR+=	sysmon_power
1321.146SpgoyetteSUBDIR+=	sysmon_taskq
1331.146SpgoyetteSUBDIR+=	sysmon_wdog
1341.24SpookaSUBDIR+=	sysvbfs
1351.153SpgoyetteSUBDIR+=	sysv_ipc
1361.33SeladSUBDIR+=	suser
1371.134SpgoyetteSUBDIR+=	swcrypto
1381.48SpgoyetteSUBDIR+=	swsensor
1391.145SpgoyetteSUBDIR+=	swwdog
1401.7SrumbleSUBDIR+=	tmpfs
1411.191SriastradSUBDIR+=	ualea
1421.108SriastradSUBDIR+=	uatp
1431.7SrumbleSUBDIR+=	udf
1441.18SadSUBDIR+=	umap
1451.7SrumbleSUBDIR+=	union
1461.43SpgoyetteSUBDIR+=	usbverbose
1471.106SchristosSUBDIR+=	vcoda
1481.78SenamiSUBDIR+=	v7fs
1491.25ShaadSUBDIR+=	vnd
1501.157SpgoyetteSUBDIR+=	wapbl
1511.193SpgoyetteSUBDIR+=	wsbell
1521.131SpgoyetteSUBDIR+=	zlib
1531.29SyamtSUBDIR+=	tprof
1541.7Srumble.if (defined(NOTYET))
1551.135SpgoyetteSUBDIR+=	hifn		# Builds on architectures with PCI bus
1561.7SrumbleSUBDIR+=	unionfs
1571.7Srumble.endif
1581.37Sdyoung.if ${MKBINUTILS} != "no"
1591.37SdyoungSUBDIR+=	xldscripts
1601.37Sdyoung.endif
1611.7Srumble
1621.15Sad# Machine dependent section
1631.47Stsutsui.if ${MACHINE_ARCH} == "i386" || \
1641.49Stsutsui    ${MACHINE_CPU} == "m68k"
1651.47StsutsuiSUBDIR+=	exec_aout
1661.47Stsutsui.endif
1671.47Stsutsui
1681.169Sscole.if ${MACHINE_ARCH} != "alpha" && \
1691.169Sscole    ${MACHINE_CPU} != "aarch64" && \
1701.169Sscole    ${MACHINE_ARCH} != "ia64"
1711.17SmartinSUBDIR+=	exec_elf32
1721.17Smartin.endif
1731.15Sad
1741.139Smatt.if ${MACHINE_CPU} == "aarch64" || \
1751.139Smatt    ${MACHINE_ARCH} == "alpha" || \
1761.169Sscole    ${MACHINE_ARCH} == "ia64" || \
1771.21Stsutsui    ${MACHINE_ARCH} == "sparc64" || \
1781.21Stsutsui    ${MACHINE_ARCH} == "x86_64"
1791.20SheSUBDIR+=	exec_elf64
1801.20She.endif
1811.20She
1821.29Syamt.if ${MACHINE_ARCH} == "i386" || \
1831.29Syamt    ${MACHINE_ARCH} == "x86_64"
1841.71SjruohoSUBDIR+=	amdtemp
1851.64SjruohoSUBDIR+=	coretemp
1861.65SjruohoSUBDIR+=	est
1871.110SmartinSUBDIR+=	hdafg
1881.110SmartinSUBDIR+=	hdaudio
1891.144SjmcneillSUBDIR+=	hdaudio_pci
1901.141SchristosSUBDIR+=	hdaudioverbose
1911.72SjruohoSUBDIR+=	hpet
1921.69SjruohoSUBDIR+=	odcm
1931.66SjruohoSUBDIR+=	powernow
1941.150SpgoyetteSUBDIR+=	tco
1951.29SyamtSUBDIR+=	tprof_pmi
1961.70SyamtSUBDIR+=	tprof_amdpmi
1971.95SjmcneillSUBDIR+=	vmt
1981.29Syamt.endif
1991.29Syamt
2001.140Sbad.if ${MACHINE_ARCH} == "i386" || \
2011.137Sbad    ${MACHINE_ARCH} == "x86_64"
2021.137SbadSUBDIR+=	ubsec		# Builds on architectures with PCI bus
2031.137Sbad.endif
2041.137Sbad
2051.126Salnsn.if ${MKSLJIT} != "no"
2061.126Salnsn# No modules for arm, mips and powerpc yet.
2071.114Salnsn.if ${MACHINE_ARCH} == "i386" || \
2081.115Salnsn    ${MACHINE_ARCH} == "x86_64" || \
2091.115Salnsn    ${MACHINE_ARCH} == "sparc"
2101.113SalnsnSUBDIR+=	bpfjit
2111.112SalnsnSUBDIR+=	sljit
2121.112Salnsn.endif
2131.126Salnsn.endif
2141.112Salnsn
2151.85Sjruoho#
2161.85Sjruoho# ACPI modules
2171.85Sjruoho#
2181.46Spgoyette.if ${MACHINE_ARCH} == "i386" || \
2191.46Spgoyette    ${MACHINE_ARCH} == "ia64" || \
2201.46Spgoyette    ${MACHINE_ARCH} == "x86_64"
2211.46SpgoyetteSUBDIR+=	acpiverbose
2221.46Spgoyette.endif
2231.46Spgoyette
2241.50Sjmcneill.if ${MACHINE_ARCH} == "i386" || \
2251.50Sjmcneill    ${MACHINE_ARCH} == "x86_64"
2261.52SjruohoSUBDIR+=	acpiacad
2271.52SjruohoSUBDIR+=	acpibat
2281.52SjruohoSUBDIR+=	acpibut
2291.52SjruohoSUBDIR+=	acpicpu
2301.53SjruohoSUBDIR+=	acpidalb
2311.58SjruohoSUBDIR+=	acpifan
2321.52SjruohoSUBDIR+=	acpilid
2331.57SjruohoSUBDIR+=	acpipmtr
2341.53SjruohoSUBDIR+=	acpitz
2351.53SjruohoSUBDIR+=	acpivga
2361.86SjruohoSUBDIR+=	acpiwdrt
2371.51SjmcneillSUBDIR+=	acpiwmi
2381.53SjruohoSUBDIR+=	aibs
2391.54SjruohoSUBDIR+=	asus
2401.63SjruohoSUBDIR+=	fujbp
2411.63SjruohoSUBDIR+=	fujhk
2421.75SjruohoSUBDIR+=	hpacel
2431.54SjruohoSUBDIR+=	hpqlb
2441.52SjruohoSUBDIR+=	thinkpad
2451.50SjmcneillSUBDIR+=	wmidell
2461.83SjruohoSUBDIR+=	wmieeepc
2471.50SjmcneillSUBDIR+=	wmihp
2481.50SjmcneillSUBDIR+=	wmimsi
2491.50Sjmcneill.endif
2501.50Sjmcneill
2511.156Smatt.if ${MACHINE_CPU} == "arm" \
2521.156Smatt    || (!empty(MACHINE_ARCH:Mmips64*) && !defined(BSD_MK_COMPAT_FILE))
2531.151SmattSUBDIR+=	compat_netbsd32
2541.180SskrllSUBDIR+=	compat_netbsd32_mqueue
2551.158SpgoyetteSUBDIR+=	compat_netbsd32_nfssrv
2561.181SskrllSUBDIR+=	compat_netbsd32_ptrace
2571.162SpgoyetteSUBDIR+=	compat_netbsd32_sysvipc
2581.151Smatt.endif
2591.151Smatt
2601.27Sabs.if ${MACHINE_ARCH} == "x86_64"
2611.15SadSUBDIR+=	compat_linux32
2621.15SadSUBDIR+=	compat_netbsd32
2631.180SskrllSUBDIR+=	compat_netbsd32_mqueue
2641.158SpgoyetteSUBDIR+=	compat_netbsd32_nfssrv
2651.181SskrllSUBDIR+=	compat_netbsd32_ptrace
2661.162SpgoyetteSUBDIR+=	compat_netbsd32_sysvipc
2671.15Sad.endif
2681.15Sad
2691.27Sabs.if ${MACHINE_ARCH} == "i386"
2701.90SjmcneillSUBDIR+=	ati_pcigart
2711.15SadSUBDIR+=	compat_freebsd
2721.90SjmcneillSUBDIR+=	mach64drm
2731.90SjmcneillSUBDIR+=	mgadrm
2741.76SjmcneillSUBDIR+=	nsclpcsio
2751.62SjmcneillSUBDIR+=	padlock
2761.90SjmcneillSUBDIR+=	r128drm
2771.90SjmcneillSUBDIR+=	radeondrm
2781.90SjmcneillSUBDIR+=	savagedrm
2791.90SjmcneillSUBDIR+=	sisdrm
2801.90SjmcneillSUBDIR+=	tdfxdrm
2811.67SjruohoSUBDIR+=	viac7temp
2821.90SjmcneillSUBDIR+=	viadrm
2831.149SriastradSUBDIR+=	viadrmums
2841.15Sad.endif
2851.15Sad
2861.142Schristos.if ${MACHINE_ARCH} == "i386" || \
2871.142Schristos    ${MACHINE_ARCH} == "x86_64"
2881.142SchristosSUBDIR+=	azalia
2891.142SchristosSUBDIR+=	compat_linux
2901.142SchristosSUBDIR+=	drm
2911.142SchristosSUBDIR+=	drmkms
2921.142SchristosSUBDIR+=	drmkms_linux
2931.142SchristosSUBDIR+=	drmkms_pci
2941.142SchristosSUBDIR+=	i915drm
2951.142SchristosSUBDIR+=	i915drmkms
2961.142SchristosSUBDIR+=	pad
2971.85Sjruoho#
2981.85Sjruoho# ISA modules
2991.85Sjruoho#
3001.59SjmcneillSUBDIR+=	aps
3011.80SjmcneillSUBDIR+=	finsio
3021.79SjmcneillSUBDIR+=	itesio
3031.101SjakllschSUBDIR+=	lm
3041.101SjakllschSUBDIR+=	lm_isa
3051.101SjakllschSUBDIR+=	lm_isa_common
3061.101SjakllschSUBDIR+=	lm_wbsio
3071.101SjakllschSUBDIR+=	wbsio
3081.56Sjmcneill.endif
3091.56Sjmcneill
3101.49Stsutsui.if ${MACHINE_CPU} == "m68k"
3111.47StsutsuiSUBDIR+=	compat_aoutm68k
3121.47Stsutsui#SUBDIR+=	compat_linux
3131.47Stsutsui#SUBDIR+=	compat_sunos
3141.47Stsutsui#SUBDIR+=	compat_svr4
3151.47Stsutsui.endif
3161.47Stsutsui
3171.88Smbalmer.if ${MACHINE_ARCH} == "i386" || \
3181.88Smbalmer    ${MACHINE_ARCH} == "x86_64" || \
3191.88Smbalmer    ${MACHINE_ARCH} == "sparc64"
3201.88SmbalmerSUBDIR+=	pwdog
3211.88Smbalmer.endif
3221.88Smbalmer
3231.23Sagc.include <bsd.own.mk>
3241.23Sagc
3251.107Sreinoud#
3261.107Sreinoud# NetBSD/usermode support
3271.107Sreinoud#
3281.107Sreinoud.if ${MACHINE_ARCH} == "i386" || \
3291.107Sreinoud    ${MACHINE_ARCH} == "x86_64"
3301.107SreinoudSUBDIR+=	../arch/usermode/modules/syscallemu
3311.107Sreinoud.endif
3321.107Sreinoud
3331.23Sagc# we need our device mapper for LVM
3341.23Sagc.if (${MKLVM} != "no")
3351.28SyamtSUBDIR+= 	dm
3361.23Sagc.endif
3371.23Sagc
3381.39Sdarran.if (${MKDTRACE} != "no")
3391.116SchsSUBDIR+=	cyclic
3401.39SdarranSUBDIR+=	dtrace
3411.39Sdarran.endif
3421.39Sdarran
3431.39Sdarran# we need solaris for the dtrace and zfs modules
3441.39Sdarran.if (${MKDTRACE} != "no" || ${MKZFS} != "no")
3451.39SdarranSUBDIR+=        solaris
3461.39Sdarran.endif
3471.39Sdarran
3481.34Shaad.if (${MKZFS} != "no")
3491.34ShaadSUBDIR+=	zfs
3501.34Shaad.endif
3511.34Shaad
3521.73Smrg.if (${MKCOMPATMODULES} != "no")
3531.73SmrgSUBDIR+=	arch
3541.73Smrg.endif
3551.73Smrg
3561.84Sjmcneill#
3571.84Sjmcneill# DTV modules
3581.84Sjmcneill#
3591.84SjmcneillSUBDIR+=	dtv
3601.84SjmcneillSUBDIR+=	dtv_math
3611.84Sjmcneill.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
3621.84Sjmcneill# tuners/demods
3631.84SjmcneillSUBDIR+=	au8522
3641.84SjmcneillSUBDIR+=	cx24227
3651.84SjmcneillSUBDIR+=	lg3303
3661.84SjmcneillSUBDIR+=	mt2131
3671.84SjmcneillSUBDIR+=	nxt2k
3681.84SjmcneillSUBDIR+=	tvpll
3691.84SjmcneillSUBDIR+=	xc3028
3701.84SjmcneillSUBDIR+=	xc5k
3711.91SjruohoSUBDIR+=	zl10353
3721.84Sjmcneill# hardware drivers
3731.84SjmcneillSUBDIR+=	auvitek
3741.84SjmcneillSUBDIR+=	coram
3751.84SjmcneillSUBDIR+=	cxdtv
3761.84SjmcneillSUBDIR+=	emdtv
3771.84Sjmcneill.endif
3781.84Sjmcneill
3791.98Sriz.if (${MKISCSI} != "no")
3801.98SrizSUBDIR+=	iscsi
3811.98Sriz.endif
3821.98Sriz
3831.179Spgoyette# For now, all of these are disabled, pending resolution of how to deal
3841.179Spgoyette# with attachment-specific modules and bus-specific modules (as opposed
3851.179Spgoyette# to machine- or architecture-specific modules)
3861.179Spgoyette
3871.179Spgoyette.if 0
3881.179SpgoyetteSUBDIR+=	aac
3891.179SpgoyetteSUBDIR+=	amr
3901.179SpgoyetteSUBDIR+=	ataraid
3911.179SpgoyetteSUBDIR+=	cac
3921.179SpgoyetteSUBDIR+=	cac_eisa
3931.179SpgoyetteSUBDIR+=	cac_pci
3941.179SpgoyetteSUBDIR+=	if_vioif
3951.179SpgoyetteSUBDIR+=	ld
3961.179SpgoyetteSUBDIR+=	ld_aac
3971.179SpgoyetteSUBDIR+=	ld_amr
3981.179SpgoyetteSUBDIR+=	ld_ataraid
3991.179SpgoyetteSUBDIR+=	ld_cac
4001.179SpgoyetteSUBDIR+=	ld_icp
4011.179SpgoyetteSUBDIR+=	ld_mlx
4021.179SpgoyetteSUBDIR+=	ld_sdmmc
4031.179SpgoyetteSUBDIR+=	ld_twa
4041.179SpgoyetteSUBDIR+=	ld_twe
4051.179SpgoyetteSUBDIR+=	ld_virtio
4061.179SpgoyetteSUBDIR+=	mlx
4071.179SpgoyetteSUBDIR+=	mlx_eisa
4081.179SpgoyetteSUBDIR+=	mlx_pci
4091.179SpgoyetteSUBDIR+=	ld_nvme
4101.179SpgoyetteSUBDIR+=	nvme
4111.179SpgoyetteSUBDIR+=	twa
4121.179SpgoyetteSUBDIR+=	twe
4131.179SpgoyetteSUBDIR+=	viomb
4141.179SpgoyetteSUBDIR+=	virtio
4151.190SjdolecekSUBDIR+=	vioscsi
4161.179Spgoyette.endif
4171.179Spgoyette
4181.154SpgoyetteSUBDIR+=	examples	# build these regularly to avoid bit-rot
4191.154Spgoyette
4201.1Sad.include <bsd.subdir.mk>
421