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