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