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