xref: /freebsd/sys/modules/Makefile (revision 9a41df2a0e6408e9b329bbd8b9e37c2b44461a1b)
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	${_coff} \
71	${_coretemp} \
72	${_cp} \
73	${_cpsw} \
74	${_cpuctl} \
75	${_cpufreq} \
76	${_crypto} \
77	${_cryptodev} \
78	${_cs} \
79	${_ct} \
80	${_ctau} \
81	${_cxgb} \
82	cxgbe \
83	${_cyclic} \
84	dc \
85	dcons \
86	dcons_crom \
87	de \
88	${_dpms} \
89	${_dpt} \
90	${_drm} \
91	${_drm2} \
92	${_dtrace} \
93	dummynet \
94	${_ed} \
95	${_elink} \
96	${_em} \
97	en \
98	${_ep} \
99	${_epic} \
100	esp \
101	${_et} \
102	${_ex} \
103	${_exca} \
104	${_ext2fs} \
105	${_fatm} \
106	fdc \
107	fdescfs \
108	${_fe} \
109	${_filemon} \
110	firewire \
111	firmware \
112	fuse \
113	${_fxp} \
114	gem \
115	geom \
116	${_glxiic} \
117	${_glxsb} \
118	hatm \
119	hifn \
120	hme \
121	${_hpt27xx} \
122	${_hptiop} \
123	${_hptmv} \
124	${_hptrr} \
125	hwpmc \
126	${_i2c} \
127	${_ibcs2} \
128	${_ichwd} \
129	${_ida} \
130	${_ie} \
131	if_bridge \
132	if_disc \
133	if_edsc \
134	if_ef \
135	if_epair \
136	if_faith \
137	if_gif \
138	${_if_gre} \
139	if_lagg \
140	${_if_ndis} \
141	if_stf \
142	if_tap \
143	if_tun \
144	if_vlan \
145	${_igb} \
146	${_iir} \
147	${_io} \
148	${_ipdivert} \
149	${_ipfilter} \
150	${_ipfw} \
151	ipfw_nat \
152	${_ipmi} \
153	ip_mroute_mod \
154	${_ips} \
155	${_ipw} \
156	${_ipwfw} \
157	${_isci} \
158	iscsi \
159	isp \
160	${_ispfw} \
161	${_iwi} \
162	${_iwifw} \
163	${_iwn} \
164	${_iwnfw} \
165	${_ixgb} \
166	${_ixgbe} \
167	jme \
168	joy \
169	kbdmux \
170	kgssapi \
171	kgssapi_krb5 \
172	khelp \
173	krpc \
174	ksyms \
175	le \
176	lge \
177	libalias \
178	libiconv \
179	libmbpool \
180	libmchain \
181	${_lindev} \
182	${_linprocfs} \
183	${_linsysfs} \
184	${_linux} \
185	lmc \
186	lpt \
187	mac_biba \
188	mac_bsdextended \
189	mac_ifoff \
190	mac_lomac \
191	mac_mls \
192	mac_none \
193	mac_partition \
194	mac_portacl \
195	mac_seeotheruids \
196	mac_stub \
197	mac_test \
198	malo \
199	mcd \
200	md \
201	mem \
202	mfi \
203	mii \
204	mlx \
205	${_mlx4} \
206	${_mlx4ib} \
207	${_mlxen} \
208	${_mly} \
209	mmc \
210	mmcsd \
211	mps \
212	mpt \
213	mqueue \
214	msdosfs \
215	msdosfs_iconv \
216	${_mse} \
217	msk \
218	${_mthca} \
219	mvs \
220	mwl \
221	${_mwlfw} \
222	mxge \
223	my \
224	${_nandfs} \
225	${_nandsim} \
226	${_ncp} \
227	${_ncv} \
228	${_ndis} \
229	${_netgraph} \
230	${_nfe} \
231	nfs_common \
232	nfscl \
233	nfsclient \
234	nfscommon \
235	nfsd \
236	nfslock \
237	nfslockd \
238	nfsserver \
239	nfssvc \
240	nge \
241	nmdm \
242	${_nsp} \
243	nullfs \
244	${_nvd} \
245	${_nve} \
246	${_nvme} \
247	${_nvram} \
248	${_nxge} \
249	${_opensolaris} \
250	oce \
251	${_padlock} \
252	patm \
253	${_pccard} \
254	${_pcfclock} \
255	pcn \
256	${_pf} \
257	${_pflog} \
258	${_pfsync} \
259	plip \
260	${_pmc} \
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	sdhci_pci \
288	sem \
289	send \
290	${_sf} \
291	${_sfxge} \
292	sge \
293	siba_bwn \
294	siftr \
295	siis \
296	sis \
297	sk \
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	${_toecore} \
317	${_tpm} \
318	trm \
319	${_twa} \
320	twe \
321	tws \
322	tx \
323	${_txp} \
324	uart \
325	ubsec \
326	udf \
327	udf_iconv \
328	ufs \
329	unionfs \
330	usb \
331	utopia \
332	${_vesa} \
333	${_virtio} \
334	vge \
335	${_viawd} \
336	vkbd \
337	${_vpo} \
338	vr \
339	vte \
340	vx \
341	${_vxge} \
342	wb \
343	${_wbwd} \
344	${_wi} \
345	wlan \
346	wlan_acl \
347	wlan_amrr \
348	wlan_ccmp \
349	wlan_rssadapt \
350	wlan_tkip \
351	wlan_wep \
352	wlan_xauth \
353	${_wpi} \
354	${_wpifw} \
355	${_x86bios} \
356	${_xe} \
357	xl \
358	${_zfs} \
359	zlib \
360
361.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
362_filemon=	filemon
363.endif
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_ncv=		ncv
504_ndis=		ndis
505_nsp=		nsp
506.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
507_opensolaris=	opensolaris
508.endif
509_pccard=	pccard
510_pcfclock=	pcfclock
511_pst=		pst
512_rdma=		rdma
513_safe=		safe
514_sbni=		sbni
515_scsi_low=	scsi_low
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_wbwd=		wbwd
525_wi=		wi
526_xe=		xe
527.if ${MK_ZFS} != "no" || defined(ALL_MODULES)
528_zfs=		zfs
529.endif
530.if ${MACHINE} == "i386"
531_aac=		aac
532_acpi=		acpi
533.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
534_aesni=		aesni
535.endif
536_ahb=		ahb
537_amdsbwd=	amdsbwd
538_amdtemp=	amdtemp
539_arcmsr=	arcmsr
540_asmc=		asmc
541_asr=		asr
542_bios=		bios
543_ciss=		ciss
544_cm=		cm
545_cmx=		cmx
546_coretemp=	coretemp
547.if ${MK_SOURCELESS_UCODE} != "no"
548_ctau=		ctau
549.endif
550_dpt=		dpt
551_ex=		ex
552.if ${MK_SOURCELESS_HOST} != "no"
553_hpt27xx=	hpt27xx
554.endif
555_hptiop=	hptiop
556.if ${MK_SOURCELESS_HOST} != "no"
557_hptmv=		hptmv
558_hptrr=		hptrr
559.endif
560_ichwd=		ichwd
561_ida=		ida
562_iir=		iir
563_ipmi=		ipmi
564_ips=		ips
565_ipw=		ipw
566.if ${MK_SOURCELESS_UCODE} != "no"
567_ipwfw=		ipwfw
568.endif
569_isci=		isci
570_iwi=		iwi
571.if ${MK_SOURCELESS_UCODE} != "no"
572_iwifw=		iwifw
573.endif
574_iwn=		iwn
575.if ${MK_SOURCELESS_UCODE} != "no"
576_iwnfw=		iwnfw
577.endif
578_ixgb=		ixgb
579_ixgbe=		ixgbe
580_mly=		mly
581_nfe=		nfe
582_nvd=		nvd
583.if ${MK_SOURCELESS_HOST} != "no"
584_nve=		nve
585.endif
586_nvme=		nvme
587_nvram=		nvram
588_nxge=		nxge
589_tpm=		tpm
590_viawd=		viawd
591_wpi=		wpi
592.if ${MK_SOURCELESS_UCODE} != "no"
593_wpifw=		wpifw
594.endif
595.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
596_padlock=	padlock
597.endif
598_s3=		s3
599_twa=		twa
600_vesa=		vesa
601_virtio=	virtio
602_x86bios=	x86bios
603.elif ${MACHINE} == "pc98"
604_canbepm=	canbepm
605_canbus=	canbus
606_ct=		ct
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_nvd=		nvd
694.if ${MK_SOURCELESS_HOST} != "no"
695_nve=		nve
696.endif
697_nvme=		nvme
698_nvram=		nvram
699_nxge=		nxge
700.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
701_opensolaris=	opensolaris
702.endif
703.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
704_padlock=	padlock
705.endif
706_pccard=	pccard
707_qlxgb=		qlxgb
708_rdma=		rdma
709_s3=		s3
710_safe=		safe
711_scsi_low=	scsi_low
712_sfxge=		sfxge
713_sound=		sound
714_speaker=	speaker
715_splash=	splash
716_sppp=		sppp
717_tpm=		tpm
718_twa=		twa
719_vesa=		vesa
720_viawd=		viawd
721_virtio=	virtio
722_vxge=  	vxge
723_x86bios=	x86bios
724_wbwd=		wbwd
725_wi=		wi
726_wpi=		wpi
727.if ${MK_SOURCELESS_UCODE} != "no"
728_wpifw=		wpifw
729.endif
730.if ${MK_ZFS} != "no" || defined(ALL_MODULES)
731_zfs=		zfs
732.endif
733.endif
734
735.if ${MACHINE_CPUARCH} == "arm"
736_cfi=		cfi
737_cpsw=		cpsw
738.endif
739
740.if ${MACHINE_CPUARCH} == "ia64"
741_aac=		aac
742_aic=		aic
743_an=		an
744_arcnet=	arcnet
745_asr=		asr
746_bktr=		bktr
747_cardbus=	cardbus
748_cbb=		cbb
749_ciss=		ciss
750_cm=		cm
751_cmx=		cmx
752_coff=		coff
753_cpufreq=	cpufreq
754_dpt=		dpt
755_em=		em
756_ep=		ep
757_et=		et
758_exca=		exca
759_fe=		fe
760_hptiop=	hptiop
761_ida=		ida
762_igb=		igb
763_iir=		iir
764_ips=		ips
765_mly=		mly
766_pccard=	pccard
767_scsi_low=	scsi_low
768_sound=		sound
769_splash=	splash
770_sppp=		sppp
771_streams=	streams
772_tpm=		tpm
773_twa=		twa
774_wi=		wi
775_xe=		xe
776.endif
777
778.if ${MACHINE_CPUARCH} == "powerpc"
779_agp=		agp
780_an=		an
781_bm=		bm
782_cardbus=	cardbus
783_cbb=		cbb
784_cfi=		cfi
785_cpufreq=	cpufreq
786_exca=		exca
787_nvram=		powermac_nvram
788_pccard=	pccard
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_sound=		sound
811.if ${MK_ZFS} != "no" || defined(ALL_MODULES)
812_zfs=		zfs
813.endif
814.endif
815
816.if defined(MODULES_OVERRIDE) && !defined(ALL_MODULES)
817SUBDIR=${MODULES_OVERRIDE}
818.endif
819
820.for reject in ${WITHOUT_MODULES}
821SUBDIR:= ${SUBDIR:N${reject}}
822.endfor
823
824# Calling kldxref(8) for each module is expensive.
825.if !defined(NO_XREF)
826.MAKEFLAGS+=	-DNO_XREF
827afterinstall:
828	@if type kldxref >/dev/null 2>&1; then \
829		${ECHO} kldxref ${DESTDIR}${KMODDIR}; \
830		kldxref ${DESTDIR}${KMODDIR}; \
831	fi
832.endif
833
834.include <bsd.subdir.mk>
835