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