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