Makefile revision 307775
1# $FreeBSD: stable/11/sys/modules/Makefile 307775 2016-10-22 15:26:32Z gonzo $
2
3SYSDIR?=${.CURDIR}/..
4.include "${SYSDIR}/conf/kern.opts.mk"
5
6SUBDIR_PARALLEL=
7
8# Modules that include binary-only blobs of microcode should be selectable by
9# MK_SOURCELESS_UCODE option (see below).
10
11.if defined(MODULES_OVERRIDE) && !defined(ALL_MODULES)
12SUBDIR=${MODULES_OVERRIDE}
13.else
14SUBDIR=	\
15	${_3dfx} \
16	${_3dfx_linux} \
17	${_aac} \
18	${_aacraid} \
19	accf_data \
20	accf_dns \
21	accf_http \
22	acl_nfs4 \
23	acl_posix1e \
24	${_acpi} \
25	ae \
26	${_aesni} \
27	age \
28	${_agp} \
29	aha \
30	${_ahb} \
31	ahci \
32	${_aic} \
33	aic7xxx \
34	alc \
35	ale \
36	alq \
37	${_amdsbwd} \
38	${_amdtemp} \
39	amr \
40	${_an} \
41	${_aout} \
42	${_apm} \
43	${_arcmsr} \
44	${_arcnet} \
45	${_asmc} \
46	ata \
47	ath \
48	ath_pci \
49	${_autofs} \
50	${_auxio} \
51	${_bce} \
52	bfe \
53	bhnd \
54	bge \
55	bhnd \
56	${_bxe} \
57	${_bios} \
58	${_bktr} \
59	${_bm} \
60	bridgestp \
61	bwi \
62	bwn \
63	bwn_pci \
64	cam \
65	${_canbepm} \
66	${_canbus} \
67	${_cardbus} \
68	${_carp} \
69	cas \
70	${_cbb} \
71	cc \
72	cd9660 \
73	cd9660_iconv \
74	${_ce} \
75	${_cfi} \
76	${_ciss} \
77	cloudabi \
78	${_cloudabi32} \
79	${_cloudabi64} \
80	${_cm} \
81	${_cmx} \
82	${_coff} \
83	${_coretemp} \
84	${_cp} \
85	${_cpsw} \
86	${_cpuctl} \
87	${_cpufreq} \
88	${_crypto} \
89	${_cryptodev} \
90	${_cs} \
91	${_ct} \
92	${_ctau} \
93	ctl \
94	${_cxgb} \
95	${_cxgbe} \
96	dc \
97	dcons \
98	dcons_crom \
99	de \
100	${_dpms} \
101	${_dpt} \
102	${_drm} \
103	${_drm2} \
104	dummynet \
105	${_ed} \
106	${_efirt} \
107	${_elink} \
108	${_em} \
109	en \
110	${_ep} \
111	${_epic} \
112	esp \
113	${_et} \
114	evdev \
115	${_ex} \
116	${_exca} \
117	ext2fs \
118	${_fatm} \
119	fdc \
120	fdescfs \
121	${_fe} \
122	filemon \
123	firewire \
124	firmware \
125	fuse \
126	${_fxp} \
127	gem \
128	geom \
129	${_glxiic} \
130	${_glxsb} \
131	gpio \
132	hatm \
133	hifn \
134	hme \
135	${_hpt27xx} \
136	${_hptiop} \
137	${_hptmv} \
138	${_hptnr} \
139	${_hptrr} \
140	hwpmc \
141	${_hyperv} \
142	i2c \
143        ${_ibcore} \
144	${_ibcs2} \
145	${_ichwd} \
146	${_ida} \
147	${_ie} \
148	if_bridge \
149	if_disc \
150	if_edsc \
151	${_if_enc} \
152	if_epair \
153	${_if_gif} \
154	${_if_gre} \
155	${_if_me} \
156	if_lagg \
157	${_if_ndis} \
158	${_if_stf} \
159	if_tap \
160	if_tun \
161	if_vlan \
162	if_vxlan \
163	${_igb} \
164	${_iir} \
165	imgact_binmisc \
166	${_io} \
167	${_ioat} \
168        ${_ipoib} \
169	${_ipdivert} \
170	${_ipfilter} \
171	${_ipfw} \
172	ipfw_nat \
173	${_ipmi} \
174	ip6_mroute_mod \
175	ip_mroute_mod \
176	${_ips} \
177	${_ipw} \
178	${_ipwfw} \
179	${_isci} \
180	${_iser} \
181	isp \
182	${_ispfw} \
183	${_iwi} \
184	${_iwifw} \
185	${_iwm} \
186	${_iwmfw} \
187	${_iwn} \
188	${_iwnfw} \
189	${_ix} \
190	${_ixv} \
191	${_ixgb} \
192	${_ixl} \
193	${_ixlv} \
194	jme \
195	joy \
196	kbdmux \
197	kgssapi \
198	kgssapi_krb5 \
199	khelp \
200	krpc \
201	ksyms \
202	le \
203	lge \
204	libalias \
205	libiconv \
206	libmbpool \
207	libmchain \
208	${_linprocfs} \
209	${_linsysfs} \
210	${_linux} \
211	${_linux_common} \
212	${_linux64} \
213	linuxkpi \
214	lmc \
215	lpt \
216	mac_biba \
217	mac_bsdextended \
218	mac_ifoff \
219	mac_lomac \
220	mac_mls \
221	mac_none \
222	mac_partition \
223	mac_portacl \
224	mac_seeotheruids \
225	mac_stub \
226	mac_test \
227	malo \
228	mcd \
229	md \
230	mdio \
231	mem \
232	mfi \
233	mii \
234	mlx \
235	${_mlx4} \
236	${_mlx4ib} \
237	${_mlxen} \
238	${_mlx5} \
239	${_mlx5en} \
240	${_mly} \
241	mmc \
242	mmcsd \
243	mpr \
244	mps \
245	mpt \
246	mqueue \
247	mrsas \
248	msdosfs \
249	msdosfs_iconv \
250	${_mse} \
251	msk \
252	${_mthca} \
253	mvs \
254	mwl \
255	${_mwlfw} \
256	mxge \
257	my \
258	${_nandfs} \
259	${_nandsim} \
260	${_ncr} \
261	${_nctgpio} \
262	${_ncv} \
263	${_ndis} \
264	netfpga10g \
265	${_netgraph} \
266	${_nfe} \
267	nfscl \
268	nfscommon \
269	nfsd \
270	nfslock \
271	nfslockd \
272	nfssvc \
273	nge \
274	nmdm \
275	${_nsp} \
276	nullfs \
277	${_ntb} \
278	${_nvd} \
279	${_nvme} \
280	${_nvram} \
281	${_nxge} \
282	oce \
283	otus \
284	${_otusfw} \
285	ow \
286	${_padlock} \
287	${_padlock_rng} \
288	patm \
289	${_pccard} \
290	${_pcfclock} \
291	pcn \
292	${_pf} \
293	${_pflog} \
294	${_pfsync} \
295	plip \
296	${_pmc} \
297	${_pms} \
298	ppbus \
299	ppc \
300	ppi \
301	pps \
302	procfs \
303	proto \
304	pseudofs \
305	${_pst} \
306	pty  \
307	puc \
308	${_qlxge} \
309	${_qlxgb} \
310	${_qlxgbe} \
311	ral \
312	${_ralfw} \
313	${_random_fortuna} \
314	${_random_yarrow} \
315	${_random_other} \
316	rc4 \
317	${_rdma} \
318	${_rdrand_rng} \
319	re \
320	rl \
321	rtwn \
322	${_rtwnfw} \
323	${_s3} \
324	${_safe} \
325	${_sbni} \
326	scc \
327	scd \
328	${_scsi_low} \
329	sdhci \
330	sdhci_pci \
331	sem \
332	send \
333	${_sf} \
334	${_sfxge} \
335	sge \
336	${_si} \
337	siba_bwn \
338	siftr \
339	siis \
340	sis \
341	sk \
342	smbfs \
343	sn \
344	${_snc} \
345	snp \
346	sound \
347	${_speaker} \
348	${_splash} \
349	${_sppp} \
350	ste \
351	${_stg} \
352	stge \
353	${_streams} \
354	${_svr4} \
355	${_sym} \
356	${_syscons} \
357	sysvipc \
358	${_ti} \
359	${_tcp_fastpath} \
360	tests/framework \
361	tests/callout_test \
362	tl \
363	tmpfs \
364	${_toecore} \
365	${_tpm} \
366	trm \
367	${_twa} \
368	twe \
369	tws \
370	tx \
371	${_txp} \
372	uart \
373	ubsec \
374	udf \
375	udf_iconv \
376	ufs \
377	uinput \
378	unionfs \
379	urtwn \
380	${_urtwnfw} \
381	usb \
382	utopia \
383	${_vesa} \
384	${_virtio} \
385	vge \
386	${_viawd} \
387	videomode \
388	vkbd \
389	${_vmm} \
390	${_vmware} \
391	${_vpo} \
392	vr \
393	vte \
394	vx \
395	${_vxge} \
396	wb \
397	${_wbwd} \
398	${_wds} \
399	${_wi} \
400	${_wl} \
401	wlan \
402	wlan_acl \
403	wlan_amrr \
404	wlan_ccmp \
405	wlan_rssadapt \
406	wlan_tkip \
407	wlan_wep \
408	wlan_xauth \
409	${_wpi} \
410	${_wpifw} \
411	${_x86bios} \
412	${_xe} \
413	xl \
414	zlib
415
416.if ${MK_AUTOFS} != "no" || defined(ALL_MODULES)
417_autofs=	autofs
418.endif
419
420.if ${MK_CDDL} != "no" || defined(ALL_MODULES)
421.if (${MACHINE_CPUARCH} != "arm" || ${MACHINE_ARCH:Marmv6*} != "") && \
422	${MACHINE_CPUARCH} != "mips" && \
423	${MACHINE_CPUARCH} != "sparc64"
424SUBDIR+=	dtrace
425.endif
426SUBDIR+=	opensolaris
427.endif
428
429.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
430.if exists(${.CURDIR}/../opencrypto)
431_crypto=	crypto
432_cryptodev=	cryptodev
433_random_fortuna=random_fortuna
434_random_yarrow=	random_yarrow
435_random_other=	random_other
436.endif
437.endif
438
439.if ${MK_CUSE} != "no" || defined(ALL_MODULES)
440SUBDIR+=	cuse
441.endif
442
443.if ${MK_EXTRA_TCP_STACKS} != "no" || defined(ALL_MODULES)
444_tcp_fastpath=	tcp/fastpath
445.endif
446
447.if (${MK_INET_SUPPORT} != "no" || ${MK_INET6_SUPPORT} != "no") || \
448	defined(ALL_MODULES)
449_carp=		carp
450_toecore=	toecore
451_if_enc=	if_enc
452_if_gif=	if_gif
453_if_gre=	if_gre
454.endif
455
456.if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \
457	defined(ALL_MODULES)
458_if_stf=	if_stf
459.endif
460
461.if ${MK_INET_SUPPORT} != "no" || defined(ALL_MODULES)
462_if_me=		if_me
463_ipdivert=	ipdivert
464_ipfw=		ipfw
465.endif
466
467.if ${MK_IPFILTER} != "no" || defined(ALL_MODULES)
468_ipfilter=	ipfilter
469.endif
470
471.if ${MK_ISCSI} != "no" || defined(ALL_MODULES)
472SUBDIR+=	iscsi
473SUBDIR+=	iscsi_initiator
474.endif
475
476.if ${MK_NAND} != "no" || defined(ALL_MODULES)
477_nandfs=	nandfs
478_nandsim=	nandsim
479.endif
480
481.if ${MK_NETGRAPH} != "no" || defined(ALL_MODULES)
482_netgraph=	netgraph
483.endif
484
485.if (${MK_PF} != "no" && (${MK_INET_SUPPORT} != "no" || \
486	${MK_INET6_SUPPORT} != "no")) || defined(ALL_MODULES)
487_pf=		pf
488_pflog=		pflog
489.if ${MK_INET_SUPPORT} != "no"
490_pfsync=	pfsync
491.endif
492.endif
493
494.if ${MK_SOURCELESS_UCODE} != "no"
495_bce=		bce
496_fatm=		fatm
497_fxp=		fxp
498_ispfw=		ispfw
499_mwlfw=		mwlfw
500_otusfw=	otusfw
501_ralfw=		ralfw
502_rtwnfw=	rtwnfw
503_urtwnfw=	urtwnfw
504_sf=		sf
505_ti=		ti
506_txp=		txp
507.endif
508
509.if ${MK_SOURCELESS_UCODE} != "no" && ${MACHINE_CPUARCH} != "arm" && \
510	${MACHINE_ARCH:C/mips(el)?/mips/} != "mips" && \
511	${MACHINE_ARCH} != "powerpc" && ${MACHINE_CPUARCH} != "riscv"
512_cxgbe=		cxgbe
513.endif
514
515.if ${MK_ZFS} != "no" || defined(ALL_MODULES)
516SUBDIR+=	zfs
517.endif
518
519.if ${MACHINE_CPUARCH} != "aarch64" && ${MACHINE_CPUARCH} != "arm" && \
520	${MACHINE_CPUARCH} != "mips" && ${MACHINE_CPUARCH} != "powerpc" && \
521	${MACHINE_CPUARCH} != "riscv"
522_syscons=	syscons
523_vpo=		vpo
524.endif
525
526.if ${MACHINE_CPUARCH} != "mips"
527# no BUS_SPACE_UNSPECIFIED
528# No barrier instruction support (specific to this driver)
529_sym=		sym
530# intr_disable() is a macro, causes problems
531.if ${MK_SOURCELESS_UCODE} != "no"
532_cxgb=		cxgb
533.endif
534.endif
535
536.if ${MACHINE_CPUARCH} == "aarch64"
537_em=		em
538_igb=		igb
539.endif
540
541.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
542_agp=		agp
543_an=		an
544_aout=		aout
545_bktr=		bktr
546_bxe=		bxe
547_cardbus=	cardbus
548_cbb=		cbb
549_cpuctl=	cpuctl
550_cpufreq=	cpufreq
551_cs=		cs
552_dpms=		dpms
553_drm=		drm
554_drm2=		drm2
555_ed=		ed
556_em=		em
557_ep=		ep
558_et=		et
559_exca=		exca
560_fe=		fe
561.if ${MK_OFED} != "no" || defined(ALL_MODULES)
562_ibcore=        ibcore
563.endif
564_if_ndis=	if_ndis
565_igb=		igb
566_io=		io
567.if ${MK_OFED} != "no" || defined(ALL_MODULES)
568_ipoib=         ipoib
569_iser=		iser
570.endif
571_ix=		ix
572_ixv=		ixv
573_linprocfs=	linprocfs
574_linsysfs=	linsysfs
575_linux=		linux
576_nctgpio=	nctgpio
577_ndis=		ndis
578_pccard=	pccard
579.if ${MK_OFED} != "no" || defined(ALL_MODULES)
580_rdma=		rdma
581.endif
582_safe=		safe
583_scsi_low=	scsi_low
584_si=		si
585_speaker=	speaker
586_splash=	splash
587_sppp=		sppp
588_vmware=	vmware
589_vxge=  	vxge
590_wbwd=		wbwd
591_wi=		wi
592_xe=		xe
593.if ${MACHINE} != "pc98"
594_aac=		aac
595_aacraid=	aacraid
596_acpi=		acpi
597.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
598_aesni=		aesni
599.endif
600_amdsbwd=	amdsbwd
601_amdtemp=	amdtemp
602_arcmsr=	arcmsr
603_asmc=		asmc
604_ciss=		ciss
605_cmx=		cmx
606_coretemp=	coretemp
607.if ${MK_SOURCELESS_HOST} != "no"
608_hpt27xx=	hpt27xx
609.endif
610_hptiop=	hptiop
611.if ${MK_SOURCELESS_HOST} != "no"
612_hptmv=		hptmv
613_hptnr=		hptnr
614_hptrr=		hptrr
615.endif
616_hyperv=	hyperv
617_ichwd=		ichwd
618_ida=		ida
619_iir=		iir
620_ipmi=		ipmi
621_ips=		ips
622_isci=		isci
623_ipw=		ipw
624_iwi=		iwi
625_iwm=		iwm
626_iwn=		iwn
627_ixgb=		ixgb
628.if ${MK_SOURCELESS_UCODE} != "no"
629_ipwfw=		ipwfw
630_iwifw=		iwifw
631_iwmfw=		iwmfw
632_iwnfw=		iwnfw
633.endif
634.if ${MK_OFED} != "no" || defined(ALL_MODULES)
635_mlx4=		mlx4
636_mlx4ib=	mlx4ib
637_mlxen=		mlxen
638.endif
639_mlx5=		mlx5
640.if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \
641	defined(ALL_MODULES)
642_mlx5en=	mlx5en
643.endif
644_mly=		mly
645.if ${MK_OFED} != "no" || defined(ALL_MODULES)
646_mthca=		mthca
647.endif
648_nfe=		nfe
649_nvd=		nvd
650_nvme=		nvme
651_nvram=		nvram
652_nxge=		nxge
653.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
654_padlock=	padlock
655_padlock_rng=	padlock_rng
656_rdrand_rng=	rdrand_rng
657.endif
658_s3=		s3
659_tpm=		tpm
660_twa=		twa
661_vesa=		vesa
662_viawd=		viawd
663_virtio=	virtio
664_wpi=		wpi
665.if ${MK_SOURCELESS_UCODE} != "no"
666_wpifw=		wpifw
667.endif
668_x86bios=	x86bios
669.endif
670.endif
671
672.if ${MACHINE_CPUARCH} == "amd64"
673_efirt=		efirt
674_ioat=		ioat
675_ixl=		ixl
676_ixlv=		ixlv
677_linux64=	linux64
678_linux_common=	linux_common
679_ntb=		ntb
680_pms=		pms
681_qlxge=		qlxge
682_qlxgb=		qlxgb
683_qlxgbe=	qlxgbe
684_sfxge=		sfxge
685
686.if ${MK_BHYVE} != "no" || defined(ALL_MODULES)
687_vmm=		vmm
688.endif
689.endif
690
691.if ${MACHINE_CPUARCH} == "i386"
692# XXX some of these can move to the general case when de-i386'ed
693# XXX some of these can move now, but are untested on other architectures.
694_3dfx=		3dfx
695_3dfx_linux=	3dfx_linux
696_aic=		aic
697_apm=		apm
698_arcnet=	arcnet
699.if ${MK_SOURCELESS_UCODE} != "no"
700_ce=		ce
701.endif
702_coff=		coff
703.if ${MK_SOURCELESS_UCODE} != "no"
704_cp=		cp
705.endif
706_elink=		elink
707_glxiic=	glxiic
708_glxsb=		glxsb
709#_ibcs2=		ibcs2
710_ie=		ie
711_mse=		mse
712_ncr=		ncr
713_ncv=		ncv
714_nsp=		nsp
715_pcfclock=	pcfclock
716_pst=		pst
717_sbni=		sbni
718_streams=	streams
719_stg=		stg
720_svr4=		svr4
721_wds=		wds
722.if ${MACHINE} == "i386"
723.if ${MK_EISA} != "no"
724_ahb=		ahb
725.endif
726_bios=		bios
727_cm=		cm
728.if ${MK_SOURCELESS_UCODE} != "no"
729_ctau=		ctau
730.endif
731_dpt=		dpt
732_ex=		ex
733_wl=		wl
734.elif ${MACHINE} == "pc98"
735_canbepm=	canbepm
736_canbus=	canbus
737_ct=		ct
738_pmc=		pmc
739_snc=		snc
740.endif
741.endif
742
743.if ${MACHINE_CPUARCH} == "arm"
744_cfi=		cfi
745_cpsw=		cpsw
746.endif
747
748.if ${MACHINE_CPUARCH} == "powerpc"
749_agp=		agp
750_an=		an
751_bm=		bm
752_cardbus=	cardbus
753_cbb=		cbb
754_cfi=		cfi
755_cpufreq=	cpufreq
756_drm=		drm
757_exca=		exca
758_nvram=		powermac_nvram
759_pccard=	pccard
760_wi=		wi
761.endif
762
763.if ${MACHINE_ARCH} == "powerpc64"
764_drm2=		drm2
765.endif
766
767.if ${MACHINE_CPUARCH} == "sparc64"
768_auxio=		auxio
769_em=		em
770_epic=		epic
771_igb=		igb
772.endif
773
774.if (${MACHINE_CPUARCH} == "amd64" || ${MACHINE_ARCH} == "armv6" || \
775     ${MACHINE_CPUARCH} == "i386")
776_cloudabi32=	cloudabi32
777.endif
778.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64"
779_cloudabi64=	cloudabi64
780.endif
781
782.endif
783
784SUBDIR+=${MODULES_EXTRA}
785
786.for reject in ${WITHOUT_MODULES}
787SUBDIR:= ${SUBDIR:N${reject}}
788.endfor
789
790# Calling kldxref(8) for each module is expensive.
791.if !defined(NO_XREF)
792.MAKEFLAGS+=	-DNO_XREF
793afterinstall: .PHONY
794	@if type kldxref >/dev/null 2>&1; then \
795		${ECHO} kldxref ${DESTDIR}${KMODDIR}; \
796		kldxref ${DESTDIR}${KMODDIR}; \
797	fi
798.endif
799
800.include "${SYSDIR}/conf/config.mk"
801
802SUBDIR:= ${SUBDIR:u:O}
803
804.include <bsd.subdir.mk>
805