xref: /freebsd/sys/modules/Makefile (revision aca5021d5f7dcab1e11692923266373e35322d9a)
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	${_hptnr} \
127	${_hptrr} \
128	hwpmc \
129	${_i2c} \
130	${_ibcs2} \
131	${_ichwd} \
132	${_ida} \
133	${_ie} \
134	if_bridge \
135	if_disc \
136	if_edsc \
137	if_ef \
138	if_epair \
139	if_faith \
140	if_gif \
141	${_if_gre} \
142	if_lagg \
143	${_if_ndis} \
144	if_stf \
145	if_tap \
146	if_tun \
147	if_vlan \
148	${_igb} \
149	${_iir} \
150	${_io} \
151	${_ipdivert} \
152	${_ipfilter} \
153	${_ipfw} \
154	ipfw_nat \
155	${_ipmi} \
156	ip6_mroute_mod \
157	ip_mroute_mod \
158	${_ips} \
159	${_ipw} \
160	${_ipwfw} \
161	${_isci} \
162	iscsi \
163	isp \
164	${_ispfw} \
165	${_iwi} \
166	${_iwifw} \
167	${_iwn} \
168	${_iwnfw} \
169	${_ixgb} \
170	${_ixgbe} \
171	jme \
172	joy \
173	kbdmux \
174	kgssapi \
175	kgssapi_krb5 \
176	khelp \
177	krpc \
178	ksyms \
179	le \
180	lge \
181	libalias \
182	libiconv \
183	libmbpool \
184	libmchain \
185	${_lindev} \
186	${_linprocfs} \
187	${_linsysfs} \
188	${_linux} \
189	lmc \
190	lpt \
191	mac_biba \
192	mac_bsdextended \
193	mac_ifoff \
194	mac_lomac \
195	mac_mls \
196	mac_none \
197	mac_partition \
198	mac_portacl \
199	mac_seeotheruids \
200	mac_stub \
201	mac_test \
202	malo \
203	mcd \
204	md \
205	mem \
206	mfi \
207	mii \
208	mlx \
209	${_mlx4} \
210	${_mlx4ib} \
211	${_mlxen} \
212	${_mly} \
213	mmc \
214	mmcsd \
215	mps \
216	mpt \
217	mqueue \
218	msdosfs \
219	msdosfs_iconv \
220	${_mse} \
221	msk \
222	${_mthca} \
223	mvs \
224	mwl \
225	${_mwlfw} \
226	mxge \
227	my \
228	${_nandfs} \
229	${_nandsim} \
230	${_ncp} \
231	${_ncv} \
232	${_ndis} \
233	${_netgraph} \
234	${_nfe} \
235	nfs_common \
236	nfscl \
237	nfsclient \
238	nfscommon \
239	nfsd \
240	nfslock \
241	nfslockd \
242	nfsserver \
243	nfssvc \
244	nge \
245	nmdm \
246	${_nsp} \
247	nullfs \
248	${_ntb} \
249	${_nvd} \
250	${_nve} \
251	${_nvme} \
252	${_nvram} \
253	${_nxge} \
254	${_opensolaris} \
255	oce \
256	${_padlock} \
257	patm \
258	${_pccard} \
259	${_pcfclock} \
260	pcn \
261	${_pf} \
262	${_pflog} \
263	${_pfsync} \
264	plip \
265	${_pmc} \
266	ppbus \
267	ppc \
268	ppi \
269	pps \
270	procfs \
271	pseudofs \
272	${_pst} \
273	pty  \
274	puc \
275	${_qlxge} \
276	${_qlxgb} \
277	${_qlxgbe} \
278	ral \
279	${_ralfw} \
280	${_random} \
281	rc4 \
282	${_rdma} \
283	re \
284	reiserfs \
285	rl \
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_sf=		sf
448_sn=		sn
449_ti=		ti
450_txp=		txp
451.endif
452
453.if ${MACHINE_CPUARCH} == "i386"
454# XXX some of these can move to the general case when de-i386'ed
455# XXX some of these can move now, but are untested on other architectures.
456_3dfx=		3dfx
457_3dfx_linux=	3dfx_linux
458_agp=		agp
459_aic=		aic
460_an=		an
461_aout=		aout
462_apm=		apm
463_arcnet=	arcnet
464_bktr=		bktr
465_bxe=		bxe
466_cardbus=	cardbus
467_cbb=		cbb
468.if ${MK_SOURCELESS_UCODE} != "no"
469_ce=		ce
470.endif
471_coff=		coff
472.if ${MK_SOURCELESS_UCODE} != "no"
473_cp=		cp
474.endif
475_cpuctl=	cpuctl
476_cpufreq=	cpufreq
477_cs=		cs
478.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
479_cyclic=	cyclic
480.endif
481_dpms=		dpms
482_drm=		drm
483_drm2=		drm2
484.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
485_dtrace=	dtrace
486.endif
487_ed=		ed
488_elink=		elink
489_em=		em
490_ep=		ep
491_et=		et
492_exca=		exca
493_ext2fs=	ext2fs
494_fe=		fe
495_glxiic=	glxiic
496_glxsb=		glxsb
497_i2c=		i2c
498_ibcs2=		ibcs2
499_ie=		ie
500_if_ndis=	if_ndis
501_igb=		igb
502_io=		io
503_lindev=	lindev
504_linprocfs=	linprocfs
505_linsysfs=	linsysfs
506_linux=		linux
507_mse=		mse
508.if ${MK_OFED} != "no" || defined(ALL_MODULES)
509_mlx4=		mlx4
510_mlx4ib=	mlx4ib
511_mlxen=		mlxen
512_mthca=		mthca
513.endif
514_ncv=		ncv
515_ndis=		ndis
516_nsp=		nsp
517.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
518_opensolaris=	opensolaris
519.endif
520_pccard=	pccard
521_pcfclock=	pcfclock
522_pst=		pst
523_rdma=		rdma
524_safe=		safe
525_sbni=		sbni
526_scsi_low=	scsi_low
527_smbfs=		smbfs
528_sound=		sound
529_speaker=	speaker
530_splash=	splash
531_sppp=		sppp
532_stg=		stg
533_streams=	streams
534_svr4=		svr4
535_vxge=  	vxge
536_wbwd=		wbwd
537_wi=		wi
538_xe=		xe
539.if ${MK_ZFS} != "no" || defined(ALL_MODULES)
540_zfs=		zfs
541.endif
542.if ${MACHINE} == "i386"
543_aac=		aac
544_aacraid=	aacraid
545_acpi=		acpi
546.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
547_aesni=		aesni
548.endif
549_ahb=		ahb
550_amdsbwd=	amdsbwd
551_amdtemp=	amdtemp
552_arcmsr=	arcmsr
553_asmc=		asmc
554_asr=		asr
555_bios=		bios
556_ciss=		ciss
557_cm=		cm
558_cmx=		cmx
559_coretemp=	coretemp
560.if ${MK_SOURCELESS_UCODE} != "no"
561_ctau=		ctau
562.endif
563_dpt=		dpt
564_ex=		ex
565.if ${MK_SOURCELESS_HOST} != "no"
566_hpt27xx=	hpt27xx
567.endif
568_hptiop=	hptiop
569.if ${MK_SOURCELESS_HOST} != "no"
570_hptmv=		hptmv
571_hptnr=		hptnr
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_hptnr=		hptnr
670_hptrr=		hptrr
671.endif
672_i2c=		i2c
673_ichwd=		ichwd
674_ida=		ida
675_if_ndis=	if_ndis
676_igb=		igb
677_iir=		iir
678_io=		io
679_ipmi=		ipmi
680_ips=		ips
681_ipw=		ipw
682.if ${MK_SOURCELESS_UCODE} != "no"
683_ipwfw=		ipwfw
684.endif
685_isci=		isci
686_iwi=		iwi
687.if ${MK_SOURCELESS_UCODE} != "no"
688_iwifw=		iwifw
689.endif
690_iwn=		iwn
691.if ${MK_SOURCELESS_UCODE} != "no"
692_iwnfw=		iwnfw
693.endif
694_ixgb=		ixgb
695_ixgbe=		ixgbe
696_lindev=	lindev
697_linprocfs=	linprocfs
698_linsysfs=	linsysfs
699_linux=		linux
700_mly=		mly
701.if ${MK_OFED} != "no" || defined(ALL_MODULES)
702_mlx4=		mlx4
703_mlx4ib=	mlx4ib
704_mlxen=		mlxen
705_mthca=		mthca
706.endif
707_ndis=		ndis
708_nfe=		nfe
709_ntb=		ntb
710_nvd=		nvd
711.if ${MK_SOURCELESS_HOST} != "no"
712_nve=		nve
713.endif
714_nvme=		nvme
715_nvram=		nvram
716_nxge=		nxge
717.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
718_opensolaris=	opensolaris
719.endif
720.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
721_padlock=	padlock
722.endif
723_pccard=	pccard
724_qlxge=		qlxge
725_qlxgb=		qlxgb
726_qlxgbe=	qlxgbe
727_rdma=		rdma
728_s3=		s3
729_safe=		safe
730_scsi_low=	scsi_low
731_sfxge=		sfxge
732_smbfs=		smbfs
733_sound=		sound
734_speaker=	speaker
735_splash=	splash
736_sppp=		sppp
737_tpm=		tpm
738_twa=		twa
739_vesa=		vesa
740_viawd=		viawd
741_virtio=	virtio
742_vmm=		vmm
743_vxge=  	vxge
744_x86bios=	x86bios
745_wbwd=		wbwd
746_wi=		wi
747_wpi=		wpi
748.if ${MK_SOURCELESS_UCODE} != "no"
749_wpifw=		wpifw
750.endif
751.if ${MK_ZFS} != "no" || defined(ALL_MODULES)
752_zfs=		zfs
753.endif
754.endif
755
756.if ${MACHINE_CPUARCH} == "arm"
757_cfi=		cfi
758_cpsw=		cpsw
759.endif
760
761.if ${MACHINE_CPUARCH} == "ia64"
762_aac=		aac
763_aacraid=	aacraid
764_aic=		aic
765_an=		an
766_arcnet=	arcnet
767_asr=		asr
768_bktr=		bktr
769_cardbus=	cardbus
770_cbb=		cbb
771_ciss=		ciss
772_cm=		cm
773_cmx=		cmx
774_coff=		coff
775_cpufreq=	cpufreq
776_dpt=		dpt
777_em=		em
778_ep=		ep
779_et=		et
780_exca=		exca
781_fe=		fe
782_hptiop=	hptiop
783_ida=		ida
784_igb=		igb
785_iir=		iir
786_ips=		ips
787_mly=		mly
788_pccard=	pccard
789_scsi_low=	scsi_low
790_smbfs=		smbfs
791_sound=		sound
792_splash=	splash
793_sppp=		sppp
794_streams=	streams
795_tpm=		tpm
796_twa=		twa
797_wi=		wi
798_xe=		xe
799.endif
800
801.if ${MACHINE_CPUARCH} == "powerpc"
802_agp=		agp
803_an=		an
804_bm=		bm
805_cardbus=	cardbus
806_cbb=		cbb
807_cfi=		cfi
808_cpufreq=	cpufreq
809.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
810_cyclic=	cyclic
811.endif
812_drm=		drm
813.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
814_dtrace=	dtrace
815.endif
816_exca=		exca
817_nvram=		powermac_nvram
818_pccard=	pccard
819_smbfs=		smbfs
820_sound=		sound
821.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
822_opensolaris=	opensolaris
823.endif
824_wi=		wi
825.endif
826
827.if ${MACHINE_ARCH} == "powerpc64"
828.if ${MK_ZFS} != "no" || defined(ALL_MODULES)
829_zfs=		zfs
830.endif
831.endif
832
833.if ${MACHINE_CPUARCH} == "sparc64"
834_auxio=		auxio
835_em=		em
836_epic=		epic
837_i2c=		i2c
838_igb=		igb
839.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
840_opensolaris=	opensolaris
841.endif
842_smbfs=		smbfs
843_sound=		sound
844.if ${MK_ZFS} != "no" || defined(ALL_MODULES)
845_zfs=		zfs
846.endif
847.endif
848
849.if defined(MODULES_OVERRIDE) && !defined(ALL_MODULES)
850SUBDIR=${MODULES_OVERRIDE}
851.endif
852
853.for reject in ${WITHOUT_MODULES}
854SUBDIR:= ${SUBDIR:N${reject}}
855.endfor
856
857# Calling kldxref(8) for each module is expensive.
858.if !defined(NO_XREF)
859.MAKEFLAGS+=	-DNO_XREF
860afterinstall:
861	@if type kldxref >/dev/null 2>&1; then \
862		${ECHO} kldxref ${DESTDIR}${KMODDIR}; \
863		kldxref ${DESTDIR}${KMODDIR}; \
864	fi
865.endif
866
867.include <bsd.subdir.mk>
868