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