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