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