xref: /freebsd/sys/modules/Makefile (revision c6063d0da8e1f8d8452b0c2ee1c7ad718c1a7052)
1# $FreeBSD$
2
3.include <src.opts.mk>
4
5# Modules that include binary-only blobs of microcode should be selectable by
6# MK_SOURCELESS_UCODE option (see below).
7
8SUBDIR=	\
9	${_3dfx} \
10	${_3dfx_linux} \
11	${_aac} \
12	${_aacraid} \
13	accf_data \
14	accf_dns \
15	accf_http \
16	acl_nfs4 \
17	acl_posix1e \
18	${_acpi} \
19	ae \
20	${_aesni} \
21	age \
22	${_agp} \
23	aha \
24	${_ahb} \
25	ahci \
26	${_aic} \
27	aic7xxx \
28	aio \
29	alc \
30	ale \
31	alq \
32	${_amdsbwd} \
33	${_amdtemp} \
34	amr \
35	${_an} \
36	${_aout} \
37	${_apm} \
38	${_arcmsr} \
39	${_arcnet} \
40	${_asmc} \
41	${_asr} \
42	ata \
43	ath \
44	ath_pci \
45	${_auxio} \
46	${_bce} \
47	bfe \
48	bge \
49	${_bxe} \
50	${_bios} \
51	${_bktr} \
52	${_bm} \
53	bridgestp \
54	bwi \
55	bwn \
56	cam \
57	${_canbepm} \
58	${_canbus} \
59	${_cardbus} \
60	${_carp} \
61	cas \
62	${_cbb} \
63	cc \
64	cd9660 \
65	cd9660_iconv \
66	${_ce} \
67	${_cfi} \
68	${_ciss} \
69	${_cm} \
70	${_cmx} \
71	${_coff} \
72	${_coretemp} \
73	${_cp} \
74	${_cpsw} \
75	${_cpuctl} \
76	${_cpufreq} \
77	${_crypto} \
78	${_cryptodev} \
79	${_cs} \
80	${_ct} \
81	${_ctau} \
82	ctl \
83	${_cxgb} \
84	${_cxgbe} \
85	${_cyclic} \
86	dc \
87	dcons \
88	dcons_crom \
89	de \
90	${_dpms} \
91	${_dpt} \
92	${_drm} \
93	${_drm2} \
94	${_dtrace} \
95	dummynet \
96	${_ed} \
97	${_elink} \
98	${_em} \
99	en \
100	${_ep} \
101	${_epic} \
102	esp \
103	${_et} \
104	${_ex} \
105	${_exca} \
106	${_ext2fs} \
107	${_fatm} \
108	fdc \
109	fdescfs \
110	${_fe} \
111	${_filemon} \
112	firewire \
113	firmware \
114	fuse \
115	${_fxp} \
116	gem \
117	geom \
118	${_glxiic} \
119	${_glxsb} \
120	hatm \
121	hifn \
122	hme \
123	${_hpt27xx} \
124	${_hptiop} \
125	${_hptmv} \
126	${_hptnr} \
127	${_hptrr} \
128	hwpmc \
129	${_hyperv} \
130	${_i2c} \
131        ${_ibcore} \
132	${_ibcs2} \
133	${_ichwd} \
134	${_ida} \
135	${_ie} \
136	if_bridge \
137	if_disc \
138	if_edsc \
139	if_epair \
140	if_faith \
141	if_gif \
142	${_if_gre} \
143	if_lagg \
144	${_if_ndis} \
145	if_stf \
146	if_tap \
147	if_tun \
148	if_vlan \
149	${_igb} \
150	${_iir} \
151	${_imgact_binmisc} \
152	${_io} \
153        ${_ipoib} \
154	${_ipdivert} \
155	${_ipfilter} \
156	${_ipfw} \
157	ipfw_nat \
158	${_ipmi} \
159	ip6_mroute_mod \
160	ip_mroute_mod \
161	${_ips} \
162	${_ipw} \
163	${_ipwfw} \
164	${_isci} \
165	iscsi \
166	iscsi_initiator \
167	isp \
168	${_ispfw} \
169	${_iwi} \
170	${_iwifw} \
171	${_iwn} \
172	${_iwnfw} \
173	${_ixgb} \
174	${_ixgbe} \
175	jme \
176	joy \
177	kbdmux \
178	kgssapi \
179	kgssapi_krb5 \
180	khelp \
181	krpc \
182	ksyms \
183	le \
184	lge \
185	libalias \
186	libiconv \
187	libmbpool \
188	libmchain \
189	${_linprocfs} \
190	${_linsysfs} \
191	${_linux} \
192	lmc \
193	lpt \
194	mac_biba \
195	mac_bsdextended \
196	mac_ifoff \
197	mac_lomac \
198	mac_mls \
199	mac_none \
200	mac_partition \
201	mac_portacl \
202	mac_seeotheruids \
203	mac_stub \
204	mac_test \
205	malo \
206	mcd \
207	md \
208	mem \
209	mfi \
210	mii \
211	mlx \
212	${_mlx4} \
213	${_mlx4ib} \
214	${_mlxen} \
215	${_mly} \
216	mmc \
217	mmcsd \
218	mpr \
219	mps \
220	mpt \
221	mqueue \
222	msdosfs \
223	msdosfs_iconv \
224	${_mse} \
225	msk \
226	${_mthca} \
227	mvs \
228	mwl \
229	${_mwlfw} \
230	mxge \
231	my \
232	${_nandfs} \
233	${_nandsim} \
234	${_ncp} \
235	${_ncv} \
236	${_ndis} \
237	netfpga10g \
238	${_netgraph} \
239	${_nfe} \
240	nfs_common \
241	nfscl \
242	nfsclient \
243	nfscommon \
244	nfsd \
245	nfslock \
246	nfslockd \
247	nfsserver \
248	nfssvc \
249	nge \
250	nmdm \
251	${_nsp} \
252	nullfs \
253	${_ntb} \
254	${_nvd} \
255	${_nvme} \
256	${_nvram} \
257	${_nxge} \
258	${_opensolaris} \
259	oce \
260	${_padlock} \
261	patm \
262	${_pccard} \
263	${_pcfclock} \
264	pcn \
265	${_pf} \
266	${_pflog} \
267	${_pfsync} \
268	plip \
269	${_pmc} \
270	ppbus \
271	ppc \
272	ppi \
273	pps \
274	procfs \
275	proto \
276	pseudofs \
277	${_pst} \
278	pty  \
279	puc \
280	${_qlxge} \
281	${_qlxgb} \
282	${_qlxgbe} \
283	ral \
284	${_ralfw} \
285	${_random} \
286	rc4 \
287	${_rdma} \
288	re \
289	reiserfs \
290	rl \
291	${_s3} \
292	${_safe} \
293	${_sbni} \
294	scc \
295	scd \
296	${_scsi_low} \
297	sdhci \
298	sdhci_pci \
299	sem \
300	send \
301	${_sf} \
302	${_sfxge} \
303	sge \
304	siba_bwn \
305	siftr \
306	siis \
307	sis \
308	sk \
309	${_smbfs} \
310	${_sn} \
311	${_snc} \
312	snp \
313	${_sound} \
314	${_speaker} \
315	${_splash} \
316	${_sppp} \
317	ste \
318	${_stg} \
319	stge \
320	${_streams} \
321	${_svr4} \
322	${_sym} \
323	${_syscons} \
324	sysvipc \
325	${_ti} \
326	tl \
327	tmpfs \
328	${_toecore} \
329	${_tpm} \
330	trm \
331	${_twa} \
332	twe \
333	tws \
334	tx \
335	${_txp} \
336	uart \
337	ubsec \
338	udf \
339	udf_iconv \
340	ufs \
341	unionfs \
342	usb \
343	utopia \
344	${_vesa} \
345	${_virtio} \
346	vge \
347	${_viawd} \
348	vkbd \
349	${_vmm} \
350	${_vmware} \
351	${_vpo} \
352	vr \
353	vte \
354	vx \
355	${_vxge} \
356	wb \
357	${_wbwd} \
358	${_wi} \
359	wlan \
360	wlan_acl \
361	wlan_amrr \
362	wlan_ccmp \
363	wlan_rssadapt \
364	wlan_tkip \
365	wlan_wep \
366	wlan_xauth \
367	${_wpi} \
368	${_wpifw} \
369	${_x86bios} \
370	${_xe} \
371	xl \
372	${_zfs} \
373	zlib \
374
375.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
376_filemon=	filemon
377_imgact_binmisc=	imgact_binmisc
378_vmware=	vmware
379.endif
380
381.if ${MACHINE_CPUARCH} != "powerpc" && ${MACHINE_CPUARCH} != "arm" && \
382	${MACHINE_CPUARCH} != "mips"
383_syscons=	syscons
384_vpo=		vpo
385.endif
386
387.if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips"
388# no BUS_SPACE_UNSPECIFIED
389# No barrier instruction support (specific to this driver)
390_sym=		sym
391# intr_disable() is a macro, causes problems
392.if ${MK_SOURCELESS_UCODE} != "no"
393_cxgb=		cxgb
394.endif
395.endif
396
397.if ${MK_SOURCELESS_UCODE} != "no"
398_cxgbe=		cxgbe
399.endif
400
401.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
402.if exists(${.CURDIR}/../opencrypto)
403_crypto=	crypto
404_cryptodev=	cryptodev
405.endif
406.if exists(${.CURDIR}/../crypto)
407_random=	random
408.endif
409.endif
410
411.if (${MK_INET_SUPPORT} != "no" || ${MK_INET6_SUPPORT} != "no") || \
412	defined(ALL_MODULES)
413_carp=	carp
414_toecore=	toecore
415.endif
416
417.if ${MK_INET_SUPPORT} != "no" || defined(ALL_MODULES)
418_if_gre=	if_gre
419.endif
420
421.if ${MK_IPFILTER} != "no" || defined(ALL_MODULES)
422_ipfilter=	ipfilter
423.endif
424
425.if ${MK_INET_SUPPORT} != "no" || defined(ALL_MODULES)
426_ipdivert=	ipdivert
427_ipfw=		ipfw
428.endif
429
430.if ${MK_NAND} != "no" || defined(ALL_MODULES)
431_nandfs=	nandfs
432_nandsim=	nandsim
433.endif
434
435.if ${MK_NETGRAPH} != "no" || defined(ALL_MODULES)
436_netgraph=	netgraph
437.endif
438
439.if (${MK_PF} != "no" && (${MK_INET_SUPPORT} != "no" || \
440	${MK_INET6_SUPPORT} != "no")) || defined(ALL_MODULES)
441_pf=		pf
442_pflog=		pflog
443.if ${MK_INET_SUPPORT} != "no"
444_pfsync=	pfsync
445.endif
446.endif
447
448.if ${MK_SOURCELESS_UCODE} != "no"
449_bce=		bce
450_fatm=		fatm
451_fxp=		fxp
452_ispfw=		ispfw
453_mwlfw=		mwlfw
454_ralfw=		ralfw
455_sf=		sf
456_sn=		sn
457_ti=		ti
458_txp=		txp
459.endif
460
461.if ${MACHINE_CPUARCH} == "i386"
462# XXX some of these can move to the general case when de-i386'ed
463# XXX some of these can move now, but are untested on other architectures.
464_3dfx=		3dfx
465_3dfx_linux=	3dfx_linux
466_agp=		agp
467_aic=		aic
468_an=		an
469_aout=		aout
470_apm=		apm
471_arcnet=	arcnet
472_bktr=		bktr
473_bxe=		bxe
474_cardbus=	cardbus
475_cbb=		cbb
476.if ${MK_SOURCELESS_UCODE} != "no"
477_ce=		ce
478.endif
479_coff=		coff
480.if ${MK_SOURCELESS_UCODE} != "no"
481_cp=		cp
482.endif
483_cpuctl=	cpuctl
484_cpufreq=	cpufreq
485_cs=		cs
486.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
487_cyclic=	cyclic
488.endif
489_dpms=		dpms
490_drm=		drm
491_drm2=		drm2
492.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
493_dtrace=	dtrace
494.endif
495_ed=		ed
496_elink=		elink
497_em=		em
498_ep=		ep
499_et=		et
500_exca=		exca
501_ext2fs=	ext2fs
502_fe=		fe
503_glxiic=	glxiic
504_glxsb=		glxsb
505_i2c=		i2c
506.if ${MK_OFED} != "no" || defined(ALL_MODULES)
507_ibcore=        ibcore
508.endif
509_ibcs2=		ibcs2
510_ie=		ie
511_if_ndis=	if_ndis
512_igb=		igb
513_io=		io
514.if ${MK_OFED} != "no" || defined(ALL_MODULES)
515_ipoib=         ipoib
516.endif
517_linprocfs=	linprocfs
518_linsysfs=	linsysfs
519_linux=		linux
520_mse=		mse
521.if ${MK_OFED} != "no" || defined(ALL_MODULES)
522_mlx4=		mlx4
523_mlx4ib=	mlx4ib
524_mlxen=		mlxen
525_mthca=		mthca
526.endif
527_ncv=		ncv
528_ndis=		ndis
529_nsp=		nsp
530.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
531_opensolaris=	opensolaris
532.endif
533_pccard=	pccard
534_pcfclock=	pcfclock
535_pst=		pst
536.if ${MK_OFED} != "no" || defined(ALL_MODULES)
537_rdma=		rdma
538.endif
539_safe=		safe
540_sbni=		sbni
541_scsi_low=	scsi_low
542_smbfs=		smbfs
543_sound=		sound
544_speaker=	speaker
545_splash=	splash
546_sppp=		sppp
547_stg=		stg
548_streams=	streams
549_svr4=		svr4
550_vxge=  	vxge
551_wbwd=		wbwd
552_wi=		wi
553_xe=		xe
554.if ${MK_ZFS} != "no" || defined(ALL_MODULES)
555_zfs=		zfs
556.endif
557.if ${MACHINE} == "i386"
558_aac=		aac
559_aacraid=	aacraid
560_acpi=		acpi
561.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
562_aesni=		aesni
563.endif
564.if ${MK_EISA} != "no"
565_ahb=		ahb
566.endif
567_amdsbwd=	amdsbwd
568_amdtemp=	amdtemp
569_arcmsr=	arcmsr
570_asmc=		asmc
571_asr=		asr
572_bios=		bios
573_ciss=		ciss
574_cm=		cm
575_cmx=		cmx
576_coretemp=	coretemp
577.if ${MK_SOURCELESS_UCODE} != "no"
578_ctau=		ctau
579.endif
580_dpt=		dpt
581_ex=		ex
582.if ${MK_SOURCELESS_HOST} != "no"
583_hpt27xx=	hpt27xx
584.endif
585_hptiop=	hptiop
586.if ${MK_SOURCELESS_HOST} != "no"
587_hptmv=		hptmv
588_hptnr=		hptnr
589_hptrr=		hptrr
590.endif
591_hyperv=	hyperv
592_ichwd=		ichwd
593_ida=		ida
594_iir=		iir
595_ipmi=		ipmi
596_ips=		ips
597_ipw=		ipw
598.if ${MK_SOURCELESS_UCODE} != "no"
599_ipwfw=		ipwfw
600.endif
601_isci=		isci
602_iwi=		iwi
603.if ${MK_SOURCELESS_UCODE} != "no"
604_iwifw=		iwifw
605.endif
606_iwn=		iwn
607.if ${MK_SOURCELESS_UCODE} != "no"
608_iwnfw=		iwnfw
609.endif
610_ixgb=		ixgb
611_ixgbe=		ixgbe
612_mly=		mly
613_nfe=		nfe
614_nvd=		nvd
615_nvme=		nvme
616_nvram=		nvram
617_nxge=		nxge
618_tpm=		tpm
619_viawd=		viawd
620_wpi=		wpi
621.if ${MK_SOURCELESS_UCODE} != "no"
622_wpifw=		wpifw
623.endif
624.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
625_padlock=	padlock
626.endif
627_s3=		s3
628_twa=		twa
629_vesa=		vesa
630_virtio=	virtio
631_x86bios=	x86bios
632.elif ${MACHINE} == "pc98"
633_canbepm=	canbepm
634_canbus=	canbus
635_ct=		ct
636_pmc=		pmc
637_snc=		snc
638.endif
639.endif
640
641.if ${MACHINE_CPUARCH} == "amd64"
642_aac=		aac
643_aacraid=	aacraid
644_aout=		aout
645_acpi=		acpi
646.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
647_aesni=		aesni
648.endif
649_agp=		agp
650_an=		an
651_amdsbwd=	amdsbwd
652_amdtemp=	amdtemp
653_arcmsr=	arcmsr
654_asmc=		asmc
655_bktr=		bktr
656_bxe=		bxe
657_cardbus=	cardbus
658_cbb=		cbb
659_cmx=		cmx
660_ciss=		ciss
661_coretemp=	coretemp
662_cpuctl=	cpuctl
663_cpufreq=	cpufreq
664.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
665_cyclic=	cyclic
666.endif
667_dpms=		dpms
668_drm=		drm
669_drm2=		drm2
670.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
671_dtrace=	dtrace
672.endif
673_ed=		ed
674_et=		et
675_em=		em
676_exca=		exca
677_ext2fs=	ext2fs
678.if ${MK_SOURCELESS_HOST} != "no"
679_hpt27xx=	hpt27xx
680.endif
681_hptiop=	hptiop
682.if ${MK_SOURCELESS_HOST} != "no"
683_hptmv=		hptmv
684_hptnr=		hptnr
685_hptrr=		hptrr
686.endif
687_hyperv=	hyperv
688_i2c=		i2c
689.if ${MK_OFED} != "no" || defined(ALL_MODULES)
690_ibcore=        ibcore
691.endif
692_ichwd=		ichwd
693_ida=		ida
694_if_ndis=	if_ndis
695_igb=		igb
696_iir=		iir
697_io=		io
698_ipmi=		ipmi
699.if ${MK_OFED} != "no" || defined(ALL_MODULES)
700_ipoib=         ipoib
701.endif
702_ips=		ips
703_ipw=		ipw
704.if ${MK_SOURCELESS_UCODE} != "no"
705_ipwfw=		ipwfw
706.endif
707_isci=		isci
708_iwi=		iwi
709.if ${MK_SOURCELESS_UCODE} != "no"
710_iwifw=		iwifw
711.endif
712_iwn=		iwn
713.if ${MK_SOURCELESS_UCODE} != "no"
714_iwnfw=		iwnfw
715.endif
716_ixgb=		ixgb
717_ixgbe=		ixgbe
718_linprocfs=	linprocfs
719_linsysfs=	linsysfs
720_linux=		linux
721_mly=		mly
722.if ${MK_OFED} != "no" || defined(ALL_MODULES)
723_mlx4=		mlx4
724_mlx4ib=	mlx4ib
725_mlxen=		mlxen
726_mthca=		mthca
727.endif
728_ndis=		ndis
729_nfe=		nfe
730_ntb=		ntb
731_nvd=		nvd
732_nvme=		nvme
733_nvram=		nvram
734_nxge=		nxge
735.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
736_opensolaris=	opensolaris
737.endif
738.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
739_padlock=	padlock
740.endif
741_pccard=	pccard
742_qlxge=		qlxge
743_qlxgb=		qlxgb
744_qlxgbe=	qlxgbe
745.if ${MK_OFED} != "no" || defined(ALL_MODULES)
746_rdma=		rdma
747.endif
748_s3=		s3
749_safe=		safe
750_scsi_low=	scsi_low
751_sfxge=		sfxge
752_smbfs=		smbfs
753_sound=		sound
754_speaker=	speaker
755_splash=	splash
756_sppp=		sppp
757_tpm=		tpm
758_twa=		twa
759_vesa=		vesa
760_viawd=		viawd
761_virtio=	virtio
762_vmm=		vmm
763_vxge=  	vxge
764_x86bios=	x86bios
765_wbwd=		wbwd
766_wi=		wi
767_wpi=		wpi
768.if ${MK_SOURCELESS_UCODE} != "no"
769_wpifw=		wpifw
770.endif
771.if ${MK_ZFS} != "no" || defined(ALL_MODULES)
772_zfs=		zfs
773.endif
774.endif
775
776.if ${MACHINE_CPUARCH} == "arm"
777_cfi=		cfi
778_cpsw=		cpsw
779.endif
780
781.if ${MACHINE_CPUARCH} == "ia64"
782_aac=		aac
783_aacraid=	aacraid
784_aic=		aic
785_an=		an
786_arcnet=	arcnet
787_asr=		asr
788_bktr=		bktr
789_cardbus=	cardbus
790_cbb=		cbb
791_ciss=		ciss
792_cm=		cm
793_cmx=		cmx
794_coff=		coff
795_cpufreq=	cpufreq
796_dpt=		dpt
797_em=		em
798_ep=		ep
799_et=		et
800_exca=		exca
801_fe=		fe
802_hptiop=	hptiop
803_ida=		ida
804_igb=		igb
805_iir=		iir
806_ips=		ips
807_mly=		mly
808_pccard=	pccard
809_scsi_low=	scsi_low
810_smbfs=		smbfs
811_sound=		sound
812_splash=	splash
813_sppp=		sppp
814_streams=	streams
815_tpm=		tpm
816_twa=		twa
817_wi=		wi
818_xe=		xe
819.endif
820
821.if ${MACHINE_CPUARCH} == "powerpc"
822_agp=		agp
823_an=		an
824_bm=		bm
825_cardbus=	cardbus
826_cbb=		cbb
827_cfi=		cfi
828_cpufreq=	cpufreq
829.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
830_cyclic=	cyclic
831.endif
832_drm=		drm
833.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
834_dtrace=	dtrace
835.endif
836_exca=		exca
837_nvram=		powermac_nvram
838_pccard=	pccard
839_smbfs=		smbfs
840_sound=		sound
841.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
842_opensolaris=	opensolaris
843.endif
844_wi=		wi
845.endif
846
847.if ${MACHINE_ARCH} == "powerpc64"
848.if ${MK_ZFS} != "no" || defined(ALL_MODULES)
849_zfs=		zfs
850.endif
851.endif
852
853.if ${MACHINE_CPUARCH} == "sparc64"
854_auxio=		auxio
855_em=		em
856_epic=		epic
857_i2c=		i2c
858_igb=		igb
859.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
860_opensolaris=	opensolaris
861.endif
862_smbfs=		smbfs
863_sound=		sound
864.if ${MK_ZFS} != "no" || defined(ALL_MODULES)
865_zfs=		zfs
866.endif
867.endif
868
869.if defined(MODULES_OVERRIDE) && !defined(ALL_MODULES)
870SUBDIR=${MODULES_OVERRIDE}
871.endif
872
873.for reject in ${WITHOUT_MODULES}
874SUBDIR:= ${SUBDIR:N${reject}}
875.endfor
876
877# Calling kldxref(8) for each module is expensive.
878.if !defined(NO_XREF)
879.MAKEFLAGS+=	-DNO_XREF
880afterinstall:
881	@if type kldxref >/dev/null 2>&1; then \
882		${ECHO} kldxref ${DESTDIR}${KMODDIR}; \
883		kldxref ${DESTDIR}${KMODDIR}; \
884	fi
885.endif
886
887.include <bsd.subdir.mk>
888