xref: /freebsd/sys/modules/Makefile (revision ee1b7811a3e19633aad02eab8bc81eae2ccbd8af)
1c3aac50fSPeter Wemm# $FreeBSD$
20eec3684SGarrett Wollman
3193d9e76SEnji CooperSYSDIR?=${SRCTOP}/sys
4df3394b3SWarner Losh.include "${SYSDIR}/conf/kern.opts.mk"
5e1fe3dbaSRuslan Ermilov
641bc2b72SIan LeporeSUBDIR_PARALLEL=
741bc2b72SIan Lepore
84a47892cSRobert Millan# Modules that include binary-only blobs of microcode should be selectable by
94a47892cSRobert Millan# MK_SOURCELESS_UCODE option (see below).
104a47892cSRobert Millan
112ec8d574SKonstantin Belousov.include "${SYSDIR}/conf/config.mk"
122ec8d574SKonstantin Belousov
1379785bbfSEnji Cooper.if defined(MODULES_OVERRIDE) && !defined(ALL_MODULES)
1479785bbfSEnji CooperSUBDIR=${MODULES_OVERRIDE}
1579785bbfSEnji Cooper.else
1698663aa0SDavid E. O'BrienSUBDIR=	\
1798663aa0SDavid E. O'Brien	${_3dfx} \
18375ce679SYaroslav Tykhiy	${_3dfx_linux} \
19b8eaa978SRuslan Ermilov	${_aac} \
20dce93cd0SAchim Leubner	${_aacraid} \
21b8eaa978SRuslan Ermilov	accf_data \
22744eaff7SDavid Malone	accf_dns \
2309261c4fSBrooks Davis	accf_http \
249124ddebSAdrian Chadd	acl_nfs4 \
259124ddebSAdrian Chadd	acl_posix1e \
26b8eaa978SRuslan Ermilov	${_acpi} \
27ba26d470SStanislav Sedov	ae \
285f270659SKonstantin Belousov	${_aesni} \
29cfef026aSPyun YongHyeon	age \
30b8eaa978SRuslan Ermilov	${_agp} \
3152c9ce25SScott Long	ahci \
32fb404d6fSScott Long	aic7xxx \
33d68875ebSPyun YongHyeon	alc \
343c6e15bcSPyun YongHyeon	ale \
35d28f42f9SLawrence Stewart	alq \
36f5aac907SAndriy Gapon	${_amd_ecc_inject} \
378ce574deSOleksandr Tymoshenko	${_amdgpio} \
385022f21bSAndriy Gapon	${_amdsbwd} \
39907f50feSConrad Meyer	${_amdsmn} \
402b201a17SAndriy Gapon	${_amdtemp} \
4109261c4fSBrooks Davis	amr \
42b8eaa978SRuslan Ermilov	${_aout} \
43d0885ac3SScott Long	${_arcmsr} \
443076898aSEmmanuel Vadot	${_allwinner} \
45d6699d29SAndrew Turner	${_armv8crypto} \
46e702bc74SRui Paulo	${_asmc} \
478ca4df32SSøren Schmidt	ata \
4833644623SSam Leffler	ath \
4941059135SAdrian Chadd	ath_dfs \
5041059135SAdrian Chadd	ath_hal \
5141059135SAdrian Chadd	ath_hal_ar5210 \
5241059135SAdrian Chadd	ath_hal_ar5211 \
5341059135SAdrian Chadd	ath_hal_ar5212 \
5441059135SAdrian Chadd	ath_hal_ar5416 \
5541059135SAdrian Chadd	ath_hal_ar9300 \
5641059135SAdrian Chadd	ath_main \
5741059135SAdrian Chadd	ath_rate \
58dba9c859SAdrian Chadd	ath_pci \
59b3590423SEnji Cooper	${_autofs} \
607113afc8SEmmanuel Vadot	axgbe \
61675aae73SEmmanuel Vadot	backlight \
624a47892cSRobert Millan	${_bce} \
63fc62b7e5SPoul-Henning Kamp	${_bcm283x_clkman} \
64137a344cSPoul-Henning Kamp	${_bcm283x_pwm} \
65b9f78d2bSBill Paul	bfe \
6695d67482SBill Paul	bge \
67148ed571SAdrian Chadd	bhnd \
68102657cbSDavid Christensen	${_bxe} \
69b8eaa978SRuslan Ermilov	${_bios} \
700e33efe4SConrad Meyer	${_blake2} \
71d933e97fSStephen Hurd	bnxt \
728a33eee1SAndrew Thompson	bridgestp \
73215da5ecSWarner Losh	bwi \
74215da5ecSWarner Losh	bwn \
755370c80eSOleksandr Tymoshenko	${_bytgpio} \
7694b8a54aSOleksandr Tymoshenko	${_chvgpio} \
77aa980888SJake Burkholder	cam \
78b8eaa978SRuslan Ermilov	${_cardbus} \
79663222f1SGleb Smirnoff	${_carp} \
80119051cbSMarius Strobl	cas \
81b8eaa978SRuslan Ermilov	${_cbb} \
82ad4e3b96SLawrence Stewart	cc \
83844d9543SConrad Meyer	${_ccp} \
84aa980888SJake Burkholder	cd9660 \
85c4f02a89SMax Khon	cd9660_iconv \
86f2ca64caSRoman Kurakin	${_ce} \
872064b86fSMarcel Moolenaar	${_cfi} \
88448897d3SAndriy Gapon	${_chromebook_platform} \
89b8eaa978SRuslan Ermilov	${_ciss} \
908bc78518SEd Schouten	cloudabi \
91e4df2955SEd Schouten	${_cloudabi32} \
928bc78518SEd Schouten	${_cloudabi64} \
9383d18f22SDag-Erling Smørgrav	${_coretemp} \
944dba35d1SRoman Kurakin	${_cp} \
95e53470feSOleksandr Tymoshenko	${_cpsw} \
96e085f869SStanislav Sedov	${_cpuctl} \
976ab93acaSScott Long	${_cpufreq} \
98f544a528SMark Murray	${_crypto} \
99f544a528SMark Murray	${_cryptodev} \
10032562145SEdward Tomasz Napierala	ctl \
101c99255b8SWarner Losh	${_cxgb} \
1024310207eSRobert Millan	${_cxgbe} \
10309261c4fSBrooks Davis	dc \
104869093b1SHidetoshi Shimokawa	dcons \
105869093b1SHidetoshi Shimokawa	dcons_crom \
106537d1343SAlexander V. Chernikov	${_dpdk_lpm4} \
107537d1343SAlexander V. Chernikov	${_dpdk_lpm6} \
108aa7c1c05SJohn Baldwin	${_dpms} \
1098c4026b5SPaul Saab	dummynet \
1100a05676bSEmmanuel Vadot	${_dwwdt} \
111*ee1b7811SHubert Mazur	${_e6000sw} \
112bc3ad3a1SKonstantin Belousov	${_efirt} \
113b8eaa978SRuslan Ermilov	${_em} \
1149b8d05b8SZbigniew Bodek	${_ena} \
1155ad6d28cSKornel Duleba	${_enetc} \
116dfcaa2c1SKornel Duleba	${_enetc_mdio} \
117a9ab459bSMarius Strobl	esp \
1184d52a575SXin LI	${_et} \
119a6b15a34SOleksandr Tymoshenko	evdev \
120b8eaa978SRuslan Ermilov	${_exca} \
1214be7e5f8SJustin Hibbits	ext2fs \
12209261c4fSBrooks Davis	fdc \
12342d6ed03SBruce Evans	fdescfs \
124451bcf1bSMarcin Wojtas	${_felix} \
125f5c49e5cSIan Lepore	${_ffec} \
1262aca58e1SMarko Zec	${_fib_dxr} \
12724862f22SBryan Drewery	filemon \
1287d2ba89bSJohn Baldwin	firewire \
1296aec1278SMax Laier	firmware \
1305667729fSPoul-Henning Kamp	${_ftwd} \
131123af6ecSAlan Somers	fusefs \
1324a47892cSRobert Millan	${_fxp} \
1331ed3fed7SMarius Strobl	gem \
1345d9bef64SPoul-Henning Kamp	geom \
135149d1c89SHenrik Brix Andersen	${_glxiic} \
136a51aa5d1SPhilip Paeps	${_glxsb} \
1371e45d04bSIan Lepore	gpio \
13867de2db2SVladimir Kondratyev	hid \
1398b7ce2ffSSam Leffler	hifn \
14081966bceSXin LI	${_hpt27xx} \
141f73e86c3SScott Long	${_hptiop} \
142085f35d6SScott Long	${_hptmv} \
1431fdeb165SXin LI	${_hptnr} \
144b063a422SScott Long	${_hptrr} \
1459c3a1281SMarcel Moolenaar	hwpmc \
1464691c88fSAdrian Chadd	${_hwpmc_mips24k} \
1474691c88fSAdrian Chadd	${_hwpmc_mips74k} \
1487d99ab9fSPeter Grehan	${_hyperv} \
1494be7e5f8SJustin Hibbits	i2c \
15077c1fcecSEric Joyner	${_iavf} \
151c9f432b7SAlfred Perlstein        ${_ibcore} \
152cae8da61SDag-Erling Smørgrav	${_ichwd} \
15371d10453SEric Joyner	${_ice} \
15471d10453SEric Joyner	${_ice_ddp} \
155b8eaa978SRuslan Ermilov	${_ida} \
1567afc53b8SAndrew Thompson	if_bridge \
15709261c4fSBrooks Davis	if_disc \
15863518eccSYaroslav Tykhiy	if_edsc \
159ef91a976SAndrey V. Elsukov	${_if_enc} \
160d0ea4743SBjoern A. Zeeb	if_epair \
161f325335cSAndrey V. Elsukov	${_if_gif} \
162af8a927eSBjoern A. Zeeb	${_if_gre} \
163f325335cSAndrey V. Elsukov	${_if_me} \
1649d40cf60SHans Petter Selasky	if_infiniband \
16518242d3bSAndrew Thompson	if_lagg \
166a5965d15SAndrey V. Elsukov	${_if_stf} \
167251a32b5SKyle Evans	if_tuntap \
168214bfc97SBrooks Davis	if_vlan \
169007054f0SBryan Venteicher	if_vxlan \
170c75f49f7SKonstantin Belousov	iflib \
171517904deSPeter Grehan	${_igc} \
172b8eaa978SRuslan Ermilov	${_iir} \
17381e3caafSJustin Hibbits	imgact_binmisc \
174d786719dSOleksandr Tymoshenko	${_intelspi} \
1758ab2f5ecSMark Murray	${_io} \
176e974f91cSConrad Meyer	${_ioat} \
177c9f432b7SAlfred Perlstein        ${_ipoib} \
178aa57e971SBjoern A. Zeeb	${_ipdivert} \
179b8eaa978SRuslan Ermilov	${_ipfilter} \
1808813217aSBjoern A. Zeeb	${_ipfw} \
181755d3f8aSPaolo Pisati	ipfw_nat \
182d8caf56eSAndrey V. Elsukov	${_ipfw_nat64} \
183b867e84eSAndrey V. Elsukov	${_ipfw_nptv6} \
184aac74aeaSAndrey V. Elsukov	${_ipfw_pmod} \
1851c204a57SDoug Ambrisko	${_ipmi} \
186d5c0af17SAndrey V. Elsukov	ip6_mroute_mod \
1878c11b231SRuslan Ermilov	ip_mroute_mod \
188b8eaa978SRuslan Ermilov	${_ips} \
189fcf59617SAndrey V. Elsukov	${_ipsec} \
190b4c31113SDamien Bergamini	${_ipw} \
1917bd6fde3SFlorent Thoumie	${_ipwfw} \
192f11c7f63SJim Harris	${_isci} \
1931b4b226bSEdward Tomasz Napierala	${_iser} \
19497af632bSJohn Baldwin	isp \
1954a47892cSRobert Millan	${_ispfw} \
19688f8e098SAndriy Gapon	${_itwd} \
197b4c31113SDamien Bergamini	${_iwi} \
1987bd6fde3SFlorent Thoumie	${_iwifw} \
199444e7e3dSRui Paulo	${_iwm} \
200444e7e3dSRui Paulo	${_iwmfw} \
2013971d07bSSam Leffler	${_iwn} \
2023971d07bSSam Leffler	${_iwnfw} \
203bc2e8d79SJack F Vogel	${_ix} \
204bc2e8d79SJack F Vogel	${_ixv} \
205d502eb6dSJack F Vogel	${_ixl} \
20675a1bf5fSPyun YongHyeon	jme \
207f9e56677SMaksim Yevmenkin	kbdmux \
2087e7fd7d1SRick Macklem	kgssapi \
2097e7fd7d1SRick Macklem	kgssapi_krb5 \
2106987b09fSLawrence Stewart	khelp \
211fa9d9930SDoug Rabson	krpc \
21200a5db46SStacey Son	ksyms \
21344ac0964SMarius Strobl	le \
21409261c4fSBrooks Davis	lge \
2156cd047a0SGleb Smirnoff	libalias \
2160e3b6d50SSheldon Hearn	libiconv \
21709261c4fSBrooks Davis	libmchain \
21803f1cf9fSJohannes Lundberg	lindebugfs \
21924ef40deSHans Petter Selasky	linuxkpi \
220f173c2b7SSean Bruno	${_lio} \
2211b6c2589SPoul-Henning Kamp	lpt \
222ebbd4fa8SRobert Watson	mac_biba \
223ebbd4fa8SRobert Watson	mac_bsdextended \
224ebbd4fa8SRobert Watson	mac_ifoff \
2255773cccfSRobert Watson	mac_lomac \
226ebbd4fa8SRobert Watson	mac_mls \
227ebbd4fa8SRobert Watson	mac_none \
2283496c981SIan Lepore	mac_ntpd \
22951363000SRobert Watson	mac_partition \
23003d03162SRobert Watson	mac_portacl \
231ebbd4fa8SRobert Watson	mac_seeotheruids \
232782f7255SRobert Watson	mac_stub \
233ebbd4fa8SRobert Watson	mac_test \
234a31993feSAlex Richardson	${_malo} \
235ce110ea1SWei Hu	${_mana} \
23609261c4fSBrooks Davis	md \
23771e8eac4SAdrian Chadd	mdio \
2389004f894SDavid E. O'Brien	mem \
239215da5ecSWarner Losh	mfi \
24009261c4fSBrooks Davis	mii \
24109261c4fSBrooks Davis	mlx \
2423b2324c3SHans Petter Selasky	mlxfw \
2433b1f0b5dSJeff Roberson	${_mlx4} \
2443b1f0b5dSJeff Roberson	${_mlx4ib} \
24597549c34SHans Petter Selasky	${_mlx4en} \
24622f2c49aSHans Petter Selasky	${_mlx5} \
24722f2c49aSHans Petter Selasky	${_mlx5en} \
24812515907SHans Petter Selasky	${_mlx5ib} \
249b8eaa978SRuslan Ermilov	${_mly} \
2501a97aaebSWarner Losh	mmc \
2511a97aaebSWarner Losh	mmcsd \
25244f299a3SScott Long	${_mpr} \
25344f299a3SScott Long	${_mps} \
254215da5ecSWarner Losh	mpt \
2556c597554SDavid Xu	mqueue \
256665484d8SDoug Ambrisko	mrsas \
25786597d47SMaxime Henrion	msdosfs \
258c4f02a89SMax Khon	msdosfs_iconv \
259c9d21ce9SPyun YongHyeon	msk \
26033ec1ccbSHans Petter Selasky	${_mthca} \
261dd48af36SAlexander Motin	mvs \
262cf4c5a53SSam Leffler	mwl \
2634a47892cSRobert Millan	${_mwlfw} \
264f9ae0280SAndrew Gallatin	mxge \
265e4de92ceSRuslan Ermilov	my \
2666b7b2d80SAdrian Chadd	${_nctgpio} \
267abae4e8aSAntoine Brodin	${_netgraph} \
268bfc788c2SDavid E. O'Brien	${_nfe} \
269bcbdacddSRick Macklem	nfscl \
270bcbdacddSRick Macklem	nfscommon \
271bcbdacddSRick Macklem	nfsd \
272fa9d9930SDoug Rabson	nfslockd \
27345452edcSRick Macklem	nfssvc \
27409261c4fSBrooks Davis	nge \
27509261c4fSBrooks Davis	nmdm \
27609261c4fSBrooks Davis	nullfs \
277e47937d1SCarl Delsey	${_ntb} \
278eb85d44fSJim Harris	${_nvd} \
2796db7f8e5SKonstantin Belousov	${_nvdimm} \
280eb85d44fSJim Harris	${_nvme} \
281d5566384SPeter Wemm	${_nvram} \
2822f345d8eSLuigi Rizzo	oce \
283ef270ab1SKenneth D. Merry	${_ocs_fc} \
284ba610be9SJohn Baldwin	${_ossl} \
285a9fcb51fSAdrian Chadd	otus \
2868485a1f6SEd Maste	${_otusfw} \
287ae1f3df4SWarner Losh	ow \
288ef0a6e20SPawel Jakub Dawidek	${_padlock} \
28910cb2424SMark Murray	${_padlock_rng} \
290c3079787STakanori Watanabe	${_pchtherm} \
291b8eaa978SRuslan Ermilov	${_pcfclock} \
2928d69c48bSMax Laier	${_pf} \
2935bba2114SMax Laier	${_pflog} \
294e0bfbfceSBjoern A. Zeeb	${_pfsync} \
2951b6c2589SPoul-Henning Kamp	plip \
296a650d869SBenno Rice	${_pms} \
2971b6c2589SPoul-Henning Kamp	ppbus \
298c69e06b1SMarcel Moolenaar	ppc \
2991b6c2589SPoul-Henning Kamp	ppi \
3001b6c2589SPoul-Henning Kamp	pps \
3013fd18735SDag-Erling Smørgrav	procfs \
30267fb10f3SMarcel Moolenaar	proto \
3033fd18735SDag-Erling Smørgrav	pseudofs \
3044f05e3faSRuslan Ermilov	${_pst} \
305f105c8beSEd Schouten	pty  \
306c69e06b1SMarcel Moolenaar	puc \
307e108c3dfSIan Lepore	pwm \
30872143e89SMark Johnston	${_qat} \
309f078c492SMark Johnston	${_qatfw} \
310711bcba0SDavid C Somayajulu	${_qlxge} \
3110bc7cf6fSBjoern A. Zeeb	${_qlxgb} \
312f10a77bbSDavid C Somayajulu	${_qlxgbe} \
31311e25f0dSDavid C Somayajulu	${_qlnx} \
314ceaec73dSDamien Bergamini	ral \
3154a47892cSRobert Millan	${_ralfw} \
316646041a8SMark Murray	${_random_fortuna} \
317646041a8SMark Murray	${_random_other} \
3180ac19bd5SSam Leffler	rc4 \
31953d68f00SKip Macy	${_rdma} \
32010cb2424SMark Murray	${_rdrand_rng} \
321a94100faSBill Paul	re \
32209261c4fSBrooks Davis	rl \
323c0fc4047SEmmanuel Vadot	${_rockchip} \
324926ce35aSJung-uk Kim	rtsx \
325b6ac0e65SAdrian Chadd	rtwn \
3267453645fSAndriy Voskoboinyk	rtwn_pci \
3277453645fSAndriy Voskoboinyk	rtwn_usb \
328783da314SChristian Brueffer	${_rtwnfw} \
329b8eaa978SRuslan Ermilov	${_s3} \
330b8eaa978SRuslan Ermilov	${_safe} \
331b356ddf0SMark Johnston	safexcel \
33226e46883SJohn Baldwin	${_sbni} \
333af2e25a6SMarcel Moolenaar	scc \
334052c5ec4SMark Johnston	${_sctp} \
335831f5dcfSAlexander Motin	sdhci \
336e5d519fdSOleksandr Tymoshenko	${_sdhci_acpi} \
3379e08f820SEmmanuel Vadot	${_sdhci_fdt} \
338d6b3aaf8SOleksandr Tymoshenko	sdhci_pci \
33967ca7330SBjoern A. Zeeb	sdio \
3405416cda8STom Rhodes	sem \
3411db8d1f8SAna Kukec	send \
3425bd64b65SPhilip Paeps	${_sfxge} \
343d193ed0bSPyun YongHyeon	sge \
3442164af29SRuslan Bukin	${_sgx} \
3452164af29SRuslan Bukin	${_sgx_linux} \
346a5548bf6SLawrence Stewart	siftr \
34767b87e44SAlexander Motin	siis \
34809261c4fSBrooks Davis	sis \
34909261c4fSBrooks Davis	sk \
3501e66f787SSean Bruno	${_smartpqi} \
3514be7e5f8SJustin Hibbits	smbfs \
352932ef5b5SEd Schouten	snp \
3534be7e5f8SJustin Hibbits	sound \
354b8eaa978SRuslan Ermilov	${_speaker} \
3552aa5d9c4SIan Lepore	spi \
356b8eaa978SRuslan Ermilov	${_splash} \
357b8eaa978SRuslan Ermilov	${_sppp} \
35809261c4fSBrooks Davis	ste \
359d497bdf1SPyun YongHyeon	stge \
360bd368728SMarko Zec	${_sume} \
361e3722b78SAndriy Gapon	${_superio} \
3623706af42SArnaud Ysmal	${_p2sb} \
363c99255b8SWarner Losh	${_sym} \
364b8eaa978SRuslan Ermilov	${_syscons} \
36509261c4fSBrooks Davis	sysvipc \
3664222f968SMichael Tuexen	tcp \
3674a47892cSRobert Millan	${_ti} \
368d319cc96SNathan Whitehorn	tmpfs \
36909fe6320SNavdeep Parhar	${_toecore} \
370c02b5042SWarner Losh	${_tpm} \
3713c12ea23SVinod Kashyap	${_twa} \
37242d6ed03SBruce Evans	twe \
373db1fda10SXin LI	tws \
374b74668b1SWarner Losh	uart \
375df263cbdSScott Long	udf \
37677730021SScott Long	udf_iconv \
377b16af7f1SEdward Tomasz Napierala	ufs \
378a6b15a34SOleksandr Tymoshenko	uinput \
37909261c4fSBrooks Davis	unionfs \
3807d0d268bSAndrew Thompson	usb \
381b8eaa978SRuslan Ermilov	${_vesa} \
38232cb85d0SJessica Clarke	virtio \
383a07bd003SBill Paul	vge \
38461af1d13SFabien Thomas	${_viawd} \
385a7ff99ccSHans Petter Selasky	videomode \
3866e81ac21SMaksim Yevmenkin	vkbd \
387f2521a76SDoug Ambrisko	${_vmd} \
388366f6083SPeter Grehan	${_vmm} \
389e3c97c2cSBryan Venteicher	${_vmware} \
39009261c4fSBrooks Davis	vr \
3912608aefcSPyun YongHyeon	vte \
3920566170fSBjoern A. Zeeb	${_wbwd} \
3930ac19bd5SSam Leffler	wlan \
39495ef8c71SSam Leffler	wlan_acl \
39574828f25SSam Leffler	wlan_amrr \
39663f9a4cbSSam Leffler	wlan_ccmp \
397b032f27cSSam Leffler	wlan_rssadapt \
39863f9a4cbSSam Leffler	wlan_tkip \
39963f9a4cbSSam Leffler	wlan_wep \
40063f9a4cbSSam Leffler	wlan_xauth \
40103734771SBenjamin Close	${_wpi} \
40203734771SBenjamin Close	${_wpifw} \
403a57707e7SXin LI	${_x86bios} \
404732a02b4SGleb Smirnoff	xdr \
405cf62a08fSWojciech A. Koszek	xl \
406e8643b01SKonstantin Belousov	xz \
407513798ccSYoshihiro Takahashi	zlib
4084310207eSRobert Millan
409b3590423SEnji Cooper.if ${MK_AUTOFS} != "no" || defined(ALL_MODULES)
410b3590423SEnji Cooper_autofs=	autofs
411b3590423SEnji Cooper.endif
412b3590423SEnji Cooper
4135e742644SEd Maste.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
4140b972ac9SWarner Losh.if (${MACHINE_CPUARCH} != "arm" || ${MACHINE_ARCH:Marmv[67]*} != "") && \
41558aa35d4SWarner Losh	${MACHINE_CPUARCH} != "mips"
4162ec8d574SKonstantin Belousov.if ${KERN_OPTS:MKDTRACE_HOOKS}
4175e742644SEd MasteSUBDIR+=	dtrace
4185e742644SEd Maste.endif
4192ec8d574SKonstantin Belousov.endif
4205e742644SEd MasteSUBDIR+=	opensolaris
4215e742644SEd Maste.endif
4225e742644SEd Maste
423e1fe3dbaSRuslan Ermilov.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
424193d9e76SEnji Cooper.if exists(${SRCTOP}/sys/opencrypto)
425b8eaa978SRuslan Ermilov_crypto=	crypto
426b8eaa978SRuslan Ermilov_cryptodev=	cryptodev
427646041a8SMark Murray_random_fortuna=random_fortuna
428646041a8SMark Murray_random_other=	random_other
429b8eaa978SRuslan Ermilov.endif
4307a07b896SIan Dowse.endif
431aa980888SJake Burkholder
432e3d1e0f6SEnji Cooper.if ${MK_CUSE} != "no" || defined(ALL_MODULES)
433e3d1e0f6SEnji CooperSUBDIR+=	cuse
434e3d1e0f6SEnji Cooper.endif
435e3d1e0f6SEnji Cooper
436bd8f09ebSMitchell Horne.if ${MK_EFI} != "no"
437bd8f09ebSMitchell Horne.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64"
438bd8f09ebSMitchell Horne_efirt=		efirt
439bd8f09ebSMitchell Horne.endif
440bd8f09ebSMitchell Horne.endif
441bd8f09ebSMitchell Horne
442af8a927eSBjoern A. Zeeb.if (${MK_INET_SUPPORT} != "no" || ${MK_INET6_SUPPORT} != "no") || \
443af8a927eSBjoern A. Zeeb	defined(ALL_MODULES)
444663222f1SGleb Smirnoff_carp=		carp
44509fe6320SNavdeep Parhar_toecore=	toecore
446ef91a976SAndrey V. Elsukov_if_enc=	if_enc
447f325335cSAndrey V. Elsukov_if_gif=	if_gif
448f325335cSAndrey V. Elsukov_if_gre=	if_gre
449aac74aeaSAndrey V. Elsukov_ipfw_pmod=	ipfw_pmod
450f45b1312SKyle Evans.if ${KERN_OPTS:MIPSEC_SUPPORT} && !${KERN_OPTS:MIPSEC}
451fcf59617SAndrey V. Elsukov_ipsec=		ipsec
452fcf59617SAndrey V. Elsukov.endif
453052c5ec4SMark Johnston.if ${KERN_OPTS:MSCTP_SUPPORT} || ${KERN_OPTS:MSCTP}
454052c5ec4SMark Johnston_sctp=		sctp
455052c5ec4SMark Johnston.endif
456af8a927eSBjoern A. Zeeb.endif
457af8a927eSBjoern A. Zeeb
458a5965d15SAndrey V. Elsukov.if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \
459a5965d15SAndrey V. Elsukov	defined(ALL_MODULES)
460a5965d15SAndrey V. Elsukov_if_stf=	if_stf
461a5965d15SAndrey V. Elsukov.endif
462a5965d15SAndrey V. Elsukov
463aa57e971SBjoern A. Zeeb.if ${MK_INET_SUPPORT} != "no" || defined(ALL_MODULES)
464f325335cSAndrey V. Elsukov_if_me=		if_me
465513798ccSYoshihiro Takahashi_ipdivert=	ipdivert
466513798ccSYoshihiro Takahashi_ipfw=		ipfw
467d8caf56eSAndrey V. Elsukov.if ${MK_INET6_SUPPORT} != "no" || defined(ALL_MODULES)
468d8caf56eSAndrey V. Elsukov_ipfw_nat64=	ipfw_nat64
469d8caf56eSAndrey V. Elsukov.endif
470aa57e971SBjoern A. Zeeb.endif
471aa57e971SBjoern A. Zeeb
472b867e84eSAndrey V. Elsukov.if ${MK_INET6_SUPPORT} != "no" || defined(ALL_MODULES)
473b867e84eSAndrey V. Elsukov_ipfw_nptv6=	ipfw_nptv6
474b867e84eSAndrey V. Elsukov.endif
475b867e84eSAndrey V. Elsukov
476e1fe3dbaSRuslan Ermilov.if ${MK_IPFILTER} != "no" || defined(ALL_MODULES)
477b8eaa978SRuslan Ermilov_ipfilter=	ipfilter
4787a43a96aSRuslan Ermilov.endif
4797a43a96aSRuslan Ermilov
480537d1343SAlexander V. Chernikov.if ${MK_INET_SUPPORT} != "no" && ${KERN_OPTS:MFIB_ALGO}
481537d1343SAlexander V. Chernikov_dpdk_lpm4=	dpdk_lpm4
4822aca58e1SMarko Zec_fib_dxr=	fib_dxr
483537d1343SAlexander V. Chernikov.endif
484537d1343SAlexander V. Chernikov
485537d1343SAlexander V. Chernikov.if ${MK_INET6_SUPPORT} != "no" && ${KERN_OPTS:MFIB_ALGO}
486537d1343SAlexander V. Chernikov_dpdk_lpm6=	dpdk_lpm6
487537d1343SAlexander V. Chernikov.endif
488537d1343SAlexander V. Chernikov
489b29d6977SEnji Cooper.if ${MK_ISCSI} != "no" || defined(ALL_MODULES)
490653e7d63SEnji CooperSUBDIR+=	cfiscsi
491b29d6977SEnji CooperSUBDIR+=	iscsi
492b29d6977SEnji CooperSUBDIR+=	iscsi_initiator
493b29d6977SEnji Cooper.endif
494b29d6977SEnji Cooper
495238eb01bSIan Lepore.if !empty(OPT_FDT)
496238eb01bSIan LeporeSUBDIR+=	fdt
497238eb01bSIan Lepore.endif
498238eb01bSIan Lepore
4996659d8e7SEd Maste# Linuxulator
500408ab1bdSEd Maste.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \
50196fa5386SEd Maste    ${MACHINE_CPUARCH} == "i386"
50296fa5386SEd MasteSUBDIR+=	linprocfs
50396fa5386SEd MasteSUBDIR+=	linsysfs
5046659d8e7SEd Maste.endif
5056659d8e7SEd Maste.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
5066659d8e7SEd MasteSUBDIR+=	linux
5076659d8e7SEd Maste.endif
5086659d8e7SEd Maste.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64"
5096659d8e7SEd MasteSUBDIR+=	linux64
5106659d8e7SEd MasteSUBDIR+=	linux_common
5116659d8e7SEd Maste.endif
5126659d8e7SEd Maste
5136659d8e7SEd Maste.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \
5146659d8e7SEd Maste    ${MACHINE_CPUARCH} == "i386"
515f56baf87SColin Percival_ena=		ena
516e53f0338SEd Maste.if ${MK_OFED} != "no" || defined(ALL_MODULES)
517e53f0338SEd Maste_ibcore=	ibcore
518e53f0338SEd Maste_ipoib=		ipoib
519e53f0338SEd Maste_iser=		iser
520e53f0338SEd Maste.endif
52140d0971bSMitchell Horne_ipmi=		ipmi
522e53f0338SEd Maste_mlx4=		mlx4
523e53f0338SEd Maste_mlx5=		mlx5
524e53f0338SEd Maste.if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \
525e53f0338SEd Maste	defined(ALL_MODULES)
526e53f0338SEd Maste_mlx4en=	mlx4en
527e53f0338SEd Maste_mlx5en=	mlx5en
528e53f0338SEd Maste.endif
529e53f0338SEd Maste.if ${MK_OFED} != "no" || defined(ALL_MODULES)
530e53f0338SEd Maste_mthca=		mthca
531e53f0338SEd Maste_mlx4ib=	mlx4ib
532e53f0338SEd Maste_mlx5ib=	mlx5ib
533e53f0338SEd Maste.endif
53422bd0c97SMitchell Horne_ossl=		ossl
5352c19e8edSEd Maste_vmware=	vmware
53696fa5386SEd Maste.endif
53796fa5386SEd Maste
538abae4e8aSAntoine Brodin.if ${MK_NETGRAPH} != "no" || defined(ALL_MODULES)
539abae4e8aSAntoine Brodin_netgraph=	netgraph
540abae4e8aSAntoine Brodin.endif
541abae4e8aSAntoine Brodin
542af8a927eSBjoern A. Zeeb.if (${MK_PF} != "no" && (${MK_INET_SUPPORT} != "no" || \
543af8a927eSBjoern A. Zeeb	${MK_INET6_SUPPORT} != "no")) || defined(ALL_MODULES)
5448d69c48bSMax Laier_pf=		pf
5455bba2114SMax Laier_pflog=		pflog
546e0bfbfceSBjoern A. Zeeb.if ${MK_INET_SUPPORT} != "no"
547e0bfbfceSBjoern A. Zeeb_pfsync=	pfsync
548e0bfbfceSBjoern A. Zeeb.endif
5498d69c48bSMax Laier.endif
5508d69c48bSMax Laier
5514a47892cSRobert Millan.if ${MK_SOURCELESS_UCODE} != "no"
5524a47892cSRobert Millan_bce=		bce
5534a47892cSRobert Millan_fxp=		fxp
5544a47892cSRobert Millan_ispfw=		ispfw
5557b523f05SEd Maste_ti=		ti
5567b523f05SEd Maste
5577b523f05SEd Maste.if ${MACHINE_CPUARCH} != "mips"
5584a47892cSRobert Millan_mwlfw=		mwlfw
5598485a1f6SEd Maste_otusfw=	otusfw
5604a47892cSRobert Millan_ralfw=		ralfw
561783da314SChristian Brueffer_rtwnfw=	rtwnfw
5627b523f05SEd Maste.endif
5634a47892cSRobert Millan.endif
5644a47892cSRobert Millan
565ca7fe84aSNavdeep Parhar.if ${MK_SOURCELESS_UCODE} != "no" && ${MACHINE_CPUARCH} != "arm" && \
566e9004cefSBrooks Davis	${MACHINE_CPUARCH} != "mips" && \
567dc9b124dSJustin Hibbits	${MACHINE_ARCH} != "powerpc" && ${MACHINE_ARCH} != "powerpcspe" && \
568dc9b124dSJustin Hibbits	${MACHINE_CPUARCH} != "riscv"
569183dc986SNavdeep Parhar_cxgbe=		cxgbe
570183dc986SNavdeep Parhar.endif
571513798ccSYoshihiro Takahashi
57271d10453SEric Joyner.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "arm64"
57371d10453SEric Joyner_ice=		ice
57471d10453SEric Joyner.if ${MK_SOURCELESS_UCODE} != "no"
57571d10453SEric Joyner_ice_ddp=	ice_ddp
57671d10453SEric Joyner.endif
57771d10453SEric Joyner.endif
57871d10453SEric Joyner
57944f299a3SScott Long# These rely on 64bit atomics
5800cbe99d7SWarner Losh.if ${MACHINE_ARCH} != "powerpc" && ${MACHINE_ARCH} != "powerpcspe" && \
58125b4f9adSScott Long	${MACHINE_CPUARCH} != "mips"
58244f299a3SScott Long_mps=		mps
58344f299a3SScott Long_mpr=		mpr
58444f299a3SScott Long.endif
58544f299a3SScott Long
586a3d929a7SEnji Cooper.if ${MK_TESTS} != "no" || defined(ALL_MODULES)
587a3d929a7SEnji CooperSUBDIR+=	tests
588a3d929a7SEnji Cooper.endif
589a3d929a7SEnji Cooper
5909e5787d2SMatt Macy.if ${MK_ZFS} != "no" || (defined(ALL_MODULES)  && ${MACHINE_CPUARCH} != "powerpc")
5915e742644SEd MasteSUBDIR+=	zfs
5925e742644SEd Maste.endif
5935e742644SEd Maste
59475429a15SKurt Lidl.if (${MACHINE_CPUARCH} == "mips" && ${MACHINE_ARCH:Mmips64} == "")
5954691c88fSAdrian Chadd_hwpmc_mips24k=	hwpmc_mips24k
596608accbfSIan Lepore_hwpmc_mips74k=	hwpmc_mips74k
5974691c88fSAdrian Chadd.endif
5984691c88fSAdrian Chadd
59932b6c6ecSKonstantin Belousov.if ${MACHINE_CPUARCH} != "aarch64" && ${MACHINE_CPUARCH} != "arm" && \
60087ef4064SRuslan Bukin	${MACHINE_CPUARCH} != "mips" && ${MACHINE_CPUARCH} != "powerpc" && \
60187ef4064SRuslan Bukin	${MACHINE_CPUARCH} != "riscv"
602513798ccSYoshihiro Takahashi_syscons=	syscons
603513798ccSYoshihiro Takahashi.endif
604513798ccSYoshihiro Takahashi
605e2b58d84SWarner Losh.if ${MACHINE_CPUARCH} != "mips"
606513798ccSYoshihiro Takahashi# no BUS_SPACE_UNSPECIFIED
607513798ccSYoshihiro Takahashi# No barrier instruction support (specific to this driver)
608513798ccSYoshihiro Takahashi_sym=		sym
609513798ccSYoshihiro Takahashi# intr_disable() is a macro, causes problems
610513798ccSYoshihiro Takahashi.if ${MK_SOURCELESS_UCODE} != "no"
611513798ccSYoshihiro Takahashi_cxgb=		cxgb
612513798ccSYoshihiro Takahashi.endif
613513798ccSYoshihiro Takahashi.endif
614513798ccSYoshihiro Takahashi
615fa32340bSEd Maste.if ${MACHINE_CPUARCH} == "aarch64"
6163076898aSEmmanuel Vadot_allwinner=	allwinner
617d6699d29SAndrew Turner_armv8crypto=	armv8crypto
6180a05676bSEmmanuel Vadot_dwwdt=		dwwdt
619fa32340bSEd Maste_em=		em
6205ad6d28cSKornel Duleba_enetc=		enetc
621dfcaa2c1SKornel Duleba_enetc_mdio=	enetc_mdio
622451bcf1bSMarcin Wojtas_felix=		felix
623c0fc4047SEmmanuel Vadot_rockchip=	rockchip
624fa32340bSEd Maste.endif
625fa32340bSEd Maste
6260b426a1cSEmmanuel Vadot.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "arm"
6270b426a1cSEmmanuel Vadot_sdhci_fdt=	sdhci_fdt
628*ee1b7811SHubert Mazur_e6000sw=	e6000sw
6290b426a1cSEmmanuel Vadot.endif
6300b426a1cSEmmanuel Vadot
631513798ccSYoshihiro Takahashi.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
632513798ccSYoshihiro Takahashi_agp=		agp
633513798ccSYoshihiro Takahashi_aout=		aout
6344d12189bSRavi Pokala_bios=		bios
635722f80aeSEd Maste.if ${MK_SOURCELESS_UCODE} != "no"
636513798ccSYoshihiro Takahashi_bxe=		bxe
637722f80aeSEd Maste.endif
638513798ccSYoshihiro Takahashi_cardbus=	cardbus
639513798ccSYoshihiro Takahashi_cbb=		cbb
640513798ccSYoshihiro Takahashi_cpuctl=	cpuctl
641513798ccSYoshihiro Takahashi_cpufreq=	cpufreq
642513798ccSYoshihiro Takahashi_dpms=		dpms
643513798ccSYoshihiro Takahashi_em=		em
644513798ccSYoshihiro Takahashi_et=		et
6455667729fSPoul-Henning Kamp_ftwd=		ftwd
646513798ccSYoshihiro Takahashi_exca=		exca
647517904deSPeter Grehan_igc=		igc
648513798ccSYoshihiro Takahashi_io=		io
64988f8e098SAndriy Gapon_itwd=		itwd
6501f6c33acSEric Joyner_ix=		ix
6511aa7c60cSJack F Vogel_ixv=		ixv
6523de0952fSSean Bruno.if ${MK_SOURCELESS_UCODE} != "no"
6533de0952fSSean Bruno_lio=		lio
6543de0952fSSean Bruno.endif
655ce110ea1SWei Hu_mana=		mana
6566b7b2d80SAdrian Chadd_nctgpio=	nctgpio
65763ac15abSAlexander Motin_ntb=		ntb
658ef270ab1SKenneth D. Merry_ocs_fc=	ocs_fc
65972143e89SMark Johnston_qat=		qat
660f078c492SMark Johnston_qatfw=		qatfw
661513798ccSYoshihiro Takahashi.if ${MK_OFED} != "no" || defined(ALL_MODULES)
662513798ccSYoshihiro Takahashi_rdma=		rdma
663513798ccSYoshihiro Takahashi.endif
664513798ccSYoshihiro Takahashi_safe=		safe
665513798ccSYoshihiro Takahashi_speaker=	speaker
666513798ccSYoshihiro Takahashi_splash=	splash
667513798ccSYoshihiro Takahashi_sppp=		sppp
6683706af42SArnaud Ysmal_p2sb=		p2sb
669513798ccSYoshihiro Takahashi_wbwd=		wbwd
6702b375b4eSYoshihiro Takahashi
671513798ccSYoshihiro Takahashi_aac=		aac
672513798ccSYoshihiro Takahashi_aacraid=	aacraid
673513798ccSYoshihiro Takahashi_acpi=		acpi
674513798ccSYoshihiro Takahashi.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
675513798ccSYoshihiro Takahashi_aesni=		aesni
676513798ccSYoshihiro Takahashi.endif
677f5aac907SAndriy Gapon_amd_ecc_inject=amd_ecc_inject
678513798ccSYoshihiro Takahashi_amdsbwd=	amdsbwd
679907f50feSConrad Meyer_amdsmn=	amdsmn
680513798ccSYoshihiro Takahashi_amdtemp=	amdtemp
681513798ccSYoshihiro Takahashi_arcmsr=	arcmsr
682513798ccSYoshihiro Takahashi_asmc=		asmc
6830e33efe4SConrad Meyer.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
6840e33efe4SConrad Meyer_blake2=	blake2
6850e33efe4SConrad Meyer.endif
686c5d1ccc2SOleksandr Tymoshenko_bytgpio=	bytgpio
68794b8a54aSOleksandr Tymoshenko_chvgpio=	chvgpio
688513798ccSYoshihiro Takahashi_ciss=		ciss
689448897d3SAndriy Gapon_chromebook_platform=	chromebook_platform
690513798ccSYoshihiro Takahashi_coretemp=	coretemp
691849aef49SAndrew Turner.if ${MK_SOURCELESS_HOST} != "no" && empty(KCSAN_ENABLED)
692513798ccSYoshihiro Takahashi_hpt27xx=	hpt27xx
693513798ccSYoshihiro Takahashi.endif
694513798ccSYoshihiro Takahashi_hptiop=	hptiop
695849aef49SAndrew Turner.if ${MK_SOURCELESS_HOST} != "no" && empty(KCSAN_ENABLED)
696513798ccSYoshihiro Takahashi_hptmv=		hptmv
697513798ccSYoshihiro Takahashi_hptnr=		hptnr
698513798ccSYoshihiro Takahashi_hptrr=		hptrr
699513798ccSYoshihiro Takahashi.endif
700513798ccSYoshihiro Takahashi_hyperv=	hyperv
701513798ccSYoshihiro Takahashi_ichwd=		ichwd
702513798ccSYoshihiro Takahashi_ida=		ida
703513798ccSYoshihiro Takahashi_iir=		iir
704d786719dSOleksandr Tymoshenko_intelspi=	intelspi
705513798ccSYoshihiro Takahashi_ips=		ips
706444e7e3dSRui Paulo_isci=		isci
707513798ccSYoshihiro Takahashi_ipw=		ipw
708444e7e3dSRui Paulo_iwi=		iwi
709444e7e3dSRui Paulo_iwm=		iwm
710444e7e3dSRui Paulo_iwn=		iwn
711513798ccSYoshihiro Takahashi.if ${MK_SOURCELESS_UCODE} != "no"
712513798ccSYoshihiro Takahashi_ipwfw=		ipwfw
713513798ccSYoshihiro Takahashi_iwifw=		iwifw
714444e7e3dSRui Paulo_iwmfw=		iwmfw
715513798ccSYoshihiro Takahashi_iwnfw=		iwnfw
716513798ccSYoshihiro Takahashi.endif
717513798ccSYoshihiro Takahashi_mly=		mly
718513798ccSYoshihiro Takahashi_nfe=		nfe
719513798ccSYoshihiro Takahashi_nvd=		nvd
720513798ccSYoshihiro Takahashi_nvme=		nvme
721513798ccSYoshihiro Takahashi_nvram=		nvram
722513798ccSYoshihiro Takahashi.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
723513798ccSYoshihiro Takahashi_padlock=	padlock
72410cb2424SMark Murray_padlock_rng=	padlock_rng
72510cb2424SMark Murray_rdrand_rng=	rdrand_rng
726513798ccSYoshihiro Takahashi.endif
727c3079787STakanori Watanabe_pchtherm = pchtherm
728513798ccSYoshihiro Takahashi_s3=		s3
729e5d519fdSOleksandr Tymoshenko_sdhci_acpi=	sdhci_acpi
730e3722b78SAndriy Gapon_superio=	superio
731513798ccSYoshihiro Takahashi_tpm=		tpm
732513798ccSYoshihiro Takahashi_twa=		twa
733513798ccSYoshihiro Takahashi_vesa=		vesa
734513798ccSYoshihiro Takahashi_viawd=		viawd
7357af4475aSAlexander Motin_vmd=		vmd
736513798ccSYoshihiro Takahashi_wpi=		wpi
737513798ccSYoshihiro Takahashi.if ${MK_SOURCELESS_UCODE} != "no"
738513798ccSYoshihiro Takahashi_wpifw=		wpifw
739513798ccSYoshihiro Takahashi.endif
740513798ccSYoshihiro Takahashi_x86bios=	x86bios
741513798ccSYoshihiro Takahashi.endif
742513798ccSYoshihiro Takahashi
743513798ccSYoshihiro Takahashi.if ${MACHINE_CPUARCH} == "amd64"
7448ce574deSOleksandr Tymoshenko_amdgpio=	amdgpio
745d3f8974aSConrad Meyer_ccp=		ccp
74677c1fcecSEric Joyner_iavf=		iavf
747e974f91cSConrad Meyer_ioat=		ioat
748513798ccSYoshihiro Takahashi_ixl=		ixl
7496db7f8e5SKonstantin Belousov_nvdimm=	nvdimm
750a650d869SBenno Rice_pms=		pms
751513798ccSYoshihiro Takahashi_qlxge=		qlxge
752513798ccSYoshihiro Takahashi_qlxgb=		qlxgb
753bd368728SMarko Zec_sume=		sume
75449c6edfcSEd Maste.if ${MK_SOURCELESS_UCODE} != "no"
755513798ccSYoshihiro Takahashi_qlxgbe=	qlxgbe
75611e25f0dSDavid C Somayajulu_qlnx=		qlnx
757eadaf05dSEd Maste.endif
758513798ccSYoshihiro Takahashi_sfxge=		sfxge
7592164af29SRuslan Bukin_sgx=		sgx
7602164af29SRuslan Bukin_sgx_linux=	sgx_linux
7611e66f787SSean Bruno_smartpqi=	smartpqi
7623706af42SArnaud Ysmal_p2sb=		p2sb
76302629e46SEnji Cooper
76402629e46SEnji Cooper.if ${MK_BHYVE} != "no" || defined(ALL_MODULES)
7652ec8d574SKonstantin Belousov.if ${KERN_OPTS:MSMP}
766513798ccSYoshihiro Takahashi_vmm=		vmm
767513798ccSYoshihiro Takahashi.endif
76802629e46SEnji Cooper.endif
7692ec8d574SKonstantin Belousov.endif
770513798ccSYoshihiro Takahashi
771c09808d0SWarner Losh.if ${MACHINE_CPUARCH} == "i386"
77228cc91d8SMike Smith# XXX some of these can move to the general case when de-i386'ed
7734e54e04eSWarner Losh# XXX some of these can move now, but are untested on other architectures.
774b8eaa978SRuslan Ermilov_3dfx=		3dfx
775375ce679SYaroslav Tykhiy_3dfx_linux=	3dfx_linux
77643c2dac0SEd Maste.if ${MK_SOURCELESS_HOST} != "no"
777f2ca64caSRoman Kurakin_ce=		ce
7784a47892cSRobert Millan.endif
779ead01bfeSEd Maste.if ${MK_SOURCELESS_HOST} != "no"
7804dba35d1SRoman Kurakin_cp=		cp
7814a47892cSRobert Millan.endif
782149d1c89SHenrik Brix Andersen_glxiic=	glxiic
783a51aa5d1SPhilip Paeps_glxsb=		glxsb
784b8eaa978SRuslan Ermilov_pcfclock=	pcfclock
7854f05e3faSRuslan Ermilov_pst=		pst
78626e46883SJohn Baldwin_sbni=		sbni
787b8eaa978SRuslan Ermilov.endif
788b8eaa978SRuslan Ermilov
7890050ea24SMichal Meloun.if ${MACHINE_ARCH} == "armv7"
7902064b86fSMarcel Moolenaar_cfi=		cfi
791e53470feSOleksandr Tymoshenko_cpsw=		cpsw
7922064b86fSMarcel Moolenaar.endif
7932064b86fSMarcel Moolenaar
794a393ae13SNathan Whitehorn.if ${MACHINE_CPUARCH} == "powerpc"
795d8c51c6fSLeandro Lupori_aacraid=	aacraid
79650fd2a5bSNathan Whitehorn_agp=		agp
797d87076c8SWarner Losh_an=		an
798363e589aSJustin Hibbits_cardbus=	cardbus
799363e589aSJustin Hibbits_cbb=		cbb
8002064b86fSMarcel Moolenaar_cfi=		cfi
8019eb9db93SNathan Whitehorn_cpufreq=	cpufreq
802fb6d9e60SJustin Hibbits_exca=		exca
803f5c49e5cSIan Lepore_ffec=		ffec
804b5e08a60SJustin Hibbits_nvd=		nvd
805b5e08a60SJustin Hibbits_nvme=		nvme
8068e2ad3d7SJustin Hibbits.endif
80773badb24SDavid E. O'Brien
808b75abea4SBrandon Bergren.if ${MACHINE_ARCH:Mpowerpc64*} != ""
8090bf0bb83SJustin Hibbits_ipmi=		ipmi
810c5568ba0SLeandro Lupori_ixl=		ixl
8111c56203bSJustin Hibbits_nvram=		opal_nvram
8122785677dSNathan Whitehorn.endif
813b963e10dSBrandon Bergren.if ${MACHINE_CPUARCH} == "powerpc" && ${MACHINE_ARCH} != "powerpcspe"
814dc9b124dSJustin Hibbits# Don't build powermac_nvram for powerpcspe, it's never supported.
8151c56203bSJustin Hibbits_nvram+=	powermac_nvram
816dc9b124dSJustin Hibbits.endif
8172785677dSNathan Whitehorn
818aea6d042SEd Schouten.if (${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \
819aea6d042SEd Schouten     ${MACHINE_ARCH:Marmv[67]*} != "" || ${MACHINE_CPUARCH} == "i386")
820e4df2955SEd Schouten_cloudabi32=	cloudabi32
821e4df2955SEd Schouten.endif
8222ff069a7SEd Schouten.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64"
8232ff069a7SEd Schouten_cloudabi64=	cloudabi64
8242ff069a7SEd Schouten.endif
8252ff069a7SEd Schouten
826581a68a2SWarner Losh.endif
827581a68a2SWarner Losh
828137a344cSPoul-Henning Kamp.if ${MACHINE_ARCH:Marmv[67]*} != "" || ${MACHINE_CPUARCH} == "aarch64"
829fc62b7e5SPoul-Henning Kamp_bcm283x_clkman=  bcm283x_clkman
830137a344cSPoul-Henning Kamp_bcm283x_pwm=  bcm283x_pwm
831137a344cSPoul-Henning Kamp.endif
832137a344cSPoul-Henning Kamp
833a31993feSAlex Richardson.if !(${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} < 110000)
834a31993feSAlex Richardson# LLVM 10 crashes when building if_malo_pci.c, fixed in LLVM11:
835a31993feSAlex Richardson# https://bugs.llvm.org/show_bug.cgi?id=44351
836a31993feSAlex Richardson_malo=	malo
837a31993feSAlex Richardson.endif
838a31993feSAlex Richardson
839854739a4SWarner LoshSUBDIR+=${MODULES_EXTRA}
840854739a4SWarner Losh
841ba2e5903SWes Peters.for reject in ${WITHOUT_MODULES}
842ba2e5903SWes PetersSUBDIR:= ${SUBDIR:N${reject}}
843ba2e5903SWes Peters.endfor
844ba2e5903SWes Peters
8455e82ed7bSRuslan Ermilov# Calling kldxref(8) for each module is expensive.
8464875819cSJake Burkholder.if !defined(NO_XREF)
84799bca506SRuslan Ermilov.MAKEFLAGS+=	-DNO_XREF
84849773547SBryan Dreweryafterinstall: .PHONY
849be1d673dSRuslan Ermilov	@if type kldxref >/dev/null 2>&1; then \
8505ec57af4SMaxim Sobolev		${ECHO} ${KLDXREF_CMD} ${DESTDIR}${KMODDIR}; \
8515ec57af4SMaxim Sobolev		${KLDXREF_CMD} ${DESTDIR}${KMODDIR}; \
852be1d673dSRuslan Ermilov	fi
8535e82ed7bSRuslan Ermilov.endif
8545e82ed7bSRuslan Ermilov
85535c4406dSWarner LoshSUBDIR:= ${SUBDIR:u:O}
85635c4406dSWarner Losh
8570eec3684SGarrett Wollman.include <bsd.subdir.mk>
858