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