Makefile revision 1.215
11.215Salnsn#	$NetBSD: Makefile,v 1.215 2019/01/21 00:21:48 alnsn 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.204SthorpejSUBDIR+=	gpiopps
521.7SrumbleSUBDIR+=	hfs
531.136SkardelSUBDIR+=	hythygtemp
541.197SchristosSUBDIR+=	si70xxtemp
551.197SchristosSUBDIR+=	am2315temp
561.143SjmcneillSUBDIR+=	i2cexec
571.166SpgoyetteSUBDIR+=	i2c_bitbang
581.175SchristosSUBDIR+=	if_agr
591.105SpgoyetteSUBDIR+=	if_axe
601.120SnonakaSUBDIR+=	if_axen
611.175SchristosSUBDIR+=	if_faith
621.175SchristosSUBDIR+=	if_gif
631.175SchristosSUBDIR+=	if_gre
641.189SknakaharSUBDIR+=	if_l2tp
651.175SchristosSUBDIR+=	if_loop
661.175SchristosSUBDIR+=	if_mpls
671.208SrinSUBDIR+=	if_mue
681.118SchristosSUBDIR+=	if_npflog
691.171SchristosSUBDIR+=	if_ppp
701.174SpgoyetteSUBDIR+=	if_pppoe
711.172SchristosSUBDIR+=	if_sl
721.124SskrllSUBDIR+=	if_smsc
731.175SchristosSUBDIR+=	if_srt
741.175SchristosSUBDIR+=	if_stf
751.172SchristosSUBDIR+=	if_strip
761.176SpgoyetteSUBDIR+=	if_tun tun
771.175SchristosSUBDIR+=	if_vlan
781.94SmbalmerSUBDIR+=	iic
791.196SpgoyetteSUBDIR+=	ip_ecn
801.167SpgoyetteSUBDIR+=	ipl
811.7SrumbleSUBDIR+=	kernfs
821.22SadSUBDIR+=	layerfs
831.7SrumbleSUBDIR+=	lfs
841.121SmbalmerSUBDIR+=	lua
851.128SlnetoSUBDIR+=	luasystm
861.123SmbalmerSUBDIR+=	luapmf
871.7SrumbleSUBDIR+=	mfs
881.192SpgoyetteSUBDIR+=	midi
891.45SpgoyetteSUBDIR+=	miiverbose
901.45SpgoyetteSUBDIR+=	miniroot
911.31SrmindSUBDIR+=	mqueue
921.18SadSUBDIR+=	msdos
931.68SahokaSUBDIR+=	nand
941.68SahokaSUBDIR+=	nandemulator
951.15SadSUBDIR+=	nfs
961.15SadSUBDIR+=	nfsserver
971.30SreinoudSUBDIR+=	nilfs
981.96StronSUBDIR+=	npf
991.97StronSUBDIR+=	npf_alg_icmp
1001.111SrmindSUBDIR+=	npf_ext_log
1011.119SchristosSUBDIR+=	npf_ext_normalize
1021.117SrmindSUBDIR+=	npf_ext_rndblock
1031.7SrumbleSUBDIR+=	ntfs
1041.18SadSUBDIR+=	null
1051.92SmbalmerSUBDIR+=	onewire
1061.134SpgoyetteSUBDIR+=	opencrypto
1071.7SrumbleSUBDIR+=	overlay
1081.42SpgoyetteSUBDIR+=	pciverbose
1091.41SahokaSUBDIR+=	pf
1101.19ScubeSUBDIR+=	ppp_bsdcomp
1111.19ScubeSUBDIR+=	ppp_deflate
1121.7SrumbleSUBDIR+=	procfs
1131.182SpgoyetteSUBDIR+=	ptrace
1141.182SpgoyetteSUBDIR+=	ptrace_common
1151.7SrumbleSUBDIR+=	ptyfs
1161.7SrumbleSUBDIR+=	puffs
1171.15SadSUBDIR+=	putter
1181.165SpgoyetteSUBDIR+=	raid
1191.44SpgoyetteSUBDIR+=	scsiverbose
1201.103SpgoyetteSUBDIR+=	sdtemp
1211.33SeladSUBDIR+=	secmodel_bsd44
1221.100SjymSUBDIR+=	secmodel_extensions
1231.33SeladSUBDIR+=	secmodel_overlay
1241.33SeladSUBDIR+=	securelevel
1251.192SpgoyetteSUBDIR+=	sequencer
1261.133SpgoyetteSUBDIR+=	skipjack
1271.168SpgoyetteSUBDIR+=	slcompress
1281.7SrumbleSUBDIR+=	smbfs
1291.81SpgoyetteSUBDIR+=	spdmem
1301.188SpgoyetteSUBDIR+=	spkr
1311.173SpgoyetteSUBDIR+=	sppp_subr
1321.146SpgoyetteSUBDIR+=	sysmon
1331.146SpgoyetteSUBDIR+=	sysmon_envsys
1341.146SpgoyetteSUBDIR+=	sysmon_power
1351.146SpgoyetteSUBDIR+=	sysmon_taskq
1361.146SpgoyetteSUBDIR+=	sysmon_wdog
1371.24SpookaSUBDIR+=	sysvbfs
1381.153SpgoyetteSUBDIR+=	sysv_ipc
1391.33SeladSUBDIR+=	suser
1401.134SpgoyetteSUBDIR+=	swcrypto
1411.48SpgoyetteSUBDIR+=	swsensor
1421.145SpgoyetteSUBDIR+=	swwdog
1431.7SrumbleSUBDIR+=	tmpfs
1441.191SriastradSUBDIR+=	ualea
1451.108SriastradSUBDIR+=	uatp
1461.7SrumbleSUBDIR+=	udf
1471.18SadSUBDIR+=	umap
1481.7SrumbleSUBDIR+=	union
1491.43SpgoyetteSUBDIR+=	usbverbose
1501.106SchristosSUBDIR+=	vcoda
1511.78SenamiSUBDIR+=	v7fs
1521.25ShaadSUBDIR+=	vnd
1531.157SpgoyetteSUBDIR+=	wapbl
1541.193SpgoyetteSUBDIR+=	wsbell
1551.131SpgoyetteSUBDIR+=	zlib
1561.29SyamtSUBDIR+=	tprof
1571.7Srumble.if (defined(NOTYET))
1581.135SpgoyetteSUBDIR+=	hifn		# Builds on architectures with PCI bus
1591.7SrumbleSUBDIR+=	unionfs
1601.7Srumble.endif
1611.37Sdyoung.if ${MKBINUTILS} != "no"
1621.37SdyoungSUBDIR+=	xldscripts
1631.37Sdyoung.endif
1641.7Srumble
1651.15Sad# Machine dependent section
1661.47Stsutsui.if ${MACHINE_ARCH} == "i386" || \
1671.49Stsutsui    ${MACHINE_CPU} == "m68k"
1681.47StsutsuiSUBDIR+=	exec_aout
1691.47Stsutsui.endif
1701.47Stsutsui
1711.169Sscole.if ${MACHINE_ARCH} != "alpha" && \
1721.169Sscole    ${MACHINE_CPU} != "aarch64" && \
1731.169Sscole    ${MACHINE_ARCH} != "ia64"
1741.17SmartinSUBDIR+=	exec_elf32
1751.17Smartin.endif
1761.15Sad
1771.139Smatt.if ${MACHINE_CPU} == "aarch64" || \
1781.139Smatt    ${MACHINE_ARCH} == "alpha" || \
1791.169Sscole    ${MACHINE_ARCH} == "ia64" || \
1801.21Stsutsui    ${MACHINE_ARCH} == "sparc64" || \
1811.21Stsutsui    ${MACHINE_ARCH} == "x86_64"
1821.20SheSUBDIR+=	exec_elf64
1831.20She.endif
1841.20She
1851.29Syamt.if ${MACHINE_ARCH} == "i386" || \
1861.29Syamt    ${MACHINE_ARCH} == "x86_64"
1871.199SpgoyetteSUBDIR+=	amdsmn
1881.71SjruohoSUBDIR+=	amdtemp
1891.199SpgoyetteSUBDIR+=	amdzentemp
1901.64SjruohoSUBDIR+=	coretemp
1911.65SjruohoSUBDIR+=	est
1921.110SmartinSUBDIR+=	hdafg
1931.110SmartinSUBDIR+=	hdaudio
1941.144SjmcneillSUBDIR+=	hdaudio_pci
1951.141SchristosSUBDIR+=	hdaudioverbose
1961.72SjruohoSUBDIR+=	hpet
1971.202SpgoyetteSUBDIR+=	ichsmb
1981.69SjruohoSUBDIR+=	odcm
1991.66SjruohoSUBDIR+=	powernow
2001.150SpgoyetteSUBDIR+=	tco
2011.207SmaxvSUBDIR+=	tprof_x86
2021.95SjmcneillSUBDIR+=	vmt
2031.29Syamt.endif
2041.29Syamt
2051.210Smaxv.if ${MACHINE_ARCH} == "x86_64"
2061.210SmaxvSUBDIR+=	nvmm
2071.210Smaxv.endif
2081.210Smaxv
2091.140Sbad.if ${MACHINE_ARCH} == "i386" || \
2101.137Sbad    ${MACHINE_ARCH} == "x86_64"
2111.137SbadSUBDIR+=	ubsec		# Builds on architectures with PCI bus
2121.137Sbad.endif
2131.137Sbad
2141.126Salnsn.if ${MKSLJIT} != "no"
2151.215Salnsn# No modules for 32-bit arm, mips and powerpc yet.
2161.215Salnsn.if ${MACHINE_ARCH} == "aarch64" || \
2171.215Salnsn    ${MACHINE_ARCH} == "i386"    || \
2181.215Salnsn    ${MACHINE_ARCH} == "sparc"   || \
2191.215Salnsn    ${MACHINE_ARCH} == "x86_64"
2201.113SalnsnSUBDIR+=	bpfjit
2211.112SalnsnSUBDIR+=	sljit
2221.112Salnsn.endif
2231.126Salnsn.endif
2241.112Salnsn
2251.85Sjruoho#
2261.85Sjruoho# ACPI modules
2271.85Sjruoho#
2281.46Spgoyette.if ${MACHINE_ARCH} == "i386" || \
2291.46Spgoyette    ${MACHINE_ARCH} == "ia64" || \
2301.46Spgoyette    ${MACHINE_ARCH} == "x86_64"
2311.46SpgoyetteSUBDIR+=	acpiverbose
2321.46Spgoyette.endif
2331.46Spgoyette
2341.50Sjmcneill.if ${MACHINE_ARCH} == "i386" || \
2351.50Sjmcneill    ${MACHINE_ARCH} == "x86_64"
2361.52SjruohoSUBDIR+=	acpiacad
2371.52SjruohoSUBDIR+=	acpibat
2381.52SjruohoSUBDIR+=	acpibut
2391.52SjruohoSUBDIR+=	acpicpu
2401.53SjruohoSUBDIR+=	acpidalb
2411.58SjruohoSUBDIR+=	acpifan
2421.52SjruohoSUBDIR+=	acpilid
2431.57SjruohoSUBDIR+=	acpipmtr
2441.53SjruohoSUBDIR+=	acpitz
2451.53SjruohoSUBDIR+=	acpivga
2461.86SjruohoSUBDIR+=	acpiwdrt
2471.51SjmcneillSUBDIR+=	acpiwmi
2481.53SjruohoSUBDIR+=	aibs
2491.54SjruohoSUBDIR+=	asus
2501.63SjruohoSUBDIR+=	fujbp
2511.63SjruohoSUBDIR+=	fujhk
2521.75SjruohoSUBDIR+=	hpacel
2531.54SjruohoSUBDIR+=	hpqlb
2541.52SjruohoSUBDIR+=	thinkpad
2551.50SjmcneillSUBDIR+=	wmidell
2561.83SjruohoSUBDIR+=	wmieeepc
2571.50SjmcneillSUBDIR+=	wmihp
2581.50SjmcneillSUBDIR+=	wmimsi
2591.50Sjmcneill.endif
2601.50Sjmcneill
2611.156Smatt.if ${MACHINE_CPU} == "arm" \
2621.211Spgoyette    || ${MACHINE_ARCH} == "sparc64" \
2631.156Smatt    || (!empty(MACHINE_ARCH:Mmips64*) && !defined(BSD_MK_COMPAT_FILE))
2641.151SmattSUBDIR+=	compat_netbsd32
2651.180SskrllSUBDIR+=	compat_netbsd32_mqueue
2661.158SpgoyetteSUBDIR+=	compat_netbsd32_nfssrv
2671.181SskrllSUBDIR+=	compat_netbsd32_ptrace
2681.162SpgoyetteSUBDIR+=	compat_netbsd32_sysvipc
2691.151Smatt.endif
2701.151Smatt
2711.27Sabs.if ${MACHINE_ARCH} == "x86_64"
2721.15SadSUBDIR+=	compat_linux32
2731.15SadSUBDIR+=	compat_netbsd32
2741.180SskrllSUBDIR+=	compat_netbsd32_mqueue
2751.158SpgoyetteSUBDIR+=	compat_netbsd32_nfssrv
2761.181SskrllSUBDIR+=	compat_netbsd32_ptrace
2771.162SpgoyetteSUBDIR+=	compat_netbsd32_sysvipc
2781.15Sad.endif
2791.15Sad
2801.27Sabs.if ${MACHINE_ARCH} == "i386"
2811.90SjmcneillSUBDIR+=	ati_pcigart
2821.15SadSUBDIR+=	compat_freebsd
2831.90SjmcneillSUBDIR+=	mach64drm
2841.90SjmcneillSUBDIR+=	mgadrm
2851.76SjmcneillSUBDIR+=	nsclpcsio
2861.62SjmcneillSUBDIR+=	padlock
2871.90SjmcneillSUBDIR+=	r128drm
2881.90SjmcneillSUBDIR+=	radeondrm
2891.90SjmcneillSUBDIR+=	savagedrm
2901.90SjmcneillSUBDIR+=	sisdrm
2911.90SjmcneillSUBDIR+=	tdfxdrm
2921.67SjruohoSUBDIR+=	viac7temp
2931.149SriastradSUBDIR+=	viadrmums
2941.15Sad.endif
2951.15Sad
2961.142Schristos.if ${MACHINE_ARCH} == "i386" || \
2971.142Schristos    ${MACHINE_ARCH} == "x86_64"
2981.142SchristosSUBDIR+=	azalia
2991.142SchristosSUBDIR+=	compat_linux
3001.142SchristosSUBDIR+=	drm
3011.142SchristosSUBDIR+=	drmkms
3021.209SriastradSUBDIR+=	drmkms_agp
3031.142SchristosSUBDIR+=	drmkms_linux
3041.142SchristosSUBDIR+=	drmkms_pci
3051.142SchristosSUBDIR+=	i915drm
3061.142SchristosSUBDIR+=	i915drmkms
3071.142SchristosSUBDIR+=	pad
3081.85Sjruoho#
3091.85Sjruoho# ISA modules
3101.85Sjruoho#
3111.59SjmcneillSUBDIR+=	aps
3121.80SjmcneillSUBDIR+=	finsio
3131.79SjmcneillSUBDIR+=	itesio
3141.101SjakllschSUBDIR+=	lm
3151.101SjakllschSUBDIR+=	lm_isa
3161.101SjakllschSUBDIR+=	lm_isa_common
3171.101SjakllschSUBDIR+=	lm_wbsio
3181.101SjakllschSUBDIR+=	wbsio
3191.56Sjmcneill.endif
3201.56Sjmcneill
3211.49Stsutsui.if ${MACHINE_CPU} == "m68k"
3221.47StsutsuiSUBDIR+=	compat_aoutm68k
3231.47Stsutsui#SUBDIR+=	compat_linux
3241.47Stsutsui#SUBDIR+=	compat_sunos
3251.47Stsutsui.endif
3261.47Stsutsui
3271.88Smbalmer.if ${MACHINE_ARCH} == "i386" || \
3281.88Smbalmer    ${MACHINE_ARCH} == "x86_64" || \
3291.88Smbalmer    ${MACHINE_ARCH} == "sparc64"
3301.88SmbalmerSUBDIR+=	pwdog
3311.88Smbalmer.endif
3321.88Smbalmer
3331.23Sagc.include <bsd.own.mk>
3341.23Sagc
3351.107Sreinoud#
3361.107Sreinoud# NetBSD/usermode support
3371.107Sreinoud#
3381.107Sreinoud.if ${MACHINE_ARCH} == "i386" || \
3391.107Sreinoud    ${MACHINE_ARCH} == "x86_64"
3401.107SreinoudSUBDIR+=	../arch/usermode/modules/syscallemu
3411.107Sreinoud.endif
3421.107Sreinoud
3431.23Sagc# we need our device mapper for LVM
3441.23Sagc.if (${MKLVM} != "no")
3451.28SyamtSUBDIR+= 	dm
3461.23Sagc.endif
3471.23Sagc
3481.39Sdarran.if (${MKDTRACE} != "no")
3491.116SchsSUBDIR+=	cyclic
3501.39SdarranSUBDIR+=	dtrace
3511.39Sdarran.endif
3521.39Sdarran
3531.39Sdarran# we need solaris for the dtrace and zfs modules
3541.39Sdarran.if (${MKDTRACE} != "no" || ${MKZFS} != "no")
3551.39SdarranSUBDIR+=        solaris
3561.39Sdarran.endif
3571.39Sdarran
3581.34Shaad.if (${MKZFS} != "no")
3591.34ShaadSUBDIR+=	zfs
3601.34Shaad.endif
3611.34Shaad
3621.73Smrg.if (${MKCOMPATMODULES} != "no")
3631.73SmrgSUBDIR+=	arch
3641.73Smrg.endif
3651.73Smrg
3661.84Sjmcneill#
3671.84Sjmcneill# DTV modules
3681.84Sjmcneill#
3691.84SjmcneillSUBDIR+=	dtv
3701.84SjmcneillSUBDIR+=	dtv_math
3711.84Sjmcneill.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
3721.84Sjmcneill# tuners/demods
3731.84SjmcneillSUBDIR+=	au8522
3741.84SjmcneillSUBDIR+=	cx24227
3751.84SjmcneillSUBDIR+=	lg3303
3761.84SjmcneillSUBDIR+=	mt2131
3771.84SjmcneillSUBDIR+=	nxt2k
3781.84SjmcneillSUBDIR+=	tvpll
3791.84SjmcneillSUBDIR+=	xc3028
3801.84SjmcneillSUBDIR+=	xc5k
3811.91SjruohoSUBDIR+=	zl10353
3821.84Sjmcneill# hardware drivers
3831.84SjmcneillSUBDIR+=	auvitek
3841.84SjmcneillSUBDIR+=	coram
3851.84SjmcneillSUBDIR+=	cxdtv
3861.84SjmcneillSUBDIR+=	emdtv
3871.200Spgoyette
3881.200Spgoyette# Intel Integrated Memory Controller and associated SMBus
3891.200Spgoyette# (Experimental)
3901.200SpgoyetteSUBDIR+=	imc
3911.200SpgoyetteSUBDIR+=	imcsmb
3921.200Spgoyette
3931.84Sjmcneill.endif
3941.84Sjmcneill
3951.98Sriz.if (${MKISCSI} != "no")
3961.98SrizSUBDIR+=	iscsi
3971.98Sriz.endif
3981.98Sriz
3991.179Spgoyette# For now, all of these are disabled, pending resolution of how to deal
4001.179Spgoyette# with attachment-specific modules and bus-specific modules (as opposed
4011.179Spgoyette# to machine- or architecture-specific modules)
4021.179Spgoyette
4031.179Spgoyette.if 0
4041.179SpgoyetteSUBDIR+=	aac
4051.179SpgoyetteSUBDIR+=	amr
4061.179SpgoyetteSUBDIR+=	ataraid
4071.179SpgoyetteSUBDIR+=	cac
4081.179SpgoyetteSUBDIR+=	cac_eisa
4091.179SpgoyetteSUBDIR+=	cac_pci
4101.179SpgoyetteSUBDIR+=	if_vioif
4111.179SpgoyetteSUBDIR+=	ld
4121.179SpgoyetteSUBDIR+=	ld_aac
4131.179SpgoyetteSUBDIR+=	ld_amr
4141.179SpgoyetteSUBDIR+=	ld_ataraid
4151.179SpgoyetteSUBDIR+=	ld_cac
4161.179SpgoyetteSUBDIR+=	ld_icp
4171.179SpgoyetteSUBDIR+=	ld_mlx
4181.179SpgoyetteSUBDIR+=	ld_sdmmc
4191.179SpgoyetteSUBDIR+=	ld_twa
4201.179SpgoyetteSUBDIR+=	ld_twe
4211.179SpgoyetteSUBDIR+=	ld_virtio
4221.179SpgoyetteSUBDIR+=	mlx
4231.179SpgoyetteSUBDIR+=	mlx_eisa
4241.179SpgoyetteSUBDIR+=	mlx_pci
4251.179SpgoyetteSUBDIR+=	ld_nvme
4261.179SpgoyetteSUBDIR+=	nvme
4271.179SpgoyetteSUBDIR+=	twa
4281.179SpgoyetteSUBDIR+=	twe
4291.179SpgoyetteSUBDIR+=	viomb
4301.179SpgoyetteSUBDIR+=	virtio
4311.205SjakllschSUBDIR+=	virtio_pci
4321.190SjdolecekSUBDIR+=	vioscsi
4331.179Spgoyette.endif
4341.179Spgoyette
4351.154SpgoyetteSUBDIR+=	examples	# build these regularly to avoid bit-rot
4361.154Spgoyette
4371.1Sad.include <bsd.subdir.mk>
438