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