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