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