xref: /freebsd/sys/modules/Makefile (revision 1e45d04b7b91bf3624d75d923407aad55cccf87c)
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 \
34d68875ebSPyun YongHyeon	alc \
353c6e15bcSPyun YongHyeon	ale \
36d28f42f9SLawrence Stewart	alq \
375022f21bSAndriy Gapon	${_amdsbwd} \
382b201a17SAndriy Gapon	${_amdtemp} \
3909261c4fSBrooks Davis	amr \
40d87076c8SWarner Losh	${_an} \
41b8eaa978SRuslan Ermilov	${_aout} \
42b8eaa978SRuslan Ermilov	${_apm} \
43d0885ac3SScott Long	${_arcmsr} \
44b8eaa978SRuslan Ermilov	${_arcnet} \
45e702bc74SRui Paulo	${_asmc} \
468ca4df32SSøren Schmidt	ata \
4733644623SSam Leffler	ath \
48dba9c859SAdrian Chadd	ath_pci \
49b3590423SEnji Cooper	${_autofs} \
50e60fc88fSPyun YongHyeon	${_auxio} \
514a47892cSRobert Millan	${_bce} \
52b9f78d2bSBill Paul	bfe \
53148ed571SAdrian Chadd	bhnd \
5495d67482SBill Paul	bge \
55148ed571SAdrian Chadd	bhnd \
56102657cbSDavid Christensen	${_bxe} \
57b8eaa978SRuslan Ermilov	${_bios} \
58b8eaa978SRuslan Ermilov	${_bktr} \
59cf99524aSMarcel Moolenaar	${_bm} \
608a33eee1SAndrew Thompson	bridgestp \
61215da5ecSWarner Losh	bwi \
62215da5ecSWarner Losh	bwn \
63148ed571SAdrian Chadd	bwn_pci \
64aa980888SJake Burkholder	cam \
65b8eaa978SRuslan Ermilov	${_canbepm} \
66b8eaa978SRuslan Ermilov	${_canbus} \
67b8eaa978SRuslan Ermilov	${_cardbus} \
68663222f1SGleb Smirnoff	${_carp} \
69119051cbSMarius Strobl	cas \
70b8eaa978SRuslan Ermilov	${_cbb} \
71ad4e3b96SLawrence Stewart	cc \
72aa980888SJake Burkholder	cd9660 \
73c4f02a89SMax Khon	cd9660_iconv \
74f2ca64caSRoman Kurakin	${_ce} \
752064b86fSMarcel Moolenaar	${_cfi} \
76b8eaa978SRuslan Ermilov	${_ciss} \
778bc78518SEd Schouten	cloudabi \
788bc78518SEd Schouten	${_cloudabi64} \
79b8eaa978SRuslan Ermilov	${_cm} \
80603d67aeSRink Springer	${_cmx} \
81b8eaa978SRuslan Ermilov	${_coff} \
8283d18f22SDag-Erling Smørgrav	${_coretemp} \
834dba35d1SRoman Kurakin	${_cp} \
84e53470feSOleksandr Tymoshenko	${_cpsw} \
85e085f869SStanislav Sedov	${_cpuctl} \
866ab93acaSScott Long	${_cpufreq} \
87f544a528SMark Murray	${_crypto} \
88f544a528SMark Murray	${_cryptodev} \
8917d56bddSWarner Losh	${_cs} \
902a6ce61aSJohn Baldwin	${_ct} \
916ca77a6fSRoman Kurakin	${_ctau} \
9232562145SEdward Tomasz Napierala	ctl \
93c99255b8SWarner Losh	${_cxgb} \
944310207eSRobert Millan	${_cxgbe} \
9509261c4fSBrooks Davis	dc \
96869093b1SHidetoshi Shimokawa	dcons \
97869093b1SHidetoshi Shimokawa	dcons_crom \
9809261c4fSBrooks Davis	de \
99aa7c1c05SJohn Baldwin	${_dpms} \
100b8eaa978SRuslan Ermilov	${_dpt} \
101b8eaa978SRuslan Ermilov	${_drm} \
102ccc00630SKonstantin Belousov	${_drm2} \
1038c4026b5SPaul Saab	dummynet \
104b8eaa978SRuslan Ermilov	${_ed} \
105b8eaa978SRuslan Ermilov	${_elink} \
106b8eaa978SRuslan Ermilov	${_em} \
1077d361237SHartmut Brandt	en \
108b8eaa978SRuslan Ermilov	${_ep} \
109319570f9SMarius Strobl	${_epic} \
110a9ab459bSMarius Strobl	esp \
1114d52a575SXin LI	${_et} \
112b8eaa978SRuslan Ermilov	${_ex} \
113b8eaa978SRuslan Ermilov	${_exca} \
1144be7e5f8SJustin Hibbits	ext2fs \
1154a47892cSRobert Millan	${_fatm} \
11609261c4fSBrooks Davis	fdc \
11742d6ed03SBruce Evans	fdescfs \
118b8eaa978SRuslan Ermilov	${_fe} \
1190d773745SDavid E. O'Brien	${_filemon} \
1207d2ba89bSJohn Baldwin	firewire \
1216aec1278SMax Laier	firmware \
1225fe58019SAttilio Rao	fuse \
1234a47892cSRobert Millan	${_fxp} \
1241ed3fed7SMarius Strobl	gem \
1255d9bef64SPoul-Henning Kamp	geom \
126149d1c89SHenrik Brix Andersen	${_glxiic} \
127a51aa5d1SPhilip Paeps	${_glxsb} \
128*1e45d04bSIan Lepore	gpio \
129c594298bSHartmut Brandt	hatm \
1308b7ce2ffSSam Leffler	hifn \
131ac341582SMarius Strobl	hme \
13281966bceSXin LI	${_hpt27xx} \
133f73e86c3SScott Long	${_hptiop} \
134085f35d6SScott Long	${_hptmv} \
1351fdeb165SXin LI	${_hptnr} \
136b063a422SScott Long	${_hptrr} \
1379c3a1281SMarcel Moolenaar	hwpmc \
1387d99ab9fSPeter Grehan	${_hyperv} \
1394be7e5f8SJustin Hibbits	i2c \
140c9f432b7SAlfred Perlstein        ${_ibcore} \
141b8eaa978SRuslan Ermilov	${_ibcs2} \
142cae8da61SDag-Erling Smørgrav	${_ichwd} \
143b8eaa978SRuslan Ermilov	${_ida} \
144b8eaa978SRuslan Ermilov	${_ie} \
1457afc53b8SAndrew Thompson	if_bridge \
14609261c4fSBrooks Davis	if_disc \
14763518eccSYaroslav Tykhiy	if_edsc \
148ef91a976SAndrey V. Elsukov	${_if_enc} \
149d0ea4743SBjoern A. Zeeb	if_epair \
150f325335cSAndrey V. Elsukov	${_if_gif} \
151af8a927eSBjoern A. Zeeb	${_if_gre} \
152f325335cSAndrey V. Elsukov	${_if_me} \
15318242d3bSAndrew Thompson	if_lagg \
15496b50ea3SBill Paul	${_if_ndis} \
155a5965d15SAndrey V. Elsukov	${_if_stf} \
15609261c4fSBrooks Davis	if_tap \
15709261c4fSBrooks Davis	if_tun \
158214bfc97SBrooks Davis	if_vlan \
159007054f0SBryan Venteicher	if_vxlan \
1606f48e680SJack F Vogel	${_igb} \
161b8eaa978SRuslan Ermilov	${_iir} \
16281e3caafSJustin Hibbits	imgact_binmisc \
1638ab2f5ecSMark Murray	${_io} \
164e974f91cSConrad Meyer	${_ioat} \
165c9f432b7SAlfred Perlstein        ${_ipoib} \
166aa57e971SBjoern A. Zeeb	${_ipdivert} \
167b8eaa978SRuslan Ermilov	${_ipfilter} \
1688813217aSBjoern A. Zeeb	${_ipfw} \
169755d3f8aSPaolo Pisati	ipfw_nat \
1701c204a57SDoug Ambrisko	${_ipmi} \
171d5c0af17SAndrey V. Elsukov	ip6_mroute_mod \
1728c11b231SRuslan Ermilov	ip_mroute_mod \
173b8eaa978SRuslan Ermilov	${_ips} \
174b4c31113SDamien Bergamini	${_ipw} \
1757bd6fde3SFlorent Thoumie	${_ipwfw} \
176f11c7f63SJim Harris	${_isci} \
1771b4b226bSEdward Tomasz Napierala	${_iser} \
17897af632bSJohn Baldwin	isp \
1794a47892cSRobert Millan	${_ispfw} \
180b4c31113SDamien Bergamini	${_iwi} \
1817bd6fde3SFlorent Thoumie	${_iwifw} \
182444e7e3dSRui Paulo	${_iwm} \
183444e7e3dSRui Paulo	${_iwmfw} \
1843971d07bSSam Leffler	${_iwn} \
1853971d07bSSam Leffler	${_iwnfw} \
186bc2e8d79SJack F Vogel	${_ix} \
187bc2e8d79SJack F Vogel	${_ixv} \
1881f6c33acSEric Joyner	${_ixgb} \
189d502eb6dSJack F Vogel	${_ixl} \
190d502eb6dSJack F Vogel	${_ixlv} \
19175a1bf5fSPyun YongHyeon	jme \
19209261c4fSBrooks Davis	joy \
193f9e56677SMaksim Yevmenkin	kbdmux \
1947e7fd7d1SRick Macklem	kgssapi \
1957e7fd7d1SRick Macklem	kgssapi_krb5 \
1966987b09fSLawrence Stewart	khelp \
197fa9d9930SDoug Rabson	krpc \
19800a5db46SStacey Son	ksyms \
19944ac0964SMarius Strobl	le \
20009261c4fSBrooks Davis	lge \
2016cd047a0SGleb Smirnoff	libalias \
2020e3b6d50SSheldon Hearn	libiconv \
2037e9024cdSHartmut Brandt	libmbpool \
20409261c4fSBrooks Davis	libmchain \
205b8eaa978SRuslan Ermilov	${_linprocfs} \
20632397ce0SDoug Ambrisko	${_linsysfs} \
207b8eaa978SRuslan Ermilov	${_linux} \
20867d39748SDmitry Chagin	${_linux_common} \
209c0fe996dSDmitry Chagin	${_linux64} \
21024ef40deSHans Petter Selasky	linuxkpi \
2112bc6081cSScott Long	lmc \
2121b6c2589SPoul-Henning Kamp	lpt \
213ebbd4fa8SRobert Watson	mac_biba \
214ebbd4fa8SRobert Watson	mac_bsdextended \
215ebbd4fa8SRobert Watson	mac_ifoff \
2165773cccfSRobert Watson	mac_lomac \
217ebbd4fa8SRobert Watson	mac_mls \
218ebbd4fa8SRobert Watson	mac_none \
21951363000SRobert Watson	mac_partition \
22003d03162SRobert Watson	mac_portacl \
221ebbd4fa8SRobert Watson	mac_seeotheruids \
222782f7255SRobert Watson	mac_stub \
223ebbd4fa8SRobert Watson	mac_test \
224e76ee875SWeongyo Jeong	malo \
225e73b093aSMatthew N. Dodd	mcd \
22609261c4fSBrooks Davis	md \
22771e8eac4SAdrian Chadd	mdio \
2289004f894SDavid E. O'Brien	mem \
229215da5ecSWarner Losh	mfi \
23009261c4fSBrooks Davis	mii \
23109261c4fSBrooks Davis	mlx \
2323b1f0b5dSJeff Roberson	${_mlx4} \
2333b1f0b5dSJeff Roberson	${_mlx4ib} \
2343b1f0b5dSJeff Roberson	${_mlxen} \
23522f2c49aSHans Petter Selasky	${_mlx5} \
23622f2c49aSHans Petter Selasky	${_mlx5en} \
237b8eaa978SRuslan Ermilov	${_mly} \
238831f5dcfSAlexander Motin	mmc \
239831f5dcfSAlexander Motin	mmcsd \
240991554f2SKenneth D. Merry	mpr \
241d3c7b9a0SKenneth D. Merry	mps \
242215da5ecSWarner Losh	mpt \
2436c597554SDavid Xu	mqueue \
244665484d8SDoug Ambrisko	mrsas \
24586597d47SMaxime Henrion	msdosfs \
246c4f02a89SMax Khon	msdosfs_iconv \
247d4df4850SRuslan Ermilov	${_mse} \
248c9d21ce9SPyun YongHyeon	msk \
2493b1f0b5dSJeff Roberson	${_mthca} \
250dd48af36SAlexander Motin	mvs \
251cf4c5a53SSam Leffler	mwl \
2524a47892cSRobert Millan	${_mwlfw} \
253f9ae0280SAndrew Gallatin	mxge \
254e4de92ceSRuslan Ermilov	my \
2557f725bcdSGrzegorz Bernacki	${_nandfs} \
2567f725bcdSGrzegorz Bernacki	${_nandsim} \
2573355bd61SRui Paulo	${_ncr} \
2586b7b2d80SAdrian Chadd	${_nctgpio} \
259b8eaa978SRuslan Ermilov	${_ncv} \
260b8eaa978SRuslan Ermilov	${_ndis} \
2614a9af7d5SBjoern A. Zeeb	netfpga10g \
262abae4e8aSAntoine Brodin	${_netgraph} \
263bfc788c2SDavid E. O'Brien	${_nfe} \
264bcbdacddSRick Macklem	nfscl \
265bcbdacddSRick Macklem	nfscommon \
266bcbdacddSRick Macklem	nfsd \
267f92bbff2SRick Macklem	nfslock \
268fa9d9930SDoug Rabson	nfslockd \
26945452edcSRick Macklem	nfssvc \
27009261c4fSBrooks Davis	nge \
27109261c4fSBrooks Davis	nmdm \
272b8eaa978SRuslan Ermilov	${_nsp} \
27309261c4fSBrooks Davis	nullfs \
274e47937d1SCarl Delsey	${_ntb} \
275eb85d44fSJim Harris	${_nvd} \
276eb85d44fSJim Harris	${_nvme} \
277d5566384SPeter Wemm	${_nvram} \
2788c11b231SRuslan Ermilov	${_nxge} \
2792f345d8eSLuigi Rizzo	oce \
280a9fcb51fSAdrian Chadd	otus \
281a9fcb51fSAdrian Chadd	otusfw \
282ae1f3df4SWarner Losh	ow \
283ef0a6e20SPawel Jakub Dawidek	${_padlock} \
28410cb2424SMark Murray	${_padlock_rng} \
2858dd4275cSHartmut Brandt	patm \
286b8eaa978SRuslan Ermilov	${_pccard} \
287b8eaa978SRuslan Ermilov	${_pcfclock} \
28809261c4fSBrooks Davis	pcn \
2898d69c48bSMax Laier	${_pf} \
2905bba2114SMax Laier	${_pflog} \
291e0bfbfceSBjoern A. Zeeb	${_pfsync} \
2921b6c2589SPoul-Henning Kamp	plip \
293b8eaa978SRuslan Ermilov	${_pmc} \
294a650d869SBenno Rice	${_pms} \
2951b6c2589SPoul-Henning Kamp	ppbus \
296c69e06b1SMarcel Moolenaar	ppc \
2971b6c2589SPoul-Henning Kamp	ppi \
2981b6c2589SPoul-Henning Kamp	pps \
2993fd18735SDag-Erling Smørgrav	procfs \
30067fb10f3SMarcel Moolenaar	proto \
3013fd18735SDag-Erling Smørgrav	pseudofs \
3024f05e3faSRuslan Ermilov	${_pst} \
303f105c8beSEd Schouten	pty  \
304c69e06b1SMarcel Moolenaar	puc \
305711bcba0SDavid C Somayajulu	${_qlxge} \
3060bc7cf6fSBjoern A. Zeeb	${_qlxgb} \
307f10a77bbSDavid C Somayajulu	${_qlxgbe} \
308ceaec73dSDamien Bergamini	ral \
3094a47892cSRobert Millan	${_ralfw} \
310646041a8SMark Murray	${_random_fortuna} \
311646041a8SMark Murray	${_random_yarrow} \
312646041a8SMark Murray	${_random_other} \
3130ac19bd5SSam Leffler	rc4 \
31453d68f00SKip Macy	${_rdma} \
31510cb2424SMark Murray	${_rdrand_rng} \
316a94100faSBill Paul	re \
31709261c4fSBrooks Davis	rl \
318b6ac0e65SAdrian Chadd	rtwn \
319783da314SChristian Brueffer	${_rtwnfw} \
320b8eaa978SRuslan Ermilov	${_s3} \
321b8eaa978SRuslan Ermilov	${_safe} \
32226e46883SJohn Baldwin	${_sbni} \
323af2e25a6SMarcel Moolenaar	scc \
32426a9ce3eSMatthew N. Dodd	scd \
325b8eaa978SRuslan Ermilov	${_scsi_low} \
326831f5dcfSAlexander Motin	sdhci \
327d6b3aaf8SOleksandr Tymoshenko	sdhci_pci \
3285416cda8STom Rhodes	sem \
3291db8d1f8SAna Kukec	send \
3304a47892cSRobert Millan	${_sf} \
3315bd64b65SPhilip Paeps	${_sfxge} \
332d193ed0bSPyun YongHyeon	sge \
333e6e57451SJohn Baldwin	${_si} \
3340bdee1faSWarner Losh	siba_bwn \
335a5548bf6SLawrence Stewart	siftr \
33667b87e44SAlexander Motin	siis \
33709261c4fSBrooks Davis	sis \
33809261c4fSBrooks Davis	sk \
3394be7e5f8SJustin Hibbits	smbfs \
340eac107b8SWarner Losh	sn \
341b8eaa978SRuslan Ermilov	${_snc} \
342932ef5b5SEd Schouten	snp \
3434be7e5f8SJustin Hibbits	sound \
344b8eaa978SRuslan Ermilov	${_speaker} \
345b8eaa978SRuslan Ermilov	${_splash} \
346b8eaa978SRuslan Ermilov	${_sppp} \
34709261c4fSBrooks Davis	ste \
348b8eaa978SRuslan Ermilov	${_stg} \
349d497bdf1SPyun YongHyeon	stge \
350b8eaa978SRuslan Ermilov	${_streams} \
3515c07a171SOlivier Houchard	${_svr4} \
352c99255b8SWarner Losh	${_sym} \
353b8eaa978SRuslan Ermilov	${_syscons} \
35409261c4fSBrooks Davis	sysvipc \
3554a47892cSRobert Millan	${_ti} \
35655bceb1eSRandall Stewart	tcp/fastpath \
357f52e50aeSRandall Stewart	tests/framework \
358f52e50aeSRandall Stewart	tests/callout_test \
35909261c4fSBrooks Davis	tl \
360d319cc96SNathan Whitehorn	tmpfs \
36109fe6320SNavdeep Parhar	${_toecore} \
362c02b5042SWarner Losh	${_tpm} \
363f3d92b26SOlivier Houchard	trm \
3643c12ea23SVinod Kashyap	${_twa} \
36542d6ed03SBruce Evans	twe \
366db1fda10SXin LI	tws \
36709261c4fSBrooks Davis	tx \
3684a47892cSRobert Millan	${_txp} \
369b74668b1SWarner Losh	uart \
3708b7ce2ffSSam Leffler	ubsec \
371df263cbdSScott Long	udf \
37277730021SScott Long	udf_iconv \
373b16af7f1SEdward Tomasz Napierala	ufs \
37409261c4fSBrooks Davis	unionfs \
3750c91dc1dSAdrian Chadd	urtwn \
3760c91dc1dSAdrian Chadd	${_urtwnfw} \
3777d0d268bSAndrew Thompson	usb \
378591f4054SHartmut Brandt	utopia \
379b8eaa978SRuslan Ermilov	${_vesa} \
38010b59a9bSPeter Grehan	${_virtio} \
381a07bd003SBill Paul	vge \
38261af1d13SFabien Thomas	${_viawd} \
383a7ff99ccSHans Petter Selasky	videomode \
3846e81ac21SMaksim Yevmenkin	vkbd \
385366f6083SPeter Grehan	${_vmm} \
386e3c97c2cSBryan Venteicher	${_vmware} \
387042bbe55SPeter Grehan	${_vpo} \
38809261c4fSBrooks Davis	vr \
3892608aefcSPyun YongHyeon	vte \
39009261c4fSBrooks Davis	vx \
3912304f22dSChristian Brueffer	${_vxge} \
39209261c4fSBrooks Davis	wb \
3930566170fSBjoern A. Zeeb	${_wbwd} \
394e6e57451SJohn Baldwin	${_wds} \
395b8eaa978SRuslan Ermilov	${_wi} \
396e6e57451SJohn Baldwin	${_wl} \
3970ac19bd5SSam Leffler	wlan \
39895ef8c71SSam Leffler	wlan_acl \
39974828f25SSam Leffler	wlan_amrr \
40063f9a4cbSSam Leffler	wlan_ccmp \
401b032f27cSSam Leffler	wlan_rssadapt \
40263f9a4cbSSam Leffler	wlan_tkip \
40363f9a4cbSSam Leffler	wlan_wep \
40463f9a4cbSSam Leffler	wlan_xauth \
40503734771SBenjamin Close	${_wpi} \
40603734771SBenjamin Close	${_wpifw} \
407a57707e7SXin LI	${_x86bios} \
408b8eaa978SRuslan Ermilov	${_xe} \
409cf62a08fSWojciech A. Koszek	xl \
410513798ccSYoshihiro Takahashi	zlib
4114310207eSRobert Millan
412b3590423SEnji Cooper.if ${MK_AUTOFS} != "no" || defined(ALL_MODULES)
413b3590423SEnji Cooper_autofs=	autofs
414b3590423SEnji Cooper.endif
415b3590423SEnji Cooper
4165e742644SEd Maste.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
417c77964aaSAndrew Turner.if (${MACHINE_CPUARCH} != "arm" || ${MACHINE_ARCH:Marmv6*} != "") && \
418c92ef786SAndrew Turner	${MACHINE_CPUARCH} != "mips" && \
4195e742644SEd Maste	${MACHINE_CPUARCH} != "sparc64"
4205e742644SEd MasteSUBDIR+=	dtrace
4215e742644SEd Maste.endif
4225e742644SEd MasteSUBDIR+=	opensolaris
4235e742644SEd Maste.endif
4245e742644SEd Maste
425e1fe3dbaSRuslan Ermilov.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
426b8eaa978SRuslan Ermilov.if exists(${.CURDIR}/../opencrypto)
427b8eaa978SRuslan Ermilov_crypto=	crypto
428b8eaa978SRuslan Ermilov_cryptodev=	cryptodev
429646041a8SMark Murray_random_fortuna=random_fortuna
430646041a8SMark Murray_random_yarrow=	random_yarrow
431646041a8SMark Murray_random_other=	random_other
432b8eaa978SRuslan Ermilov.endif
4337a07b896SIan Dowse.endif
434aa980888SJake Burkholder
435e3d1e0f6SEnji Cooper.if ${MK_CUSE} != "no" || defined(ALL_MODULES)
436e3d1e0f6SEnji CooperSUBDIR+=	cuse
437e3d1e0f6SEnji Cooper.endif
438e3d1e0f6SEnji Cooper
439af8a927eSBjoern A. Zeeb.if (${MK_INET_SUPPORT} != "no" || ${MK_INET6_SUPPORT} != "no") || \
440af8a927eSBjoern A. Zeeb	defined(ALL_MODULES)
441663222f1SGleb Smirnoff_carp=		carp
44209fe6320SNavdeep Parhar_toecore=	toecore
443ef91a976SAndrey V. Elsukov_if_enc=	if_enc
444f325335cSAndrey V. Elsukov_if_gif=	if_gif
445f325335cSAndrey V. Elsukov_if_gre=	if_gre
446af8a927eSBjoern A. Zeeb.endif
447af8a927eSBjoern A. Zeeb
448a5965d15SAndrey V. Elsukov.if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \
449a5965d15SAndrey V. Elsukov	defined(ALL_MODULES)
450a5965d15SAndrey V. Elsukov_if_stf=	if_stf
451a5965d15SAndrey V. Elsukov.endif
452a5965d15SAndrey V. Elsukov
453aa57e971SBjoern A. Zeeb.if ${MK_INET_SUPPORT} != "no" || defined(ALL_MODULES)
454f325335cSAndrey V. Elsukov_if_me=		if_me
455513798ccSYoshihiro Takahashi_ipdivert=	ipdivert
456513798ccSYoshihiro Takahashi_ipfw=		ipfw
457aa57e971SBjoern A. Zeeb.endif
458aa57e971SBjoern A. Zeeb
459e1fe3dbaSRuslan Ermilov.if ${MK_IPFILTER} != "no" || defined(ALL_MODULES)
460b8eaa978SRuslan Ermilov_ipfilter=	ipfilter
4617a43a96aSRuslan Ermilov.endif
4627a43a96aSRuslan Ermilov
463b29d6977SEnji Cooper.if ${MK_ISCSI} != "no" || defined(ALL_MODULES)
464b29d6977SEnji CooperSUBDIR+=	iscsi
465b29d6977SEnji CooperSUBDIR+=	iscsi_initiator
466b29d6977SEnji Cooper.endif
467b29d6977SEnji Cooper
4687f725bcdSGrzegorz Bernacki.if ${MK_NAND} != "no" || defined(ALL_MODULES)
4697f725bcdSGrzegorz Bernacki_nandfs=	nandfs
4707f725bcdSGrzegorz Bernacki_nandsim=	nandsim
4717f725bcdSGrzegorz Bernacki.endif
4727f725bcdSGrzegorz Bernacki
473abae4e8aSAntoine Brodin.if ${MK_NETGRAPH} != "no" || defined(ALL_MODULES)
474abae4e8aSAntoine Brodin_netgraph=	netgraph
475abae4e8aSAntoine Brodin.endif
476abae4e8aSAntoine Brodin
477af8a927eSBjoern A. Zeeb.if (${MK_PF} != "no" && (${MK_INET_SUPPORT} != "no" || \
478af8a927eSBjoern A. Zeeb	${MK_INET6_SUPPORT} != "no")) || defined(ALL_MODULES)
4798d69c48bSMax Laier_pf=		pf
4805bba2114SMax Laier_pflog=		pflog
481e0bfbfceSBjoern A. Zeeb.if ${MK_INET_SUPPORT} != "no"
482e0bfbfceSBjoern A. Zeeb_pfsync=	pfsync
483e0bfbfceSBjoern A. Zeeb.endif
4848d69c48bSMax Laier.endif
4858d69c48bSMax Laier
4864a47892cSRobert Millan.if ${MK_SOURCELESS_UCODE} != "no"
4874a47892cSRobert Millan_bce=		bce
4884a47892cSRobert Millan_fatm=		fatm
4894a47892cSRobert Millan_fxp=		fxp
4904a47892cSRobert Millan_ispfw=		ispfw
4914a47892cSRobert Millan_mwlfw=		mwlfw
4924a47892cSRobert Millan_ralfw=		ralfw
493783da314SChristian Brueffer_rtwnfw=	rtwnfw
4940c91dc1dSAdrian Chadd_urtwnfw=	urtwnfw
4954a47892cSRobert Millan_sf=		sf
4964a47892cSRobert Millan_ti=		ti
4974a47892cSRobert Millan_txp=		txp
4984a47892cSRobert Millan.endif
4994a47892cSRobert Millan
500ca7fe84aSNavdeep Parhar.if ${MK_SOURCELESS_UCODE} != "no" && ${MACHINE_CPUARCH} != "arm" && \
5018ff01f5dSEd Maste	${MACHINE_ARCH:C/mips(el)?/mips/} != "mips" && \
502b7d3aa11SNavdeep Parhar	${MACHINE_ARCH} != "powerpc"
503183dc986SNavdeep Parhar_cxgbe=		cxgbe
504183dc986SNavdeep Parhar.endif
505513798ccSYoshihiro Takahashi
5065e742644SEd Maste.if ${MK_ZFS} != "no" || defined(ALL_MODULES)
5075e742644SEd MasteSUBDIR+=	zfs
5085e742644SEd Maste.endif
5095e742644SEd Maste
51032b6c6ecSKonstantin Belousov.if ${MACHINE_CPUARCH} != "aarch64" && ${MACHINE_CPUARCH} != "arm" && \
51132b6c6ecSKonstantin Belousov	${MACHINE_CPUARCH} != "mips" && ${MACHINE_CPUARCH} != "powerpc"
512513798ccSYoshihiro Takahashi_syscons=	syscons
513513798ccSYoshihiro Takahashi_vpo=		vpo
514513798ccSYoshihiro Takahashi.endif
515513798ccSYoshihiro Takahashi
516e2b58d84SWarner Losh.if ${MACHINE_CPUARCH} != "mips"
517513798ccSYoshihiro Takahashi# no BUS_SPACE_UNSPECIFIED
518513798ccSYoshihiro Takahashi# No barrier instruction support (specific to this driver)
519513798ccSYoshihiro Takahashi_sym=		sym
520513798ccSYoshihiro Takahashi# intr_disable() is a macro, causes problems
521513798ccSYoshihiro Takahashi.if ${MK_SOURCELESS_UCODE} != "no"
522513798ccSYoshihiro Takahashi_cxgb=		cxgb
523513798ccSYoshihiro Takahashi.endif
524513798ccSYoshihiro Takahashi.endif
525513798ccSYoshihiro Takahashi
526fa32340bSEd Maste.if ${MACHINE_CPUARCH} == "aarch64"
527fa32340bSEd Maste_em=		em
528fa32340bSEd Maste_igb=		igb
529fa32340bSEd Maste.endif
530fa32340bSEd Maste
531513798ccSYoshihiro Takahashi.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
532513798ccSYoshihiro Takahashi_agp=		agp
533513798ccSYoshihiro Takahashi_an=		an
534513798ccSYoshihiro Takahashi_aout=		aout
535513798ccSYoshihiro Takahashi_bktr=		bktr
536513798ccSYoshihiro Takahashi_bxe=		bxe
537513798ccSYoshihiro Takahashi_cardbus=	cardbus
538513798ccSYoshihiro Takahashi_cbb=		cbb
539513798ccSYoshihiro Takahashi_cpuctl=	cpuctl
540513798ccSYoshihiro Takahashi_cpufreq=	cpufreq
5411acffcc4SWarner Losh_cs=		cs
542513798ccSYoshihiro Takahashi_dpms=		dpms
543513798ccSYoshihiro Takahashi_drm=		drm
544513798ccSYoshihiro Takahashi_drm2=		drm2
545513798ccSYoshihiro Takahashi_ed=		ed
546513798ccSYoshihiro Takahashi_em=		em
5471acffcc4SWarner Losh_ep=		ep
548513798ccSYoshihiro Takahashi_et=		et
549513798ccSYoshihiro Takahashi_exca=		exca
5501acffcc4SWarner Losh_fe=		fe
551513798ccSYoshihiro Takahashi_filemon=	filemon
552513798ccSYoshihiro Takahashi.if ${MK_OFED} != "no" || defined(ALL_MODULES)
553513798ccSYoshihiro Takahashi_ibcore=        ibcore
554513798ccSYoshihiro Takahashi.endif
555513798ccSYoshihiro Takahashi_if_ndis=	if_ndis
556513798ccSYoshihiro Takahashi_igb=		igb
557513798ccSYoshihiro Takahashi_io=		io
558513798ccSYoshihiro Takahashi.if ${MK_OFED} != "no" || defined(ALL_MODULES)
559513798ccSYoshihiro Takahashi_ipoib=         ipoib
5601b4b226bSEdward Tomasz Napierala_iser=		iser
561513798ccSYoshihiro Takahashi.endif
5621f6c33acSEric Joyner_ix=		ix
5631aa7c60cSJack F Vogel_ixv=		ixv
564513798ccSYoshihiro Takahashi_linprocfs=	linprocfs
565513798ccSYoshihiro Takahashi_linsysfs=	linsysfs
566513798ccSYoshihiro Takahashi_linux=		linux
5676b7b2d80SAdrian Chadd_nctgpio=	nctgpio
568513798ccSYoshihiro Takahashi_ndis=		ndis
569513798ccSYoshihiro Takahashi_pccard=	pccard
570513798ccSYoshihiro Takahashi.if ${MK_OFED} != "no" || defined(ALL_MODULES)
571513798ccSYoshihiro Takahashi_rdma=		rdma
572513798ccSYoshihiro Takahashi.endif
573513798ccSYoshihiro Takahashi_safe=		safe
574513798ccSYoshihiro Takahashi_scsi_low=	scsi_low
575513798ccSYoshihiro Takahashi_si=		si
576513798ccSYoshihiro Takahashi_speaker=	speaker
577513798ccSYoshihiro Takahashi_splash=	splash
578513798ccSYoshihiro Takahashi_sppp=		sppp
579513798ccSYoshihiro Takahashi_vmware=	vmware
580513798ccSYoshihiro Takahashi_vxge=  	vxge
581513798ccSYoshihiro Takahashi_wbwd=		wbwd
582513798ccSYoshihiro Takahashi_wi=		wi
5831acffcc4SWarner Losh_xe=		xe
584513798ccSYoshihiro Takahashi.if ${MACHINE} != "pc98"
585513798ccSYoshihiro Takahashi_aac=		aac
586513798ccSYoshihiro Takahashi_aacraid=	aacraid
587513798ccSYoshihiro Takahashi_acpi=		acpi
588513798ccSYoshihiro Takahashi.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
589513798ccSYoshihiro Takahashi_aesni=		aesni
590513798ccSYoshihiro Takahashi.endif
591513798ccSYoshihiro Takahashi_amdsbwd=	amdsbwd
592513798ccSYoshihiro Takahashi_amdtemp=	amdtemp
593513798ccSYoshihiro Takahashi_arcmsr=	arcmsr
594513798ccSYoshihiro Takahashi_asmc=		asmc
595513798ccSYoshihiro Takahashi_ciss=		ciss
596513798ccSYoshihiro Takahashi_cmx=		cmx
597513798ccSYoshihiro Takahashi_coretemp=	coretemp
598513798ccSYoshihiro Takahashi.if ${MK_SOURCELESS_HOST} != "no"
599513798ccSYoshihiro Takahashi_hpt27xx=	hpt27xx
600513798ccSYoshihiro Takahashi.endif
601513798ccSYoshihiro Takahashi_hptiop=	hptiop
602513798ccSYoshihiro Takahashi.if ${MK_SOURCELESS_HOST} != "no"
603513798ccSYoshihiro Takahashi_hptmv=		hptmv
604513798ccSYoshihiro Takahashi_hptnr=		hptnr
605513798ccSYoshihiro Takahashi_hptrr=		hptrr
606513798ccSYoshihiro Takahashi.endif
607513798ccSYoshihiro Takahashi_hyperv=	hyperv
608513798ccSYoshihiro Takahashi_ichwd=		ichwd
609513798ccSYoshihiro Takahashi_ida=		ida
610513798ccSYoshihiro Takahashi_iir=		iir
611513798ccSYoshihiro Takahashi_ipmi=		ipmi
612513798ccSYoshihiro Takahashi_ips=		ips
613444e7e3dSRui Paulo_isci=		isci
614513798ccSYoshihiro Takahashi_ipw=		ipw
615444e7e3dSRui Paulo_iwi=		iwi
616444e7e3dSRui Paulo_iwm=		iwm
617444e7e3dSRui Paulo_iwn=		iwn
618444e7e3dSRui Paulo_ixgb=		ixgb
619513798ccSYoshihiro Takahashi.if ${MK_SOURCELESS_UCODE} != "no"
620513798ccSYoshihiro Takahashi_ipwfw=		ipwfw
621513798ccSYoshihiro Takahashi_iwifw=		iwifw
622444e7e3dSRui Paulo_iwmfw=		iwmfw
623513798ccSYoshihiro Takahashi_iwnfw=		iwnfw
624513798ccSYoshihiro Takahashi.endif
625513798ccSYoshihiro Takahashi.if ${MK_OFED} != "no" || defined(ALL_MODULES)
626513798ccSYoshihiro Takahashi_mlx4=		mlx4
627513798ccSYoshihiro Takahashi_mlx4ib=	mlx4ib
628513798ccSYoshihiro Takahashi_mlxen=		mlxen
629513798ccSYoshihiro Takahashi.endif
63022f2c49aSHans Petter Selasky_mlx5=		mlx5
63122f2c49aSHans Petter Selasky.if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \
63222f2c49aSHans Petter Selasky	defined(ALL_MODULES)
63322f2c49aSHans Petter Selasky_mlx5en=	mlx5en
63422f2c49aSHans Petter Selasky.endif
635513798ccSYoshihiro Takahashi_mly=		mly
636513798ccSYoshihiro Takahashi.if ${MK_OFED} != "no" || defined(ALL_MODULES)
637513798ccSYoshihiro Takahashi_mthca=		mthca
638513798ccSYoshihiro Takahashi.endif
639513798ccSYoshihiro Takahashi_nfe=		nfe
640513798ccSYoshihiro Takahashi_nvd=		nvd
641513798ccSYoshihiro Takahashi_nvme=		nvme
642513798ccSYoshihiro Takahashi_nvram=		nvram
643513798ccSYoshihiro Takahashi_nxge=		nxge
644513798ccSYoshihiro Takahashi.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
645513798ccSYoshihiro Takahashi_padlock=	padlock
64610cb2424SMark Murray_padlock_rng=	padlock_rng
64710cb2424SMark Murray_rdrand_rng=	rdrand_rng
648513798ccSYoshihiro Takahashi.endif
649513798ccSYoshihiro Takahashi_s3=		s3
650513798ccSYoshihiro Takahashi_tpm=		tpm
651513798ccSYoshihiro Takahashi_twa=		twa
652513798ccSYoshihiro Takahashi_vesa=		vesa
653513798ccSYoshihiro Takahashi_viawd=		viawd
654513798ccSYoshihiro Takahashi_virtio=	virtio
655513798ccSYoshihiro Takahashi_wpi=		wpi
656513798ccSYoshihiro Takahashi.if ${MK_SOURCELESS_UCODE} != "no"
657513798ccSYoshihiro Takahashi_wpifw=		wpifw
658513798ccSYoshihiro Takahashi.endif
659513798ccSYoshihiro Takahashi_x86bios=	x86bios
660513798ccSYoshihiro Takahashi.endif
661513798ccSYoshihiro Takahashi.endif
662513798ccSYoshihiro Takahashi
663513798ccSYoshihiro Takahashi.if ${MACHINE_CPUARCH} == "amd64"
664e974f91cSConrad Meyer_ioat=		ioat
665513798ccSYoshihiro Takahashi_ixl=		ixl
666513798ccSYoshihiro Takahashi_ixlv=		ixlv
667506bd395SDmitry Chagin_linux64=	linux64
6680b6ce4efSDmitry Chagin_linux_common=	linux_common
669513798ccSYoshihiro Takahashi_ntb=		ntb
670a650d869SBenno Rice_pms=		pms
671513798ccSYoshihiro Takahashi_qlxge=		qlxge
672513798ccSYoshihiro Takahashi_qlxgb=		qlxgb
673513798ccSYoshihiro Takahashi_qlxgbe=	qlxgbe
674513798ccSYoshihiro Takahashi_sfxge=		sfxge
67502629e46SEnji Cooper
67602629e46SEnji Cooper.if ${MK_BHYVE} != "no" || defined(ALL_MODULES)
677513798ccSYoshihiro Takahashi_vmm=		vmm
678513798ccSYoshihiro Takahashi.endif
67902629e46SEnji Cooper.endif
680513798ccSYoshihiro Takahashi
681c09808d0SWarner Losh.if ${MACHINE_CPUARCH} == "i386"
68228cc91d8SMike Smith# XXX some of these can move to the general case when de-i386'ed
6834e54e04eSWarner Losh# XXX some of these can move now, but are untested on other architectures.
684b8eaa978SRuslan Ermilov_3dfx=		3dfx
685375ce679SYaroslav Tykhiy_3dfx_linux=	3dfx_linux
686b8eaa978SRuslan Ermilov_aic=		aic
687b8eaa978SRuslan Ermilov_apm=		apm
688b8eaa978SRuslan Ermilov_arcnet=	arcnet
6894a47892cSRobert Millan.if ${MK_SOURCELESS_UCODE} != "no"
690f2ca64caSRoman Kurakin_ce=		ce
6914a47892cSRobert Millan.endif
692b8eaa978SRuslan Ermilov_coff=		coff
6934a47892cSRobert Millan.if ${MK_SOURCELESS_UCODE} != "no"
6944dba35d1SRoman Kurakin_cp=		cp
6954a47892cSRobert Millan.endif
696b8eaa978SRuslan Ermilov_elink=		elink
697149d1c89SHenrik Brix Andersen_glxiic=	glxiic
698a51aa5d1SPhilip Paeps_glxsb=		glxsb
699493a4890SKonstantin Belousov#_ibcs2=		ibcs2
700b8eaa978SRuslan Ermilov_ie=		ie
7016c5c0a5aSWarner Losh_mse=		mse
7023355bd61SRui Paulo_ncr=		ncr
703b8eaa978SRuslan Ermilov_ncv=		ncv
704b8eaa978SRuslan Ermilov_nsp=		nsp
705b8eaa978SRuslan Ermilov_pcfclock=	pcfclock
7064f05e3faSRuslan Ermilov_pst=		pst
70726e46883SJohn Baldwin_sbni=		sbni
708b8eaa978SRuslan Ermilov_streams=	streams
709513798ccSYoshihiro Takahashi_stg=		stg
7105c07a171SOlivier Houchard_svr4=		svr4
711e6e57451SJohn Baldwin_wds=		wds
712b8eaa978SRuslan Ermilov.if ${MACHINE} == "i386"
71377667fecSWarner Losh.if ${MK_EISA} != "no"
7141f00798bSYoshihiro Takahashi_ahb=		ahb
71577667fecSWarner Losh.endif
716b8eaa978SRuslan Ermilov_bios=		bios
717b8eaa978SRuslan Ermilov_cm=		cm
7184a47892cSRobert Millan.if ${MK_SOURCELESS_UCODE} != "no"
7196ca77a6fSRoman Kurakin_ctau=		ctau
7204a47892cSRobert Millan.endif
721b8eaa978SRuslan Ermilov_dpt=		dpt
722b8eaa978SRuslan Ermilov_ex=		ex
723e6e57451SJohn Baldwin_wl=		wl
724b8eaa978SRuslan Ermilov.elif ${MACHINE} == "pc98"
725b8eaa978SRuslan Ermilov_canbepm=	canbepm
726b8eaa978SRuslan Ermilov_canbus=	canbus
7272a6ce61aSJohn Baldwin_ct=		ct
728b8eaa978SRuslan Ermilov_pmc=		pmc
729b8eaa978SRuslan Ermilov_snc=		snc
730b8eaa978SRuslan Ermilov.endif
731b8eaa978SRuslan Ermilov.endif
732b8eaa978SRuslan Ermilov
7332064b86fSMarcel Moolenaar.if ${MACHINE_CPUARCH} == "arm"
7342064b86fSMarcel Moolenaar_cfi=		cfi
735e53470feSOleksandr Tymoshenko_cpsw=		cpsw
7362064b86fSMarcel Moolenaar.endif
7372064b86fSMarcel Moolenaar
738a393ae13SNathan Whitehorn.if ${MACHINE_CPUARCH} == "powerpc"
73950fd2a5bSNathan Whitehorn_agp=		agp
740d87076c8SWarner Losh_an=		an
741cf99524aSMarcel Moolenaar_bm=		bm
742363e589aSJustin Hibbits_cardbus=	cardbus
743363e589aSJustin Hibbits_cbb=		cbb
7442064b86fSMarcel Moolenaar_cfi=		cfi
7459eb9db93SNathan Whitehorn_cpufreq=	cpufreq
74686b32c08SNathan Whitehorn_drm=		drm
747fb6d9e60SJustin Hibbits_exca=		exca
748d5566384SPeter Wemm_nvram=		powermac_nvram
749513798ccSYoshihiro Takahashi_pccard=	pccard
75084cd55bbSJustin Hibbits_wi=		wi
7518e2ad3d7SJustin Hibbits.endif
75273badb24SDavid E. O'Brien
7532785677dSNathan Whitehorn.if ${MACHINE_ARCH} == "powerpc64"
754455fa651SJean-Sébastien Pédron_drm2=		drm2
7552785677dSNathan Whitehorn.endif
7562785677dSNathan Whitehorn
757c09808d0SWarner Losh.if ${MACHINE_CPUARCH} == "sparc64"
758e60fc88fSPyun YongHyeon_auxio=		auxio
7598baab09eSPyun YongHyeon_em=		em
760319570f9SMarius Strobl_epic=		epic
76157158a06SJack F Vogel_igb=		igb
762ce3ae5c7SIan Dowse.endif
763513798ccSYoshihiro Takahashi
7642ff069a7SEd Schouten.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64"
7652ff069a7SEd Schouten_cloudabi64=	cloudabi64
7662ff069a7SEd Schouten.endif
7672ff069a7SEd Schouten
768581a68a2SWarner Losh.endif
769581a68a2SWarner Losh
770854739a4SWarner LoshSUBDIR+=${MODULES_EXTRA}
771854739a4SWarner Losh
772ba2e5903SWes Peters.for reject in ${WITHOUT_MODULES}
773ba2e5903SWes PetersSUBDIR:= ${SUBDIR:N${reject}}
774ba2e5903SWes Peters.endfor
775ba2e5903SWes Peters
7765e82ed7bSRuslan Ermilov# Calling kldxref(8) for each module is expensive.
7774875819cSJake Burkholder.if !defined(NO_XREF)
77899bca506SRuslan Ermilov.MAKEFLAGS+=	-DNO_XREF
77949773547SBryan Dreweryafterinstall: .PHONY
780be1d673dSRuslan Ermilov	@if type kldxref >/dev/null 2>&1; then \
781be1d673dSRuslan Ermilov		${ECHO} kldxref ${DESTDIR}${KMODDIR}; \
782be1d673dSRuslan Ermilov		kldxref ${DESTDIR}${KMODDIR}; \
783be1d673dSRuslan Ermilov	fi
7845e82ed7bSRuslan Ermilov.endif
7855e82ed7bSRuslan Ermilov
78635c4406dSWarner Losh.include "${SYSDIR}/conf/config.mk"
78735c4406dSWarner Losh
78835c4406dSWarner LoshSUBDIR:= ${SUBDIR:u:O}
78935c4406dSWarner Losh
7900eec3684SGarrett Wollman.include <bsd.subdir.mk>
791