Makefile revision 1.203
11.203Sthorpej#	$NetBSD: Makefile,v 1.203 2018/05/19 14:15:40 thorpej 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.203SthorpejSUBDIR+=	gpioirq
511.7SrumbleSUBDIR+=	hfs
521.136SkardelSUBDIR+=	hythygtemp
531.197SchristosSUBDIR+=	si70xxtemp
541.197SchristosSUBDIR+=	am2315temp
551.143SjmcneillSUBDIR+=	i2cexec
561.166SpgoyetteSUBDIR+=	i2c_bitbang
571.175SchristosSUBDIR+=	if_agr
581.105SpgoyetteSUBDIR+=	if_axe
591.120SnonakaSUBDIR+=	if_axen
601.175SchristosSUBDIR+=	if_faith
611.175SchristosSUBDIR+=	if_gif
621.175SchristosSUBDIR+=	if_gre
631.189SknakaharSUBDIR+=	if_l2tp
641.175SchristosSUBDIR+=	if_loop
651.175SchristosSUBDIR+=	if_mpls
661.118SchristosSUBDIR+=	if_npflog
671.171SchristosSUBDIR+=	if_ppp
681.174SpgoyetteSUBDIR+=	if_pppoe
691.172SchristosSUBDIR+=	if_sl
701.124SskrllSUBDIR+=	if_smsc
711.175SchristosSUBDIR+=	if_srt
721.175SchristosSUBDIR+=	if_stf
731.172SchristosSUBDIR+=	if_strip
741.176SpgoyetteSUBDIR+=	if_tun tun
751.175SchristosSUBDIR+=	if_vlan
761.94SmbalmerSUBDIR+=	iic
771.196SpgoyetteSUBDIR+=	ip_ecn
781.167SpgoyetteSUBDIR+=	ipl
791.7SrumbleSUBDIR+=	kernfs
801.22SadSUBDIR+=	layerfs
811.7SrumbleSUBDIR+=	lfs
821.121SmbalmerSUBDIR+=	lua
831.128SlnetoSUBDIR+=	luasystm
841.123SmbalmerSUBDIR+=	luapmf
851.7SrumbleSUBDIR+=	mfs
861.192SpgoyetteSUBDIR+=	midi
871.45SpgoyetteSUBDIR+=	miiverbose
881.45SpgoyetteSUBDIR+=	miniroot
891.31SrmindSUBDIR+=	mqueue
901.18SadSUBDIR+=	msdos
911.68SahokaSUBDIR+=	nand
921.68SahokaSUBDIR+=	nandemulator
931.15SadSUBDIR+=	nfs
941.15SadSUBDIR+=	nfsserver
951.30SreinoudSUBDIR+=	nilfs
961.96StronSUBDIR+=	npf
971.97StronSUBDIR+=	npf_alg_icmp
981.111SrmindSUBDIR+=	npf_ext_log
991.119SchristosSUBDIR+=	npf_ext_normalize
1001.117SrmindSUBDIR+=	npf_ext_rndblock
1011.7SrumbleSUBDIR+=	ntfs
1021.18SadSUBDIR+=	null
1031.92SmbalmerSUBDIR+=	onewire
1041.134SpgoyetteSUBDIR+=	opencrypto
1051.7SrumbleSUBDIR+=	overlay
1061.42SpgoyetteSUBDIR+=	pciverbose
1071.41SahokaSUBDIR+=	pf
1081.19ScubeSUBDIR+=	ppp_bsdcomp
1091.19ScubeSUBDIR+=	ppp_deflate
1101.7SrumbleSUBDIR+=	procfs
1111.182SpgoyetteSUBDIR+=	ptrace
1121.182SpgoyetteSUBDIR+=	ptrace_common
1131.7SrumbleSUBDIR+=	ptyfs
1141.7SrumbleSUBDIR+=	puffs
1151.15SadSUBDIR+=	putter
1161.165SpgoyetteSUBDIR+=	raid
1171.44SpgoyetteSUBDIR+=	scsiverbose
1181.103SpgoyetteSUBDIR+=	sdtemp
1191.33SeladSUBDIR+=	secmodel_bsd44
1201.100SjymSUBDIR+=	secmodel_extensions
1211.33SeladSUBDIR+=	secmodel_overlay
1221.33SeladSUBDIR+=	securelevel
1231.192SpgoyetteSUBDIR+=	sequencer
1241.133SpgoyetteSUBDIR+=	skipjack
1251.168SpgoyetteSUBDIR+=	slcompress
1261.7SrumbleSUBDIR+=	smbfs
1271.81SpgoyetteSUBDIR+=	spdmem
1281.188SpgoyetteSUBDIR+=	spkr
1291.173SpgoyetteSUBDIR+=	sppp_subr
1301.146SpgoyetteSUBDIR+=	sysmon
1311.146SpgoyetteSUBDIR+=	sysmon_envsys
1321.146SpgoyetteSUBDIR+=	sysmon_power
1331.146SpgoyetteSUBDIR+=	sysmon_taskq
1341.146SpgoyetteSUBDIR+=	sysmon_wdog
1351.24SpookaSUBDIR+=	sysvbfs
1361.153SpgoyetteSUBDIR+=	sysv_ipc
1371.33SeladSUBDIR+=	suser
1381.134SpgoyetteSUBDIR+=	swcrypto
1391.48SpgoyetteSUBDIR+=	swsensor
1401.145SpgoyetteSUBDIR+=	swwdog
1411.7SrumbleSUBDIR+=	tmpfs
1421.191SriastradSUBDIR+=	ualea
1431.108SriastradSUBDIR+=	uatp
1441.7SrumbleSUBDIR+=	udf
1451.18SadSUBDIR+=	umap
1461.7SrumbleSUBDIR+=	union
1471.43SpgoyetteSUBDIR+=	usbverbose
1481.106SchristosSUBDIR+=	vcoda
1491.78SenamiSUBDIR+=	v7fs
1501.25ShaadSUBDIR+=	vnd
1511.157SpgoyetteSUBDIR+=	wapbl
1521.193SpgoyetteSUBDIR+=	wsbell
1531.131SpgoyetteSUBDIR+=	zlib
1541.29SyamtSUBDIR+=	tprof
1551.7Srumble.if (defined(NOTYET))
1561.135SpgoyetteSUBDIR+=	hifn		# Builds on architectures with PCI bus
1571.7SrumbleSUBDIR+=	unionfs
1581.7Srumble.endif
1591.37Sdyoung.if ${MKBINUTILS} != "no"
1601.37SdyoungSUBDIR+=	xldscripts
1611.37Sdyoung.endif
1621.7Srumble
1631.15Sad# Machine dependent section
1641.47Stsutsui.if ${MACHINE_ARCH} == "i386" || \
1651.49Stsutsui    ${MACHINE_CPU} == "m68k"
1661.47StsutsuiSUBDIR+=	exec_aout
1671.47Stsutsui.endif
1681.47Stsutsui
1691.169Sscole.if ${MACHINE_ARCH} != "alpha" && \
1701.169Sscole    ${MACHINE_CPU} != "aarch64" && \
1711.169Sscole    ${MACHINE_ARCH} != "ia64"
1721.17SmartinSUBDIR+=	exec_elf32
1731.17Smartin.endif
1741.15Sad
1751.139Smatt.if ${MACHINE_CPU} == "aarch64" || \
1761.139Smatt    ${MACHINE_ARCH} == "alpha" || \
1771.169Sscole    ${MACHINE_ARCH} == "ia64" || \
1781.21Stsutsui    ${MACHINE_ARCH} == "sparc64" || \
1791.21Stsutsui    ${MACHINE_ARCH} == "x86_64"
1801.20SheSUBDIR+=	exec_elf64
1811.20She.endif
1821.20She
1831.29Syamt.if ${MACHINE_ARCH} == "i386" || \
1841.29Syamt    ${MACHINE_ARCH} == "x86_64"
1851.199SpgoyetteSUBDIR+=	amdsmn
1861.71SjruohoSUBDIR+=	amdtemp
1871.199SpgoyetteSUBDIR+=	amdzentemp
1881.64SjruohoSUBDIR+=	coretemp
1891.65SjruohoSUBDIR+=	est
1901.110SmartinSUBDIR+=	hdafg
1911.110SmartinSUBDIR+=	hdaudio
1921.144SjmcneillSUBDIR+=	hdaudio_pci
1931.141SchristosSUBDIR+=	hdaudioverbose
1941.72SjruohoSUBDIR+=	hpet
1951.202SpgoyetteSUBDIR+=	ichsmb
1961.69SjruohoSUBDIR+=	odcm
1971.66SjruohoSUBDIR+=	powernow
1981.150SpgoyetteSUBDIR+=	tco
1991.29SyamtSUBDIR+=	tprof_pmi
2001.70SyamtSUBDIR+=	tprof_amdpmi
2011.95SjmcneillSUBDIR+=	vmt
2021.29Syamt.endif
2031.29Syamt
2041.140Sbad.if ${MACHINE_ARCH} == "i386" || \
2051.137Sbad    ${MACHINE_ARCH} == "x86_64"
2061.137SbadSUBDIR+=	ubsec		# Builds on architectures with PCI bus
2071.137Sbad.endif
2081.137Sbad
2091.126Salnsn.if ${MKSLJIT} != "no"
2101.126Salnsn# No modules for arm, mips and powerpc yet.
2111.114Salnsn.if ${MACHINE_ARCH} == "i386" || \
2121.115Salnsn    ${MACHINE_ARCH} == "x86_64" || \
2131.115Salnsn    ${MACHINE_ARCH} == "sparc"
2141.113SalnsnSUBDIR+=	bpfjit
2151.112SalnsnSUBDIR+=	sljit
2161.112Salnsn.endif
2171.126Salnsn.endif
2181.112Salnsn
2191.85Sjruoho#
2201.85Sjruoho# ACPI modules
2211.85Sjruoho#
2221.46Spgoyette.if ${MACHINE_ARCH} == "i386" || \
2231.46Spgoyette    ${MACHINE_ARCH} == "ia64" || \
2241.46Spgoyette    ${MACHINE_ARCH} == "x86_64"
2251.46SpgoyetteSUBDIR+=	acpiverbose
2261.46Spgoyette.endif
2271.46Spgoyette
2281.50Sjmcneill.if ${MACHINE_ARCH} == "i386" || \
2291.50Sjmcneill    ${MACHINE_ARCH} == "x86_64"
2301.52SjruohoSUBDIR+=	acpiacad
2311.52SjruohoSUBDIR+=	acpibat
2321.52SjruohoSUBDIR+=	acpibut
2331.52SjruohoSUBDIR+=	acpicpu
2341.53SjruohoSUBDIR+=	acpidalb
2351.58SjruohoSUBDIR+=	acpifan
2361.52SjruohoSUBDIR+=	acpilid
2371.57SjruohoSUBDIR+=	acpipmtr
2381.53SjruohoSUBDIR+=	acpitz
2391.53SjruohoSUBDIR+=	acpivga
2401.86SjruohoSUBDIR+=	acpiwdrt
2411.51SjmcneillSUBDIR+=	acpiwmi
2421.53SjruohoSUBDIR+=	aibs
2431.54SjruohoSUBDIR+=	asus
2441.63SjruohoSUBDIR+=	fujbp
2451.63SjruohoSUBDIR+=	fujhk
2461.75SjruohoSUBDIR+=	hpacel
2471.54SjruohoSUBDIR+=	hpqlb
2481.52SjruohoSUBDIR+=	thinkpad
2491.50SjmcneillSUBDIR+=	wmidell
2501.83SjruohoSUBDIR+=	wmieeepc
2511.50SjmcneillSUBDIR+=	wmihp
2521.50SjmcneillSUBDIR+=	wmimsi
2531.50Sjmcneill.endif
2541.50Sjmcneill
2551.156Smatt.if ${MACHINE_CPU} == "arm" \
2561.156Smatt    || (!empty(MACHINE_ARCH:Mmips64*) && !defined(BSD_MK_COMPAT_FILE))
2571.151SmattSUBDIR+=	compat_netbsd32
2581.180SskrllSUBDIR+=	compat_netbsd32_mqueue
2591.158SpgoyetteSUBDIR+=	compat_netbsd32_nfssrv
2601.181SskrllSUBDIR+=	compat_netbsd32_ptrace
2611.162SpgoyetteSUBDIR+=	compat_netbsd32_sysvipc
2621.151Smatt.endif
2631.151Smatt
2641.27Sabs.if ${MACHINE_ARCH} == "x86_64"
2651.15SadSUBDIR+=	compat_linux32
2661.15SadSUBDIR+=	compat_netbsd32
2671.180SskrllSUBDIR+=	compat_netbsd32_mqueue
2681.158SpgoyetteSUBDIR+=	compat_netbsd32_nfssrv
2691.181SskrllSUBDIR+=	compat_netbsd32_ptrace
2701.162SpgoyetteSUBDIR+=	compat_netbsd32_sysvipc
2711.15Sad.endif
2721.15Sad
2731.27Sabs.if ${MACHINE_ARCH} == "i386"
2741.90SjmcneillSUBDIR+=	ati_pcigart
2751.15SadSUBDIR+=	compat_freebsd
2761.90SjmcneillSUBDIR+=	mach64drm
2771.90SjmcneillSUBDIR+=	mgadrm
2781.76SjmcneillSUBDIR+=	nsclpcsio
2791.62SjmcneillSUBDIR+=	padlock
2801.90SjmcneillSUBDIR+=	r128drm
2811.90SjmcneillSUBDIR+=	radeondrm
2821.90SjmcneillSUBDIR+=	savagedrm
2831.90SjmcneillSUBDIR+=	sisdrm
2841.90SjmcneillSUBDIR+=	tdfxdrm
2851.67SjruohoSUBDIR+=	viac7temp
2861.90SjmcneillSUBDIR+=	viadrm
2871.149SriastradSUBDIR+=	viadrmums
2881.15Sad.endif
2891.15Sad
2901.142Schristos.if ${MACHINE_ARCH} == "i386" || \
2911.142Schristos    ${MACHINE_ARCH} == "x86_64"
2921.142SchristosSUBDIR+=	azalia
2931.142SchristosSUBDIR+=	compat_linux
2941.142SchristosSUBDIR+=	drm
2951.142SchristosSUBDIR+=	drmkms
2961.142SchristosSUBDIR+=	drmkms_linux
2971.142SchristosSUBDIR+=	drmkms_pci
2981.142SchristosSUBDIR+=	i915drm
2991.142SchristosSUBDIR+=	i915drmkms
3001.142SchristosSUBDIR+=	pad
3011.85Sjruoho#
3021.85Sjruoho# ISA modules
3031.85Sjruoho#
3041.59SjmcneillSUBDIR+=	aps
3051.80SjmcneillSUBDIR+=	finsio
3061.79SjmcneillSUBDIR+=	itesio
3071.101SjakllschSUBDIR+=	lm
3081.101SjakllschSUBDIR+=	lm_isa
3091.101SjakllschSUBDIR+=	lm_isa_common
3101.101SjakllschSUBDIR+=	lm_wbsio
3111.101SjakllschSUBDIR+=	wbsio
3121.56Sjmcneill.endif
3131.56Sjmcneill
3141.49Stsutsui.if ${MACHINE_CPU} == "m68k"
3151.47StsutsuiSUBDIR+=	compat_aoutm68k
3161.47Stsutsui#SUBDIR+=	compat_linux
3171.47Stsutsui#SUBDIR+=	compat_sunos
3181.47Stsutsui#SUBDIR+=	compat_svr4
3191.47Stsutsui.endif
3201.47Stsutsui
3211.88Smbalmer.if ${MACHINE_ARCH} == "i386" || \
3221.88Smbalmer    ${MACHINE_ARCH} == "x86_64" || \
3231.88Smbalmer    ${MACHINE_ARCH} == "sparc64"
3241.88SmbalmerSUBDIR+=	pwdog
3251.88Smbalmer.endif
3261.88Smbalmer
3271.23Sagc.include <bsd.own.mk>
3281.23Sagc
3291.107Sreinoud#
3301.107Sreinoud# NetBSD/usermode support
3311.107Sreinoud#
3321.107Sreinoud.if ${MACHINE_ARCH} == "i386" || \
3331.107Sreinoud    ${MACHINE_ARCH} == "x86_64"
3341.107SreinoudSUBDIR+=	../arch/usermode/modules/syscallemu
3351.107Sreinoud.endif
3361.107Sreinoud
3371.23Sagc# we need our device mapper for LVM
3381.23Sagc.if (${MKLVM} != "no")
3391.28SyamtSUBDIR+= 	dm
3401.23Sagc.endif
3411.23Sagc
3421.39Sdarran.if (${MKDTRACE} != "no")
3431.116SchsSUBDIR+=	cyclic
3441.39SdarranSUBDIR+=	dtrace
3451.39Sdarran.endif
3461.39Sdarran
3471.39Sdarran# we need solaris for the dtrace and zfs modules
3481.39Sdarran.if (${MKDTRACE} != "no" || ${MKZFS} != "no")
3491.39SdarranSUBDIR+=        solaris
3501.39Sdarran.endif
3511.39Sdarran
3521.34Shaad.if (${MKZFS} != "no")
3531.34ShaadSUBDIR+=	zfs
3541.34Shaad.endif
3551.34Shaad
3561.73Smrg.if (${MKCOMPATMODULES} != "no")
3571.73SmrgSUBDIR+=	arch
3581.73Smrg.endif
3591.73Smrg
3601.84Sjmcneill#
3611.84Sjmcneill# DTV modules
3621.84Sjmcneill#
3631.84SjmcneillSUBDIR+=	dtv
3641.84SjmcneillSUBDIR+=	dtv_math
3651.84Sjmcneill.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
3661.84Sjmcneill# tuners/demods
3671.84SjmcneillSUBDIR+=	au8522
3681.84SjmcneillSUBDIR+=	cx24227
3691.84SjmcneillSUBDIR+=	lg3303
3701.84SjmcneillSUBDIR+=	mt2131
3711.84SjmcneillSUBDIR+=	nxt2k
3721.84SjmcneillSUBDIR+=	tvpll
3731.84SjmcneillSUBDIR+=	xc3028
3741.84SjmcneillSUBDIR+=	xc5k
3751.91SjruohoSUBDIR+=	zl10353
3761.84Sjmcneill# hardware drivers
3771.84SjmcneillSUBDIR+=	auvitek
3781.84SjmcneillSUBDIR+=	coram
3791.84SjmcneillSUBDIR+=	cxdtv
3801.84SjmcneillSUBDIR+=	emdtv
3811.200Spgoyette
3821.200Spgoyette# Intel Integrated Memory Controller and associated SMBus
3831.200Spgoyette# (Experimental)
3841.200SpgoyetteSUBDIR+=	imc
3851.200SpgoyetteSUBDIR+=	imcsmb
3861.200Spgoyette
3871.84Sjmcneill.endif
3881.84Sjmcneill
3891.98Sriz.if (${MKISCSI} != "no")
3901.98SrizSUBDIR+=	iscsi
3911.98Sriz.endif
3921.98Sriz
3931.179Spgoyette# For now, all of these are disabled, pending resolution of how to deal
3941.179Spgoyette# with attachment-specific modules and bus-specific modules (as opposed
3951.179Spgoyette# to machine- or architecture-specific modules)
3961.179Spgoyette
3971.179Spgoyette.if 0
3981.179SpgoyetteSUBDIR+=	aac
3991.179SpgoyetteSUBDIR+=	amr
4001.179SpgoyetteSUBDIR+=	ataraid
4011.179SpgoyetteSUBDIR+=	cac
4021.179SpgoyetteSUBDIR+=	cac_eisa
4031.179SpgoyetteSUBDIR+=	cac_pci
4041.179SpgoyetteSUBDIR+=	if_vioif
4051.179SpgoyetteSUBDIR+=	ld
4061.179SpgoyetteSUBDIR+=	ld_aac
4071.179SpgoyetteSUBDIR+=	ld_amr
4081.179SpgoyetteSUBDIR+=	ld_ataraid
4091.179SpgoyetteSUBDIR+=	ld_cac
4101.179SpgoyetteSUBDIR+=	ld_icp
4111.179SpgoyetteSUBDIR+=	ld_mlx
4121.179SpgoyetteSUBDIR+=	ld_sdmmc
4131.179SpgoyetteSUBDIR+=	ld_twa
4141.179SpgoyetteSUBDIR+=	ld_twe
4151.179SpgoyetteSUBDIR+=	ld_virtio
4161.179SpgoyetteSUBDIR+=	mlx
4171.179SpgoyetteSUBDIR+=	mlx_eisa
4181.179SpgoyetteSUBDIR+=	mlx_pci
4191.179SpgoyetteSUBDIR+=	ld_nvme
4201.179SpgoyetteSUBDIR+=	nvme
4211.179SpgoyetteSUBDIR+=	twa
4221.179SpgoyetteSUBDIR+=	twe
4231.179SpgoyetteSUBDIR+=	viomb
4241.179SpgoyetteSUBDIR+=	virtio
4251.190SjdolecekSUBDIR+=	vioscsi
4261.179Spgoyette.endif
4271.179Spgoyette
4281.154SpgoyetteSUBDIR+=	examples	# build these regularly to avoid bit-rot
4291.154Spgoyette
4301.1Sad.include <bsd.subdir.mk>
431