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