xref: /freebsd/sys/modules/Makefile (revision 1f6c33ac45c641f5da5ce4e9068ab3e9fb9dcfa7)
1c3aac50fSPeter Wemm# $FreeBSD$
20eec3684SGarrett Wollman
3df3394b3SWarner LoshSYSDIR?=${.CURDIR}/..
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
1179785bbfSEnji Cooper.if defined(MODULES_OVERRIDE) && !defined(ALL_MODULES)
1279785bbfSEnji CooperSUBDIR=${MODULES_OVERRIDE}
1379785bbfSEnji Cooper.else
1498663aa0SDavid E. O'BrienSUBDIR=	\
1598663aa0SDavid E. O'Brien	${_3dfx} \
16375ce679SYaroslav Tykhiy	${_3dfx_linux} \
17b8eaa978SRuslan Ermilov	${_aac} \
18dce93cd0SAchim Leubner	${_aacraid} \
19b8eaa978SRuslan Ermilov	accf_data \
20744eaff7SDavid Malone	accf_dns \
2109261c4fSBrooks Davis	accf_http \
229124ddebSAdrian Chadd	acl_nfs4 \
239124ddebSAdrian Chadd	acl_posix1e \
24b8eaa978SRuslan Ermilov	${_acpi} \
25ba26d470SStanislav Sedov	ae \
265f270659SKonstantin Belousov	${_aesni} \
27cfef026aSPyun YongHyeon	age \
28b8eaa978SRuslan Ermilov	${_agp} \
2909261c4fSBrooks Davis	aha \
301c534adaSWarner Losh	${_ahb} \
3152c9ce25SScott Long	ahci \
32b8eaa978SRuslan Ermilov	${_aic} \
33fb404d6fSScott Long	aic7xxx \
3421d56e9cSAlfred Perlstein	aio \
35d68875ebSPyun YongHyeon	alc \
363c6e15bcSPyun YongHyeon	ale \
37d28f42f9SLawrence Stewart	alq \
385022f21bSAndriy Gapon	${_amdsbwd} \
392b201a17SAndriy Gapon	${_amdtemp} \
4009261c4fSBrooks Davis	amr \
41d87076c8SWarner Losh	${_an} \
42b8eaa978SRuslan Ermilov	${_aout} \
43b8eaa978SRuslan Ermilov	${_apm} \
44d0885ac3SScott Long	${_arcmsr} \
45b8eaa978SRuslan Ermilov	${_arcnet} \
46e702bc74SRui Paulo	${_asmc} \
478ca4df32SSøren Schmidt	ata \
4833644623SSam Leffler	ath \
49dba9c859SAdrian Chadd	ath_pci \
50b3590423SEnji Cooper	${_autofs} \
51e60fc88fSPyun YongHyeon	${_auxio} \
524a47892cSRobert Millan	${_bce} \
53b9f78d2bSBill Paul	bfe \
5495d67482SBill Paul	bge \
55102657cbSDavid Christensen	${_bxe} \
56b8eaa978SRuslan Ermilov	${_bios} \
57b8eaa978SRuslan Ermilov	${_bktr} \
58cf99524aSMarcel Moolenaar	${_bm} \
598a33eee1SAndrew Thompson	bridgestp \
60215da5ecSWarner Losh	bwi \
61215da5ecSWarner Losh	bwn \
62aa980888SJake Burkholder	cam \
63b8eaa978SRuslan Ermilov	${_canbepm} \
64b8eaa978SRuslan Ermilov	${_canbus} \
65b8eaa978SRuslan Ermilov	${_cardbus} \
66663222f1SGleb Smirnoff	${_carp} \
67119051cbSMarius Strobl	cas \
68b8eaa978SRuslan Ermilov	${_cbb} \
69ad4e3b96SLawrence Stewart	cc \
70aa980888SJake Burkholder	cd9660 \
71c4f02a89SMax Khon	cd9660_iconv \
72f2ca64caSRoman Kurakin	${_ce} \
732064b86fSMarcel Moolenaar	${_cfi} \
74b8eaa978SRuslan Ermilov	${_ciss} \
75b8eaa978SRuslan Ermilov	${_cm} \
76603d67aeSRink Springer	${_cmx} \
77b8eaa978SRuslan Ermilov	${_coff} \
7883d18f22SDag-Erling Smørgrav	${_coretemp} \
794dba35d1SRoman Kurakin	${_cp} \
80e53470feSOleksandr Tymoshenko	${_cpsw} \
81e085f869SStanislav Sedov	${_cpuctl} \
826ab93acaSScott Long	${_cpufreq} \
83f544a528SMark Murray	${_crypto} \
84f544a528SMark Murray	${_cryptodev} \
8517d56bddSWarner Losh	${_cs} \
862a6ce61aSJohn Baldwin	${_ct} \
876ca77a6fSRoman Kurakin	${_ctau} \
8832562145SEdward Tomasz Napierala	ctl \
89c99255b8SWarner Losh	${_cxgb} \
904310207eSRobert Millan	${_cxgbe} \
9109261c4fSBrooks Davis	dc \
92869093b1SHidetoshi Shimokawa	dcons \
93869093b1SHidetoshi Shimokawa	dcons_crom \
9409261c4fSBrooks Davis	de \
95aa7c1c05SJohn Baldwin	${_dpms} \
96b8eaa978SRuslan Ermilov	${_dpt} \
97b8eaa978SRuslan Ermilov	${_drm} \
98ccc00630SKonstantin Belousov	${_drm2} \
99adab6548SJohn Birrell	${_dtrace} \
1008c4026b5SPaul Saab	dummynet \
101b8eaa978SRuslan Ermilov	${_ed} \
102b8eaa978SRuslan Ermilov	${_elink} \
103b8eaa978SRuslan Ermilov	${_em} \
1047d361237SHartmut Brandt	en \
105b8eaa978SRuslan Ermilov	${_ep} \
106319570f9SMarius Strobl	${_epic} \
107a9ab459bSMarius Strobl	esp \
1084d52a575SXin LI	${_et} \
109b8eaa978SRuslan Ermilov	${_ex} \
110b8eaa978SRuslan Ermilov	${_exca} \
1114be7e5f8SJustin Hibbits	ext2fs \
1124a47892cSRobert Millan	${_fatm} \
11309261c4fSBrooks Davis	fdc \
11442d6ed03SBruce Evans	fdescfs \
115b8eaa978SRuslan Ermilov	${_fe} \
1160d773745SDavid E. O'Brien	${_filemon} \
1177d2ba89bSJohn Baldwin	firewire \
1186aec1278SMax Laier	firmware \
1195fe58019SAttilio Rao	fuse \
1204a47892cSRobert Millan	${_fxp} \
1211ed3fed7SMarius Strobl	gem \
1225d9bef64SPoul-Henning Kamp	geom \
123149d1c89SHenrik Brix Andersen	${_glxiic} \
124a51aa5d1SPhilip Paeps	${_glxsb} \
125c594298bSHartmut Brandt	hatm \
1268b7ce2ffSSam Leffler	hifn \
127ac341582SMarius Strobl	hme \
12881966bceSXin LI	${_hpt27xx} \
129f73e86c3SScott Long	${_hptiop} \
130085f35d6SScott Long	${_hptmv} \
1311fdeb165SXin LI	${_hptnr} \
132b063a422SScott Long	${_hptrr} \
1339c3a1281SMarcel Moolenaar	hwpmc \
1347d99ab9fSPeter Grehan	${_hyperv} \
1354be7e5f8SJustin Hibbits	i2c \
136c9f432b7SAlfred Perlstein        ${_ibcore} \
137b8eaa978SRuslan Ermilov	${_ibcs2} \
138cae8da61SDag-Erling Smørgrav	${_ichwd} \
139b8eaa978SRuslan Ermilov	${_ida} \
140b8eaa978SRuslan Ermilov	${_ie} \
1417afc53b8SAndrew Thompson	if_bridge \
14209261c4fSBrooks Davis	if_disc \
14363518eccSYaroslav Tykhiy	if_edsc \
144d0ea4743SBjoern A. Zeeb	if_epair \
145f325335cSAndrey V. Elsukov	${_if_gif} \
146af8a927eSBjoern A. Zeeb	${_if_gre} \
147f325335cSAndrey V. Elsukov	${_if_me} \
14818242d3bSAndrew Thompson	if_lagg \
14996b50ea3SBill Paul	${_if_ndis} \
15009261c4fSBrooks Davis	if_stf \
15109261c4fSBrooks Davis	if_tap \
15209261c4fSBrooks Davis	if_tun \
153214bfc97SBrooks Davis	if_vlan \
154007054f0SBryan Venteicher	if_vxlan \
1556f48e680SJack F Vogel	${_igb} \
156b8eaa978SRuslan Ermilov	${_iir} \
15781e3caafSJustin Hibbits	imgact_binmisc \
1588ab2f5ecSMark Murray	${_io} \
159c9f432b7SAlfred Perlstein        ${_ipoib} \
160aa57e971SBjoern A. Zeeb	${_ipdivert} \
161b8eaa978SRuslan Ermilov	${_ipfilter} \
1628813217aSBjoern A. Zeeb	${_ipfw} \
163755d3f8aSPaolo Pisati	ipfw_nat \
1641c204a57SDoug Ambrisko	${_ipmi} \
165d5c0af17SAndrey V. Elsukov	ip6_mroute_mod \
1668c11b231SRuslan Ermilov	ip_mroute_mod \
167b8eaa978SRuslan Ermilov	${_ips} \
168b4c31113SDamien Bergamini	${_ipw} \
1697bd6fde3SFlorent Thoumie	${_ipwfw} \
170f11c7f63SJim Harris	${_isci} \
17197af632bSJohn Baldwin	isp \
1724a47892cSRobert Millan	${_ispfw} \
173b4c31113SDamien Bergamini	${_iwi} \
1747bd6fde3SFlorent Thoumie	${_iwifw} \
1753971d07bSSam Leffler	${_iwn} \
1763971d07bSSam Leffler	${_iwnfw} \
177bc2e8d79SJack F Vogel	${_ix} \
178bc2e8d79SJack F Vogel	${_ixv} \
179*1f6c33acSEric Joyner	${_ixgb} \
180d502eb6dSJack F Vogel	${_ixl} \
181d502eb6dSJack F Vogel	${_ixlv} \
18275a1bf5fSPyun YongHyeon	jme \
18309261c4fSBrooks Davis	joy \
184f9e56677SMaksim Yevmenkin	kbdmux \
1857e7fd7d1SRick Macklem	kgssapi \
1867e7fd7d1SRick Macklem	kgssapi_krb5 \
1876987b09fSLawrence Stewart	khelp \
188fa9d9930SDoug Rabson	krpc \
18900a5db46SStacey Son	ksyms \
19044ac0964SMarius Strobl	le \
19109261c4fSBrooks Davis	lge \
1926cd047a0SGleb Smirnoff	libalias \
1930e3b6d50SSheldon Hearn	libiconv \
1947e9024cdSHartmut Brandt	libmbpool \
19509261c4fSBrooks Davis	libmchain \
196b8eaa978SRuslan Ermilov	${_linprocfs} \
19732397ce0SDoug Ambrisko	${_linsysfs} \
198b8eaa978SRuslan Ermilov	${_linux} \
19967d39748SDmitry Chagin	${_linux_common} \
200c0fe996dSDmitry Chagin	${_linux64} \
201e982e5c5SHans Petter Selasky	${_linuxapi} \
2022bc6081cSScott Long	lmc \
2031b6c2589SPoul-Henning Kamp	lpt \
204ebbd4fa8SRobert Watson	mac_biba \
205ebbd4fa8SRobert Watson	mac_bsdextended \
206ebbd4fa8SRobert Watson	mac_ifoff \
2075773cccfSRobert Watson	mac_lomac \
208ebbd4fa8SRobert Watson	mac_mls \
209ebbd4fa8SRobert Watson	mac_none \
21051363000SRobert Watson	mac_partition \
21103d03162SRobert Watson	mac_portacl \
212ebbd4fa8SRobert Watson	mac_seeotheruids \
213782f7255SRobert Watson	mac_stub \
214ebbd4fa8SRobert Watson	mac_test \
215e76ee875SWeongyo Jeong	malo \
216e73b093aSMatthew N. Dodd	mcd \
21709261c4fSBrooks Davis	md \
2189004f894SDavid E. O'Brien	mem \
219215da5ecSWarner Losh	mfi \
22009261c4fSBrooks Davis	mii \
22109261c4fSBrooks Davis	mlx \
2223b1f0b5dSJeff Roberson	${_mlx4} \
2233b1f0b5dSJeff Roberson	${_mlx4ib} \
2243b1f0b5dSJeff Roberson	${_mlxen} \
225b8eaa978SRuslan Ermilov	${_mly} \
226831f5dcfSAlexander Motin	mmc \
227831f5dcfSAlexander Motin	mmcsd \
228991554f2SKenneth D. Merry	mpr \
229d3c7b9a0SKenneth D. Merry	mps \
230215da5ecSWarner Losh	mpt \
2316c597554SDavid Xu	mqueue \
232665484d8SDoug Ambrisko	mrsas \
23386597d47SMaxime Henrion	msdosfs \
234c4f02a89SMax Khon	msdosfs_iconv \
235d4df4850SRuslan Ermilov	${_mse} \
236c9d21ce9SPyun YongHyeon	msk \
2373b1f0b5dSJeff Roberson	${_mthca} \
238dd48af36SAlexander Motin	mvs \
239cf4c5a53SSam Leffler	mwl \
2404a47892cSRobert Millan	${_mwlfw} \
241f9ae0280SAndrew Gallatin	mxge \
242e4de92ceSRuslan Ermilov	my \
2437f725bcdSGrzegorz Bernacki	${_nandfs} \
2447f725bcdSGrzegorz Bernacki	${_nandsim} \
2453355bd61SRui Paulo	${_ncr} \
246b8eaa978SRuslan Ermilov	${_ncv} \
247b8eaa978SRuslan Ermilov	${_ndis} \
2484a9af7d5SBjoern A. Zeeb	netfpga10g \
249abae4e8aSAntoine Brodin	${_netgraph} \
250bfc788c2SDavid E. O'Brien	${_nfe} \
251bcbdacddSRick Macklem	nfscl \
252bcbdacddSRick Macklem	nfscommon \
253bcbdacddSRick Macklem	nfsd \
254f92bbff2SRick Macklem	nfslock \
255fa9d9930SDoug Rabson	nfslockd \
25645452edcSRick Macklem	nfssvc \
25709261c4fSBrooks Davis	nge \
25809261c4fSBrooks Davis	nmdm \
259b8eaa978SRuslan Ermilov	${_nsp} \
26009261c4fSBrooks Davis	nullfs \
261e47937d1SCarl Delsey	${_ntb} \
262eb85d44fSJim Harris	${_nvd} \
263eb85d44fSJim Harris	${_nvme} \
264d5566384SPeter Wemm	${_nvram} \
2658c11b231SRuslan Ermilov	${_nxge} \
266adab6548SJohn Birrell	${_opensolaris} \
2672f345d8eSLuigi Rizzo	oce \
268ef0a6e20SPawel Jakub Dawidek	${_padlock} \
26910cb2424SMark Murray	${_padlock_rng} \
2708dd4275cSHartmut Brandt	patm \
271b8eaa978SRuslan Ermilov	${_pccard} \
272b8eaa978SRuslan Ermilov	${_pcfclock} \
27309261c4fSBrooks Davis	pcn \
2748d69c48bSMax Laier	${_pf} \
2755bba2114SMax Laier	${_pflog} \
276e0bfbfceSBjoern A. Zeeb	${_pfsync} \
2771b6c2589SPoul-Henning Kamp	plip \
278b8eaa978SRuslan Ermilov	${_pmc} \
2791b6c2589SPoul-Henning Kamp	ppbus \
280c69e06b1SMarcel Moolenaar	ppc \
2811b6c2589SPoul-Henning Kamp	ppi \
2821b6c2589SPoul-Henning Kamp	pps \
2833fd18735SDag-Erling Smørgrav	procfs \
28467fb10f3SMarcel Moolenaar	proto \
2853fd18735SDag-Erling Smørgrav	pseudofs \
2864f05e3faSRuslan Ermilov	${_pst} \
287f105c8beSEd Schouten	pty  \
288c69e06b1SMarcel Moolenaar	puc \
289711bcba0SDavid C Somayajulu	${_qlxge} \
2900bc7cf6fSBjoern A. Zeeb	${_qlxgb} \
291f10a77bbSDavid C Somayajulu	${_qlxgbe} \
292ceaec73dSDamien Bergamini	ral \
2934a47892cSRobert Millan	${_ralfw} \
29409261c4fSBrooks Davis	${_random} \
2950ac19bd5SSam Leffler	rc4 \
29653d68f00SKip Macy	${_rdma} \
29710cb2424SMark Murray	${_rdrand_rng} \
298a94100faSBill Paul	re \
299e0afbb58SJean-Sébastien Pédron	reiserfs \
30009261c4fSBrooks Davis	rl \
301b8eaa978SRuslan Ermilov	${_s3} \
302b8eaa978SRuslan Ermilov	${_safe} \
30326e46883SJohn Baldwin	${_sbni} \
304af2e25a6SMarcel Moolenaar	scc \
30526a9ce3eSMatthew N. Dodd	scd \
306b8eaa978SRuslan Ermilov	${_scsi_low} \
307831f5dcfSAlexander Motin	sdhci \
308d6b3aaf8SOleksandr Tymoshenko	sdhci_pci \
3095416cda8STom Rhodes	sem \
3101db8d1f8SAna Kukec	send \
3114a47892cSRobert Millan	${_sf} \
3125bd64b65SPhilip Paeps	${_sfxge} \
313d193ed0bSPyun YongHyeon	sge \
314e6e57451SJohn Baldwin	${_si} \
3150bdee1faSWarner Losh	siba_bwn \
316a5548bf6SLawrence Stewart	siftr \
31767b87e44SAlexander Motin	siis \
31809261c4fSBrooks Davis	sis \
31909261c4fSBrooks Davis	sk \
3204be7e5f8SJustin Hibbits	smbfs \
321eac107b8SWarner Losh	sn \
322b8eaa978SRuslan Ermilov	${_snc} \
323932ef5b5SEd Schouten	snp \
3244be7e5f8SJustin Hibbits	sound \
325b8eaa978SRuslan Ermilov	${_speaker} \
326b8eaa978SRuslan Ermilov	${_splash} \
327b8eaa978SRuslan Ermilov	${_sppp} \
32809261c4fSBrooks Davis	ste \
329b8eaa978SRuslan Ermilov	${_stg} \
330d497bdf1SPyun YongHyeon	stge \
331b8eaa978SRuslan Ermilov	${_streams} \
3325c07a171SOlivier Houchard	${_svr4} \
333c99255b8SWarner Losh	${_sym} \
334b8eaa978SRuslan Ermilov	${_syscons} \
33509261c4fSBrooks Davis	sysvipc \
3364a47892cSRobert Millan	${_ti} \
33709261c4fSBrooks Davis	tl \
338d319cc96SNathan Whitehorn	tmpfs \
33909fe6320SNavdeep Parhar	${_toecore} \
340c02b5042SWarner Losh	${_tpm} \
341f3d92b26SOlivier Houchard	trm \
3423c12ea23SVinod Kashyap	${_twa} \
34342d6ed03SBruce Evans	twe \
344db1fda10SXin LI	tws \
34509261c4fSBrooks Davis	tx \
3464a47892cSRobert Millan	${_txp} \
347b74668b1SWarner Losh	uart \
3488b7ce2ffSSam Leffler	ubsec \
349df263cbdSScott Long	udf \
35077730021SScott Long	udf_iconv \
351b16af7f1SEdward Tomasz Napierala	ufs \
35209261c4fSBrooks Davis	unionfs \
3537d0d268bSAndrew Thompson	usb \
354591f4054SHartmut Brandt	utopia \
355b8eaa978SRuslan Ermilov	${_vesa} \
35610b59a9bSPeter Grehan	${_virtio} \
357a07bd003SBill Paul	vge \
35861af1d13SFabien Thomas	${_viawd} \
359a7ff99ccSHans Petter Selasky	videomode \
3606e81ac21SMaksim Yevmenkin	vkbd \
361366f6083SPeter Grehan	${_vmm} \
362e3c97c2cSBryan Venteicher	${_vmware} \
363042bbe55SPeter Grehan	${_vpo} \
36409261c4fSBrooks Davis	vr \
3652608aefcSPyun YongHyeon	vte \
36609261c4fSBrooks Davis	vx \
3672304f22dSChristian Brueffer	${_vxge} \
36809261c4fSBrooks Davis	wb \
3690566170fSBjoern A. Zeeb	${_wbwd} \
370e6e57451SJohn Baldwin	${_wds} \
371b8eaa978SRuslan Ermilov	${_wi} \
372e6e57451SJohn Baldwin	${_wl} \
3730ac19bd5SSam Leffler	wlan \
37495ef8c71SSam Leffler	wlan_acl \
37574828f25SSam Leffler	wlan_amrr \
37663f9a4cbSSam Leffler	wlan_ccmp \
377b032f27cSSam Leffler	wlan_rssadapt \
37863f9a4cbSSam Leffler	wlan_tkip \
37963f9a4cbSSam Leffler	wlan_wep \
38063f9a4cbSSam Leffler	wlan_xauth \
38103734771SBenjamin Close	${_wpi} \
38203734771SBenjamin Close	${_wpifw} \
383a57707e7SXin LI	${_x86bios} \
384b8eaa978SRuslan Ermilov	${_xe} \
385cf62a08fSWojciech A. Koszek	xl \
386ceef0c31SPawel Jakub Dawidek	${_zfs} \
387513798ccSYoshihiro Takahashi	zlib
3884310207eSRobert Millan
389b3590423SEnji Cooper.if ${MK_AUTOFS} != "no" || defined(ALL_MODULES)
390b3590423SEnji Cooper_autofs=	autofs
391b3590423SEnji Cooper.endif
392b3590423SEnji Cooper
393e1fe3dbaSRuslan Ermilov.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
394b8eaa978SRuslan Ermilov.if exists(${.CURDIR}/../opencrypto)
395b8eaa978SRuslan Ermilov_crypto=	crypto
396b8eaa978SRuslan Ermilov_cryptodev=	cryptodev
397b8eaa978SRuslan Ermilov.endif
398b8eaa978SRuslan Ermilov.if exists(${.CURDIR}/../crypto)
399b8eaa978SRuslan Ermilov_random=	random
400aa980888SJake Burkholder.endif
4017a07b896SIan Dowse.endif
402aa980888SJake Burkholder
403e3d1e0f6SEnji Cooper.if ${MK_CUSE} != "no" || defined(ALL_MODULES)
404e3d1e0f6SEnji CooperSUBDIR+=	cuse
405e3d1e0f6SEnji Cooper.endif
406e3d1e0f6SEnji Cooper
407af8a927eSBjoern A. Zeeb.if (${MK_INET_SUPPORT} != "no" || ${MK_INET6_SUPPORT} != "no") || \
408af8a927eSBjoern A. Zeeb	defined(ALL_MODULES)
409663222f1SGleb Smirnoff_carp=		carp
41009fe6320SNavdeep Parhar_toecore=	toecore
411f325335cSAndrey V. Elsukov_if_gif=	if_gif
412f325335cSAndrey V. Elsukov_if_gre=	if_gre
413af8a927eSBjoern A. Zeeb.endif
414af8a927eSBjoern A. Zeeb
415aa57e971SBjoern A. Zeeb.if ${MK_INET_SUPPORT} != "no" || defined(ALL_MODULES)
416f325335cSAndrey V. Elsukov_if_me=		if_me
417513798ccSYoshihiro Takahashi_ipdivert=	ipdivert
418513798ccSYoshihiro Takahashi_ipfw=		ipfw
419aa57e971SBjoern A. Zeeb.endif
420aa57e971SBjoern A. Zeeb
421e1fe3dbaSRuslan Ermilov.if ${MK_IPFILTER} != "no" || defined(ALL_MODULES)
422b8eaa978SRuslan Ermilov_ipfilter=	ipfilter
4237a43a96aSRuslan Ermilov.endif
4247a43a96aSRuslan Ermilov
425b29d6977SEnji Cooper.if ${MK_ISCSI} != "no" || defined(ALL_MODULES)
426b29d6977SEnji CooperSUBDIR+=	iscsi
427b29d6977SEnji CooperSUBDIR+=	iscsi_initiator
428b29d6977SEnji Cooper.endif
429b29d6977SEnji Cooper
4307f725bcdSGrzegorz Bernacki.if ${MK_NAND} != "no" || defined(ALL_MODULES)
4317f725bcdSGrzegorz Bernacki_nandfs=	nandfs
4327f725bcdSGrzegorz Bernacki_nandsim=	nandsim
4337f725bcdSGrzegorz Bernacki.endif
4347f725bcdSGrzegorz Bernacki
435abae4e8aSAntoine Brodin.if ${MK_NETGRAPH} != "no" || defined(ALL_MODULES)
436abae4e8aSAntoine Brodin_netgraph=	netgraph
437abae4e8aSAntoine Brodin.endif
438abae4e8aSAntoine Brodin
439af8a927eSBjoern A. Zeeb.if (${MK_PF} != "no" && (${MK_INET_SUPPORT} != "no" || \
440af8a927eSBjoern A. Zeeb	${MK_INET6_SUPPORT} != "no")) || defined(ALL_MODULES)
4418d69c48bSMax Laier_pf=		pf
4425bba2114SMax Laier_pflog=		pflog
443e0bfbfceSBjoern A. Zeeb.if ${MK_INET_SUPPORT} != "no"
444e0bfbfceSBjoern A. Zeeb_pfsync=	pfsync
445e0bfbfceSBjoern A. Zeeb.endif
4468d69c48bSMax Laier.endif
4478d69c48bSMax Laier
4484a47892cSRobert Millan.if ${MK_SOURCELESS_UCODE} != "no"
4494a47892cSRobert Millan_bce=		bce
4504a47892cSRobert Millan_fatm=		fatm
4514a47892cSRobert Millan_fxp=		fxp
4524a47892cSRobert Millan_ispfw=		ispfw
4534a47892cSRobert Millan_mwlfw=		mwlfw
4544a47892cSRobert Millan_ralfw=		ralfw
4554a47892cSRobert Millan_sf=		sf
4564a47892cSRobert Millan_ti=		ti
4574a47892cSRobert Millan_txp=		txp
4584a47892cSRobert Millan.endif
4594a47892cSRobert Millan
460ca7fe84aSNavdeep Parhar.if ${MK_SOURCELESS_UCODE} != "no" && ${MACHINE_CPUARCH} != "arm" && \
4618ff01f5dSEd Maste	${MACHINE_ARCH:C/mips(el)?/mips/} != "mips" && \
462b7d3aa11SNavdeep Parhar	${MACHINE_ARCH} != "powerpc"
463183dc986SNavdeep Parhar_cxgbe=		cxgbe
464183dc986SNavdeep Parhar.endif
465513798ccSYoshihiro Takahashi
466513798ccSYoshihiro Takahashi.if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips" && \
467513798ccSYoshihiro Takahashi	${MACHINE_CPUARCH} != "powerpc"
468513798ccSYoshihiro Takahashi_syscons=	syscons
469513798ccSYoshihiro Takahashi_vpo=		vpo
470513798ccSYoshihiro Takahashi.endif
471513798ccSYoshihiro Takahashi
472e2b58d84SWarner Losh.if ${MACHINE_CPUARCH} != "mips"
473513798ccSYoshihiro Takahashi# no BUS_SPACE_UNSPECIFIED
474513798ccSYoshihiro Takahashi# No barrier instruction support (specific to this driver)
475513798ccSYoshihiro Takahashi_sym=		sym
476513798ccSYoshihiro Takahashi# intr_disable() is a macro, causes problems
477513798ccSYoshihiro Takahashi.if ${MK_SOURCELESS_UCODE} != "no"
478513798ccSYoshihiro Takahashi_cxgb=		cxgb
479513798ccSYoshihiro Takahashi.endif
480513798ccSYoshihiro Takahashi.endif
481513798ccSYoshihiro Takahashi
482513798ccSYoshihiro Takahashi.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
483513798ccSYoshihiro Takahashi_agp=		agp
484513798ccSYoshihiro Takahashi_an=		an
485513798ccSYoshihiro Takahashi_aout=		aout
486513798ccSYoshihiro Takahashi_bktr=		bktr
487513798ccSYoshihiro Takahashi_bxe=		bxe
488513798ccSYoshihiro Takahashi_cardbus=	cardbus
489513798ccSYoshihiro Takahashi_cbb=		cbb
490513798ccSYoshihiro Takahashi_cpuctl=	cpuctl
491513798ccSYoshihiro Takahashi_cpufreq=	cpufreq
4921acffcc4SWarner Losh_cs=		cs
493513798ccSYoshihiro Takahashi_dpms=		dpms
494513798ccSYoshihiro Takahashi_drm=		drm
495513798ccSYoshihiro Takahashi_drm2=		drm2
496513798ccSYoshihiro Takahashi.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
497513798ccSYoshihiro Takahashi_dtrace=	dtrace
498513798ccSYoshihiro Takahashi.endif
499513798ccSYoshihiro Takahashi_ed=		ed
500513798ccSYoshihiro Takahashi_em=		em
5011acffcc4SWarner Losh_ep=		ep
502513798ccSYoshihiro Takahashi_et=		et
503513798ccSYoshihiro Takahashi_exca=		exca
5041acffcc4SWarner Losh_fe=		fe
505513798ccSYoshihiro Takahashi_filemon=	filemon
506513798ccSYoshihiro Takahashi.if ${MK_OFED} != "no" || defined(ALL_MODULES)
507513798ccSYoshihiro Takahashi_ibcore=        ibcore
508513798ccSYoshihiro Takahashi.endif
509513798ccSYoshihiro Takahashi_if_ndis=	if_ndis
510513798ccSYoshihiro Takahashi_igb=		igb
511513798ccSYoshihiro Takahashi_io=		io
512513798ccSYoshihiro Takahashi.if ${MK_OFED} != "no" || defined(ALL_MODULES)
513513798ccSYoshihiro Takahashi_ipoib=         ipoib
514513798ccSYoshihiro Takahashi.endif
515*1f6c33acSEric Joyner_ix=		ix
5161aa7c60cSJack F Vogel_ixv=		ixv
517513798ccSYoshihiro Takahashi_linprocfs=	linprocfs
518513798ccSYoshihiro Takahashi_linsysfs=	linsysfs
519513798ccSYoshihiro Takahashi_linux=		linux
520673d1626SHans Petter Selasky.if ${MK_OFED} != "no"
521e982e5c5SHans Petter Selasky_linuxapi=	linuxapi
522673d1626SHans Petter Selasky.endif
523513798ccSYoshihiro Takahashi_ndis=		ndis
524513798ccSYoshihiro Takahashi.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
525513798ccSYoshihiro Takahashi_opensolaris=	opensolaris
526513798ccSYoshihiro Takahashi.endif
527513798ccSYoshihiro Takahashi_pccard=	pccard
528513798ccSYoshihiro Takahashi.if ${MK_OFED} != "no" || defined(ALL_MODULES)
529513798ccSYoshihiro Takahashi_rdma=		rdma
530513798ccSYoshihiro Takahashi.endif
531513798ccSYoshihiro Takahashi_safe=		safe
532513798ccSYoshihiro Takahashi_scsi_low=	scsi_low
533513798ccSYoshihiro Takahashi_si=		si
534513798ccSYoshihiro Takahashi_speaker=	speaker
535513798ccSYoshihiro Takahashi_splash=	splash
536513798ccSYoshihiro Takahashi_sppp=		sppp
537513798ccSYoshihiro Takahashi_vmware=	vmware
538513798ccSYoshihiro Takahashi_vxge=  	vxge
539513798ccSYoshihiro Takahashi_wbwd=		wbwd
540513798ccSYoshihiro Takahashi_wi=		wi
5411acffcc4SWarner Losh_xe=		xe
542513798ccSYoshihiro Takahashi.if ${MK_ZFS} != "no" || defined(ALL_MODULES)
543513798ccSYoshihiro Takahashi_zfs=		zfs
544513798ccSYoshihiro Takahashi.endif
545513798ccSYoshihiro Takahashi.if ${MACHINE} != "pc98"
546513798ccSYoshihiro Takahashi_aac=		aac
547513798ccSYoshihiro Takahashi_aacraid=	aacraid
548513798ccSYoshihiro Takahashi_acpi=		acpi
549513798ccSYoshihiro Takahashi.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
550513798ccSYoshihiro Takahashi_aesni=		aesni
551513798ccSYoshihiro Takahashi.endif
552513798ccSYoshihiro Takahashi_amdsbwd=	amdsbwd
553513798ccSYoshihiro Takahashi_amdtemp=	amdtemp
554513798ccSYoshihiro Takahashi_arcmsr=	arcmsr
555513798ccSYoshihiro Takahashi_asmc=		asmc
556513798ccSYoshihiro Takahashi_ciss=		ciss
557513798ccSYoshihiro Takahashi_cmx=		cmx
558513798ccSYoshihiro Takahashi_coretemp=	coretemp
559513798ccSYoshihiro Takahashi.if ${MK_SOURCELESS_HOST} != "no"
560513798ccSYoshihiro Takahashi_hpt27xx=	hpt27xx
561513798ccSYoshihiro Takahashi.endif
562513798ccSYoshihiro Takahashi_hptiop=	hptiop
563513798ccSYoshihiro Takahashi.if ${MK_SOURCELESS_HOST} != "no"
564513798ccSYoshihiro Takahashi_hptmv=		hptmv
565513798ccSYoshihiro Takahashi_hptnr=		hptnr
566513798ccSYoshihiro Takahashi_hptrr=		hptrr
567513798ccSYoshihiro Takahashi.endif
568513798ccSYoshihiro Takahashi_hyperv=	hyperv
569513798ccSYoshihiro Takahashi_ichwd=		ichwd
570513798ccSYoshihiro Takahashi_ida=		ida
571513798ccSYoshihiro Takahashi_iir=		iir
572513798ccSYoshihiro Takahashi_ipmi=		ipmi
573513798ccSYoshihiro Takahashi_ips=		ips
574513798ccSYoshihiro Takahashi_ipw=		ipw
575513798ccSYoshihiro Takahashi.if ${MK_SOURCELESS_UCODE} != "no"
576513798ccSYoshihiro Takahashi_ipwfw=		ipwfw
577513798ccSYoshihiro Takahashi.endif
578513798ccSYoshihiro Takahashi_isci=		isci
579513798ccSYoshihiro Takahashi_iwi=		iwi
580513798ccSYoshihiro Takahashi.if ${MK_SOURCELESS_UCODE} != "no"
581513798ccSYoshihiro Takahashi_iwifw=		iwifw
582513798ccSYoshihiro Takahashi.endif
583513798ccSYoshihiro Takahashi_iwn=		iwn
584513798ccSYoshihiro Takahashi.if ${MK_SOURCELESS_UCODE} != "no"
585513798ccSYoshihiro Takahashi_iwnfw=		iwnfw
586513798ccSYoshihiro Takahashi.endif
587513798ccSYoshihiro Takahashi_ixgb=		ixgb
588513798ccSYoshihiro Takahashi.if ${MK_OFED} != "no" || defined(ALL_MODULES)
589513798ccSYoshihiro Takahashi_mlx4=		mlx4
590513798ccSYoshihiro Takahashi_mlx4ib=	mlx4ib
591513798ccSYoshihiro Takahashi_mlxen=		mlxen
592513798ccSYoshihiro Takahashi.endif
593513798ccSYoshihiro Takahashi_mly=		mly
594513798ccSYoshihiro Takahashi.if ${MK_OFED} != "no" || defined(ALL_MODULES)
595513798ccSYoshihiro Takahashi_mthca=		mthca
596513798ccSYoshihiro Takahashi.endif
597513798ccSYoshihiro Takahashi_nfe=		nfe
598513798ccSYoshihiro Takahashi_nvd=		nvd
599513798ccSYoshihiro Takahashi_nvme=		nvme
600513798ccSYoshihiro Takahashi_nvram=		nvram
601513798ccSYoshihiro Takahashi_nxge=		nxge
602513798ccSYoshihiro Takahashi.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
603513798ccSYoshihiro Takahashi_padlock=	padlock
60410cb2424SMark Murray_padlock_rng=	padlock_rng
60510cb2424SMark Murray_rdrand_rng=	rdrand_rng
606513798ccSYoshihiro Takahashi.endif
607513798ccSYoshihiro Takahashi_s3=		s3
608513798ccSYoshihiro Takahashi_tpm=		tpm
609513798ccSYoshihiro Takahashi_twa=		twa
610513798ccSYoshihiro Takahashi_vesa=		vesa
611513798ccSYoshihiro Takahashi_viawd=		viawd
612513798ccSYoshihiro Takahashi_virtio=	virtio
613513798ccSYoshihiro Takahashi_wpi=		wpi
614513798ccSYoshihiro Takahashi.if ${MK_SOURCELESS_UCODE} != "no"
615513798ccSYoshihiro Takahashi_wpifw=		wpifw
616513798ccSYoshihiro Takahashi.endif
617513798ccSYoshihiro Takahashi_x86bios=	x86bios
618513798ccSYoshihiro Takahashi.endif
619513798ccSYoshihiro Takahashi.endif
620513798ccSYoshihiro Takahashi
621513798ccSYoshihiro Takahashi.if ${MACHINE_CPUARCH} == "amd64"
622513798ccSYoshihiro Takahashi_ixl=		ixl
623513798ccSYoshihiro Takahashi_ixlv=		ixlv
624506bd395SDmitry Chagin_linux64=	linux64
6250b6ce4efSDmitry Chagin_linux_common=	linux_common
626513798ccSYoshihiro Takahashi_ntb=		ntb
627513798ccSYoshihiro Takahashi_qlxge=		qlxge
628513798ccSYoshihiro Takahashi_qlxgb=		qlxgb
629513798ccSYoshihiro Takahashi_qlxgbe=	qlxgbe
630513798ccSYoshihiro Takahashi_sfxge=		sfxge
63102629e46SEnji Cooper
63202629e46SEnji Cooper.if ${MK_BHYVE} != "no" || defined(ALL_MODULES)
633513798ccSYoshihiro Takahashi_vmm=		vmm
634513798ccSYoshihiro Takahashi.endif
63502629e46SEnji Cooper.endif
636513798ccSYoshihiro Takahashi
637c09808d0SWarner Losh.if ${MACHINE_CPUARCH} == "i386"
63828cc91d8SMike Smith# XXX some of these can move to the general case when de-i386'ed
6394e54e04eSWarner Losh# XXX some of these can move now, but are untested on other architectures.
640b8eaa978SRuslan Ermilov_3dfx=		3dfx
641375ce679SYaroslav Tykhiy_3dfx_linux=	3dfx_linux
642b8eaa978SRuslan Ermilov_aic=		aic
643b8eaa978SRuslan Ermilov_apm=		apm
644b8eaa978SRuslan Ermilov_arcnet=	arcnet
6454a47892cSRobert Millan.if ${MK_SOURCELESS_UCODE} != "no"
646f2ca64caSRoman Kurakin_ce=		ce
6474a47892cSRobert Millan.endif
648b8eaa978SRuslan Ermilov_coff=		coff
6494a47892cSRobert Millan.if ${MK_SOURCELESS_UCODE} != "no"
6504dba35d1SRoman Kurakin_cp=		cp
6514a47892cSRobert Millan.endif
652b8eaa978SRuslan Ermilov_elink=		elink
653149d1c89SHenrik Brix Andersen_glxiic=	glxiic
654a51aa5d1SPhilip Paeps_glxsb=		glxsb
655b8eaa978SRuslan Ermilov_ibcs2=		ibcs2
656b8eaa978SRuslan Ermilov_ie=		ie
6576c5c0a5aSWarner Losh_mse=		mse
6583355bd61SRui Paulo_ncr=		ncr
659b8eaa978SRuslan Ermilov_ncv=		ncv
660b8eaa978SRuslan Ermilov_nsp=		nsp
661b8eaa978SRuslan Ermilov_pcfclock=	pcfclock
6624f05e3faSRuslan Ermilov_pst=		pst
66326e46883SJohn Baldwin_sbni=		sbni
664b8eaa978SRuslan Ermilov_streams=	streams
665513798ccSYoshihiro Takahashi_stg=		stg
6665c07a171SOlivier Houchard_svr4=		svr4
667e6e57451SJohn Baldwin_wds=		wds
668b8eaa978SRuslan Ermilov.if ${MACHINE} == "i386"
66977667fecSWarner Losh.if ${MK_EISA} != "no"
6701f00798bSYoshihiro Takahashi_ahb=		ahb
67177667fecSWarner Losh.endif
672b8eaa978SRuslan Ermilov_bios=		bios
673b8eaa978SRuslan Ermilov_cm=		cm
6744a47892cSRobert Millan.if ${MK_SOURCELESS_UCODE} != "no"
6756ca77a6fSRoman Kurakin_ctau=		ctau
6764a47892cSRobert Millan.endif
677b8eaa978SRuslan Ermilov_dpt=		dpt
678b8eaa978SRuslan Ermilov_ex=		ex
679e6e57451SJohn Baldwin_wl=		wl
680b8eaa978SRuslan Ermilov.elif ${MACHINE} == "pc98"
681b8eaa978SRuslan Ermilov_canbepm=	canbepm
682b8eaa978SRuslan Ermilov_canbus=	canbus
6832a6ce61aSJohn Baldwin_ct=		ct
684b8eaa978SRuslan Ermilov_pmc=		pmc
685b8eaa978SRuslan Ermilov_snc=		snc
686b8eaa978SRuslan Ermilov.endif
687b8eaa978SRuslan Ermilov.endif
688b8eaa978SRuslan Ermilov
6892064b86fSMarcel Moolenaar.if ${MACHINE_CPUARCH} == "arm"
6902064b86fSMarcel Moolenaar_cfi=		cfi
691e53470feSOleksandr Tymoshenko_cpsw=		cpsw
6922064b86fSMarcel Moolenaar.endif
6932064b86fSMarcel Moolenaar
694a393ae13SNathan Whitehorn.if ${MACHINE_CPUARCH} == "powerpc"
69550fd2a5bSNathan Whitehorn_agp=		agp
696d87076c8SWarner Losh_an=		an
697cf99524aSMarcel Moolenaar_bm=		bm
698363e589aSJustin Hibbits_cardbus=	cardbus
699363e589aSJustin Hibbits_cbb=		cbb
7002064b86fSMarcel Moolenaar_cfi=		cfi
7019eb9db93SNathan Whitehorn_cpufreq=	cpufreq
70286b32c08SNathan Whitehorn_drm=		drm
7038e2ad3d7SJustin Hibbits.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
7048e2ad3d7SJustin Hibbits_dtrace=	dtrace
7058e2ad3d7SJustin Hibbits.endif
706fb6d9e60SJustin Hibbits_exca=		exca
707d5566384SPeter Wemm_nvram=		powermac_nvram
7088e2ad3d7SJustin Hibbits.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
709c7570492SJustin Hibbits_opensolaris=	opensolaris
71073badb24SDavid E. O'Brien.endif
711513798ccSYoshihiro Takahashi_pccard=	pccard
71284cd55bbSJustin Hibbits_wi=		wi
7138e2ad3d7SJustin Hibbits.endif
71473badb24SDavid E. O'Brien
7152785677dSNathan Whitehorn.if ${MACHINE_ARCH} == "powerpc64"
716455fa651SJean-Sébastien Pédron_drm2=		drm2
7172785677dSNathan Whitehorn.if ${MK_ZFS} != "no" || defined(ALL_MODULES)
7182785677dSNathan Whitehorn_zfs=		zfs
7192785677dSNathan Whitehorn.endif
7202785677dSNathan Whitehorn.endif
7212785677dSNathan Whitehorn
722c09808d0SWarner Losh.if ${MACHINE_CPUARCH} == "sparc64"
723e60fc88fSPyun YongHyeon_auxio=		auxio
7248baab09eSPyun YongHyeon_em=		em
725319570f9SMarius Strobl_epic=		epic
72657158a06SJack F Vogel_igb=		igb
727e145f329SMarius Strobl.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
728e145f329SMarius Strobl_opensolaris=	opensolaris
729e145f329SMarius Strobl.endif
73073c71caeSMarius Strobl.if ${MK_ZFS} != "no" || defined(ALL_MODULES)
73173c71caeSMarius Strobl_zfs=		zfs
73273c71caeSMarius Strobl.endif
733ce3ae5c7SIan Dowse.endif
734513798ccSYoshihiro Takahashi
735581a68a2SWarner Losh.endif
736581a68a2SWarner Losh
737854739a4SWarner LoshSUBDIR+=${MODULES_EXTRA}
738854739a4SWarner Losh
739ba2e5903SWes Peters.for reject in ${WITHOUT_MODULES}
740ba2e5903SWes PetersSUBDIR:= ${SUBDIR:N${reject}}
741ba2e5903SWes Peters.endfor
742ba2e5903SWes Peters
7435e82ed7bSRuslan Ermilov# Calling kldxref(8) for each module is expensive.
7444875819cSJake Burkholder.if !defined(NO_XREF)
74599bca506SRuslan Ermilov.MAKEFLAGS+=	-DNO_XREF
7465e82ed7bSRuslan Ermilovafterinstall:
747be1d673dSRuslan Ermilov	@if type kldxref >/dev/null 2>&1; then \
748be1d673dSRuslan Ermilov		${ECHO} kldxref ${DESTDIR}${KMODDIR}; \
749be1d673dSRuslan Ermilov		kldxref ${DESTDIR}${KMODDIR}; \
750be1d673dSRuslan Ermilov	fi
7515e82ed7bSRuslan Ermilov.endif
7525e82ed7bSRuslan Ermilov
75335c4406dSWarner Losh.include "${SYSDIR}/conf/config.mk"
75435c4406dSWarner Losh
75535c4406dSWarner LoshSUBDIR:= ${SUBDIR:u:O}
75635c4406dSWarner Losh
7570eec3684SGarrett Wollman.include <bsd.subdir.mk>
758