]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/modules/Makefile
simd(7): add missing aarch64 SIMD functions
[FreeBSD/FreeBSD.git] / sys / modules / Makefile
1
2 SYSDIR?=${SRCTOP}/sys
3 .include "${SYSDIR}/conf/kern.opts.mk"
4
5 SUBDIR_PARALLEL=
6
7 # Modules that include binary-only blobs of microcode should be selectable by
8 # MK_SOURCELESS_UCODE option (see below).
9
10 .include "${SYSDIR}/conf/config.mk"
11
12 .if defined(MODULES_OVERRIDE) && !defined(ALL_MODULES)
13 SUBDIR=${MODULES_OVERRIDE}
14 .else
15 SUBDIR= \
16         ${_3dfx} \
17         ${_3dfx_linux} \
18         ${_aac} \
19         ${_aacraid} \
20         accf_data \
21         accf_dns \
22         accf_http \
23         acl_nfs4 \
24         acl_posix1e \
25         ${_acpi} \
26         ae \
27         ${_aesni} \
28         age \
29         ${_agp} \
30         ahci \
31         aic7xxx \
32         alc \
33         ale \
34         alq \
35         ${_amd_ecc_inject} \
36         ${_amdgpio} \
37         ${_amdsbwd} \
38         ${_amdsmn} \
39         ${_amdtemp} \
40         ${_aout} \
41         ${_arcmsr} \
42         ${_allwinner} \
43         ${_armv8crypto} \
44         ${_armv8_rng} \
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         ${_autofs} \
58         axgbe \
59         backlight \
60         ${_bce} \
61         ${_bcm283x_clkman} \
62         ${_bcm283x_pwm} \
63         bfe \
64         bge \
65         bhnd \
66         ${_bxe} \
67         ${_bios} \
68         ${_blake2} \
69         ${_bnxt} \
70         bridgestp \
71         bwi \
72         bwn \
73         ${_bytgpio} \
74         ${_chvgpio} \
75         cam \
76         ${_cardbus} \
77         ${_carp} \
78         cas \
79         ${_cbb} \
80         cc \
81         ${_ccp} \
82         cd9660 \
83         cd9660_iconv \
84         ${_cfi} \
85         ${_chromebook_platform} \
86         ${_ciss} \
87         ${_coretemp} \
88         ${_cpsw} \
89         ${_cpuctl} \
90         ${_cpufreq} \
91         ${_crypto} \
92         ${_cryptodev} \
93         ctl \
94         ${_cxgb} \
95         ${_cxgbe} \
96         dc \
97         dcons \
98         dcons_crom \
99         ${_dpaa2} \
100         ${_dpdk_lpm4} \
101         ${_dpdk_lpm6} \
102         ${_dpms} \
103         dummynet \
104         ${_dwwdt} \
105         ${_e6000sw} \
106         ${_efirt} \
107         ${_em} \
108         ${_ena} \
109         ${_enic} \
110         ${_enetc} \
111         ${_et} \
112         evdev \
113         ${_exca} \
114         ext2fs \
115         fdc \
116         fdescfs \
117         ${_felix} \
118         ${_ffec} \
119         ${_fib_dxr} \
120         filemon \
121         firewire \
122         firmware \
123         flash \
124         ${_ftgpio} \
125         ${_ftwd} \
126         fusefs \
127         ${_fxp} \
128         gem \
129         geom \
130         ${_glxiic} \
131         ${_glxsb} \
132         gpio \
133         ${_gve} \
134         hid \
135         hifn \
136         ${_hpt27xx} \
137         ${_hptiop} \
138         ${_hptmv} \
139         ${_hptnr} \
140         ${_hptrr} \
141         hwpmc \
142         ${_hyperv} \
143         i2c \
144         ${_iavf} \
145         ${_ibcore} \
146         ${_ichwd} \
147         ${_ice} \
148         ${_ice_ddp} \
149         ${_irdma} \
150         ${_ida} \
151         if_bridge \
152         ${_if_cgem} \
153         if_disc \
154         if_edsc \
155         ${_if_enc} \
156         if_epair \
157         ${_genet} \
158         ${_if_gif} \
159         ${_if_gre} \
160         ${_if_me} \
161         if_infiniband \
162         if_lagg \
163         if_ovpn \
164         ${_if_stf} \
165         if_tuntap \
166         if_vlan \
167         if_vxlan \
168         ${_if_wg} \
169         iflib \
170         ${_igc} \
171         imgact_binmisc \
172         ${_intelspi} \
173         ${_io} \
174         ${_ioat} \
175         ${_ipoib} \
176         ipdivert \
177         ${_ipfilter} \
178         ${_ipfw} \
179         ipfw_nat \
180         ${_ipfw_nat64} \
181         ${_ipfw_nptv6} \
182         ${_ipfw_pmod} \
183         ${_ipmi} \
184         ip6_mroute_mod \
185         ip_mroute_mod \
186         ${_ips} \
187         ${_ipsec} \
188         ${_ipw} \
189         ${_ipwfw} \
190         ${_isci} \
191         ${_iser} \
192         isp \
193         ${_ispfw} \
194         ${_itwd} \
195         ${_iwi} \
196         ${_iwifw} \
197         ${_iwlwifi} \
198         ${_iwlwififw} \
199         ${_iwm} \
200         ${_iwmfw} \
201         ${_iwn} \
202         ${_iwnfw} \
203         ${_ix} \
204         ${_ixv} \
205         ${_ixl} \
206         jme \
207         kbdmux \
208         kgssapi \
209         kgssapi_krb5 \
210         khelp \
211         krpc \
212         ksyms \
213         le \
214         lge \
215         libalias \
216         libiconv \
217         libmchain \
218         lindebugfs \
219         linuxkpi \
220         linuxkpi_hdmi \
221         linuxkpi_wlan \
222         ${_lio} \
223         lpt \
224         ${_mac_biba} \
225         ${_mac_bsdextended} \
226         ${_mac_ddb} \
227         ${_mac_ifoff} \
228         ${_mac_ipacl} \
229         ${_mac_lomac} \
230         ${_mac_mls} \
231         ${_mac_none} \
232         ${_mac_ntpd} \
233         ${_mac_partition} \
234         ${_mac_pimd} \
235         ${_mac_portacl} \
236         ${_mac_priority} \
237         ${_mac_seeotheruids} \
238         ${_mac_stub} \
239         ${_mac_test} \
240         ${_mac_veriexec} \
241         ${_mac_veriexec_sha1} \
242         ${_mac_veriexec_sha256} \
243         ${_mac_veriexec_sha384} \
244         ${_mac_veriexec_sha512} \
245         ${_malo} \
246         ${_mana} \
247         md \
248         mdio \
249         ${_mgb} \
250         mem \
251         mfi \
252         mii \
253         mlx \
254         mlxfw \
255         ${_mlx4} \
256         ${_mlx4ib} \
257         ${_mlx4en} \
258         ${_mlx5} \
259         ${_mlx5en} \
260         ${_mlx5ib} \
261         mmc \
262         mmcsd \
263         ${_mpi3mr} \
264         ${_mpr} \
265         ${_mps} \
266         mpt \
267         mqueue \
268         mrsas \
269         msdosfs \
270         msdosfs_iconv \
271         msk \
272         ${_mthca} \
273         mvs \
274         mwl \
275         ${_mwlfw} \
276         mxge \
277         my \
278         ${_nctgpio} \
279         ${_ncthwm} \
280         ${_neta} \
281         netlink \
282         ${_netgraph} \
283         ${_nfe} \
284         nfscl \
285         nfscommon \
286         nfsd \
287         nfslockd \
288         nfssvc \
289         nlsysevent \
290         nge \
291         nmdm \
292         nullfs \
293         ${_ntb} \
294         nvd \
295         ${_nvdimm} \
296         nvme \
297         ${_nvram} \
298         oce \
299         ${_ocs_fc} \
300         ${_ossl} \
301         otus \
302         ${_otusfw} \
303         ow \
304         ${_padlock} \
305         ${_padlock_rng} \
306         ${_pchtherm} \
307         ${_pcfclock} \
308         ${_pf} \
309         ${_pflog} \
310         ${_pflow} \
311         ${_pfsync} \
312         plip \
313         ${_pms} \
314         ppbus \
315         ppc \
316         ppi \
317         pps \
318         procfs \
319         proto \
320         pseudofs \
321         ${_pst} \
322         pty  \
323         puc \
324         pwm \
325         ${_qat} \
326         ${_qatfw} \
327         ${_qat_c2xxx} \
328         ${_qat_c2xxxfw} \
329         ${_qlxge} \
330         ${_qlxgb} \
331         ${_qlxgbe} \
332         ${_qlnx} \
333         ral \
334         ${_ralfw} \
335         ${_random_fortuna} \
336         ${_random_other} \
337         rc4 \
338         ${_rdma} \
339         ${_rdrand_rng} \
340         re \
341         rl \
342         ${_rockchip} \
343         rtsx \
344         ${_rtw88} \
345         rtwn \
346         rtwn_pci \
347         rtwn_usb \
348         ${_rtwnfw} \
349         ${_s3} \
350         ${_safe} \
351         safexcel \
352         ${_sbni} \
353         scc \
354         ${_sctp} \
355         sdhci \
356         ${_sdhci_acpi} \
357         ${_sdhci_fdt} \
358         sdhci_pci \
359         sdio \
360         ${_sff} \
361         sem \
362         send \
363         ${_sfxge} \
364         sge \
365         ${_sgx} \
366         ${_sgx_linux} \
367         siftr \
368         siis \
369         sis \
370         sk \
371         ${_smartpqi} \
372         smbfs \
373         snp \
374         sound \
375         ${_speaker} \
376         spi \
377         ${_splash} \
378         ste \
379         stge \
380         ${_sume} \
381         ${_superio} \
382         ${_p2sb} \
383         sym \
384         ${_syscons} \
385         sysvipc \
386         tarfs \
387         tcp \
388         ${_ti} \
389         tmpfs \
390         ${_toecore} \
391         ${_tpm} \
392         tws \
393         uart \
394         udf \
395         udf_iconv \
396         ufs \
397         uinput \
398         unionfs \
399         usb \
400         ${_vesa} \
401         ${_vf_i2c} \
402         virtio \
403         vge \
404         ${_viawd} \
405         videomode \
406         vkbd \
407         ${_vmd} \
408         ${_vmm} \
409         ${_vmware} \
410         vr \
411         vte \
412         ${_wbwd} \
413         ${_wdatwd} \
414         wlan \
415         wlan_acl \
416         wlan_amrr \
417         wlan_ccmp \
418         wlan_rssadapt \
419         wlan_tkip \
420         wlan_wep \
421         wlan_xauth \
422         ${_wpi} \
423         ${_wpifw} \
424         ${_x86bios} \
425         xdr \
426         xl \
427         xz \
428         zlib
429
430 .if ${MK_AUTOFS} != "no" || defined(ALL_MODULES)
431 _autofs=        autofs
432 .endif
433
434 .if ${MK_DTRACE} != "no" || defined(ALL_MODULES)
435 .if ${KERN_OPTS:MKDTRACE_HOOKS}
436 SUBDIR+=        dtrace
437 .endif
438 SUBDIR+=        opensolaris
439 .endif
440
441 # Requires bus_space_read_8
442 .if ${MACHINE_ARCH} != "i386"
443 _bnxt=          bnxt
444 .endif
445
446 .if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
447 .if exists(${SRCTOP}/sys/opencrypto)
448 _crypto=        crypto
449 _cryptodev=     cryptodev
450 _random_fortuna=random_fortuna
451 _random_other=  random_other
452 .endif
453 .endif
454
455 .if ${MK_CUSE} != "no" || defined(ALL_MODULES)
456 SUBDIR+=        cuse
457 .endif
458
459 .if ${MK_EFI} != "no"
460 .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64"
461 _efirt=         efirt
462 .endif
463 .endif
464
465 .if (${MK_INET_SUPPORT} != "no" || ${MK_INET6_SUPPORT} != "no") || \
466         defined(ALL_MODULES)
467 _carp=          carp
468 _toecore=       toecore
469 _if_enc=        if_enc
470 _if_gif=        if_gif
471 _if_gre=        if_gre
472 .if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
473 _if_wg=         if_wg
474 .endif
475 _ipfw_pmod=     ipfw_pmod
476 .if ${KERN_OPTS:MIPSEC_SUPPORT} && !${KERN_OPTS:MIPSEC}
477 _ipsec=         ipsec
478 .endif
479 .if ${KERN_OPTS:MSCTP_SUPPORT} || ${KERN_OPTS:MSCTP}
480 _sctp=          sctp
481 .endif
482 .endif
483
484 .if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \
485         defined(ALL_MODULES)
486 _if_stf=        if_stf
487 .endif
488
489 .if ${MK_INET_SUPPORT} != "no" || defined(ALL_MODULES)
490 _if_me=         if_me
491 _ipfw=          ipfw
492 .if ${MK_INET6_SUPPORT} != "no" || defined(ALL_MODULES)
493 _ipfw_nat64=    ipfw_nat64
494 .endif
495 .endif
496
497 .if ${MK_INET6_SUPPORT} != "no" || defined(ALL_MODULES)
498 _ipfw_nptv6=    ipfw_nptv6
499 .endif
500
501 .if ${MK_IPFILTER} != "no" || defined(ALL_MODULES)
502 _ipfilter=      ipfilter
503 .endif
504
505 .if ${MK_INET_SUPPORT} != "no" && ${KERN_OPTS:MFIB_ALGO}
506 _dpdk_lpm4=     dpdk_lpm4
507 _fib_dxr=       fib_dxr
508 .endif
509
510 .if ${MK_INET6_SUPPORT} != "no" && ${KERN_OPTS:MFIB_ALGO}
511 _dpdk_lpm6=     dpdk_lpm6
512 .endif
513
514 .if ${MK_ISCSI} != "no" || defined(ALL_MODULES)
515 SUBDIR+=        cfiscsi
516 SUBDIR+=        iscsi
517 .endif
518
519 .if !empty(OPT_FDT)
520 SUBDIR+=        fdt
521 .endif
522
523 # Linuxulator
524 .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \
525     ${MACHINE_CPUARCH} == "i386"
526 SUBDIR+=        linprocfs
527 SUBDIR+=        linsysfs
528 .endif
529 .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
530 SUBDIR+=        linux
531 .endif
532 .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64"
533 SUBDIR+=        linux64
534 SUBDIR+=        linux_common
535 .endif
536
537 .if ${MACHINE_CPUARCH} != "arm"
538 .if ${MK_OFED} != "no" || defined(ALL_MODULES)
539 _ibcore=        ibcore
540 _ipoib=         ipoib
541 _iser=          iser
542 _mthca=         mthca
543 _rdma=          rdma
544 .endif
545 .endif
546
547 .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \
548     ${MACHINE_CPUARCH} == "i386" || ${MACHINE_ARCH:Mpowerpc64*} != ""
549 _ipmi=          ipmi
550 _mlx4=          mlx4
551 _mlx5=          mlx5
552 .if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \
553         defined(ALL_MODULES)
554 _mlx4en=        mlx4en
555 _mlx5en=        mlx5en
556 .endif
557 .if ${MK_OFED} != "no" || defined(ALL_MODULES)
558 _mlx4ib=        mlx4ib
559 _mlx5ib=        mlx5ib
560 .endif
561 .endif
562
563 .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \
564     ${MACHINE_CPUARCH} == "i386"
565 _ena=           ena
566 _gve=           gve
567 _iwlwifi=       iwlwifi
568 .if ${MK_SOURCELESS_UCODE} != "no"
569 _iwlwififw=     iwlwififw
570 .endif
571 _rtw88=         rtw88
572 _vmware=        vmware
573 .endif
574
575 .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \
576     ${MACHINE_CPUARCH} == "i386" || ${MACHINE_ARCH} == "armv7"
577 _ossl=          ossl
578 .endif
579
580 # MAC framework
581 .if ${KERN_OPTS:MMAC} || defined(ALL_MODULES)
582 _mac_biba=      mac_biba
583 _mac_bsdextended= mac_bsdextended
584 .if ${KERN_OPTS:MDDB} || defined(ALL_MODULES)
585 _mac_ddb=       mac_ddb
586 .endif
587 _mac_ifoff=     mac_ifoff
588 _mac_ipacl=     mac_ipacl
589 _mac_lomac=     mac_lomac
590 _mac_mls=       mac_mls
591 _mac_none=      mac_none
592 _mac_ntpd=      mac_ntpd
593 _mac_partition= mac_partition
594 _mac_pimd=      mac_pimd
595 _mac_portacl=   mac_portacl
596 _mac_priority=  mac_priority
597 _mac_seeotheruids= mac_seeotheruids
598 _mac_stub=      mac_stub
599 _mac_test=      mac_test
600 .if ${MK_VERIEXEC} != "no" || defined(ALL_MODULES)
601 _mac_veriexec=  mac_veriexec
602 _mac_veriexec_sha1= mac_veriexec_sha1
603 _mac_veriexec_sha256= mac_veriexec_sha256
604 _mac_veriexec_sha384= mac_veriexec_sha384
605 _mac_veriexec_sha512= mac_veriexec_sha512
606 .endif
607 .endif
608
609 .if ${MK_NETGRAPH} != "no" || defined(ALL_MODULES)
610 _netgraph=      netgraph
611 .endif
612
613 .if (${MK_PF} != "no" && (${MK_INET_SUPPORT} != "no" || \
614         ${MK_INET6_SUPPORT} != "no")) || defined(ALL_MODULES)
615 _pf=            pf
616 _pflog=         pflog
617 _pflow=         pflow
618 .if ${MK_INET_SUPPORT} != "no"
619 _pfsync=        pfsync
620 .endif
621 .endif
622
623 .if ${MK_SOURCELESS_UCODE} != "no"
624 _bce=           bce
625 _fxp=           fxp
626 _ispfw=         ispfw
627 _ti=            ti
628 _mwlfw=         mwlfw
629 _otusfw=        otusfw
630 _ralfw=         ralfw
631 _rtwnfw=        rtwnfw
632 .endif
633
634 .if ${MK_SOURCELESS_UCODE} != "no" && ${MACHINE_CPUARCH} != "arm" && \
635         ${MACHINE_ARCH} != "powerpc" && ${MACHINE_ARCH} != "powerpcspe" && \
636         ${MACHINE_CPUARCH} != "riscv"
637 _cxgbe=         cxgbe
638 .endif
639
640 # This has only been tested on amd64 and arm64
641 .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "aarch64"
642 _mpi3mr=mpi3mr
643 .endif
644
645 # Specific to the Raspberry Pi.
646 .if ${MACHINE_CPUARCH} == "aarch64"
647 _genet=         genet
648 .endif
649
650 .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "aarch64" || \
651         ${MACHINE_ARCH:Mpowerpc64*}
652 _ice=           ice
653 .if ${MK_SOURCELESS_UCODE} != "no"
654 _ice_ddp=       ice_ddp
655 .endif
656 .if ${MK_OFED} != "no" || defined(ALL_MODULES)
657 .if ${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no"
658 _irdma=         irdma
659 .endif
660 .endif
661 .endif
662
663 .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "arm" || \
664         ${MACHINE_CPUARCH} == "riscv"
665 .if !empty(OPT_FDT)
666 _if_cgem=       if_cgem
667 .endif
668 .endif
669
670 # These rely on 64bit atomics
671 .if ${MACHINE_ARCH} != "powerpc" && ${MACHINE_ARCH} != "powerpcspe"
672 _mps=           mps
673 _mpr=           mpr
674 .endif
675
676 .if ${MK_TESTS} != "no" || defined(ALL_MODULES)
677 SUBDIR+=        ktest
678 SUBDIR+=        tests
679 .endif
680
681 .if ${MK_ZFS} != "no" || defined(ALL_MODULES)
682 SUBDIR+=        zfs
683 .endif
684
685 .if ${MK_SOURCELESS_UCODE} != "no"
686 _cxgb=          cxgb
687 .endif
688
689 .if ${MACHINE_CPUARCH} == "aarch64"
690 _armv8crypto=   armv8crypto
691 _armv8_rng=     armv8_rng
692 _dpaa2=         dpaa2
693 _sff=           sff
694 _em=            em
695 _hyperv=  hyperv
696 _vf_i2c=        vf_i2c
697
698 .if !empty(OPT_FDT)
699 _allwinner=     allwinner
700 _dwwdt=         dwwdt
701 _enetc=         enetc
702 _felix=         felix
703 _rockchip=      rockchip
704 .endif
705 .endif
706
707 .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "arm"
708 .if !empty(OPT_FDT)
709 _sdhci_fdt=     sdhci_fdt
710 .endif
711 _e6000sw=       e6000sw
712 _neta=          neta
713 .endif
714
715 .if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
716 _agp=           agp
717 .if ${MACHINE_CPUARCH} == "i386" || !empty(COMPAT_FREEBSD32_ENABLED)
718 _aout=          aout
719 .endif
720 _bios=          bios
721 .if ${MK_SOURCELESS_UCODE} != "no"
722 _bxe=           bxe
723 .endif
724 _cardbus=       cardbus
725 _cbb=           cbb
726 _cpuctl=        cpuctl
727 _cpufreq=       cpufreq
728 _dpms=          dpms
729 _em=            em
730 _et=            et
731 _ftgpio=        ftgpio
732 _ftwd=          ftwd
733 _exca=          exca
734 _igc=           igc
735 _io=            io
736 _itwd=          itwd
737 _ix=            ix
738 _ixv=           ixv
739 .if ${MK_SOURCELESS_UCODE} != "no"
740 _lio=           lio
741 .endif
742 _mana=          mana
743 _mgb=           mgb
744 _nctgpio=       nctgpio
745 _ncthwm=        ncthwm
746 _ntb=           ntb
747 _ocs_fc=        ocs_fc
748 _p2sb=          p2sb
749 _qat_c2xxx=     qat_c2xxx
750 _qat_c2xxxfw=   qat_c2xxxfw
751 _safe=          safe
752 _speaker=       speaker
753 _splash=        splash
754 _syscons=       syscons
755 _wbwd=          wbwd
756 _wdatwd=        wdatwd
757
758 _aac=           aac
759 _aacraid=       aacraid
760 _acpi=          acpi
761 .if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
762 _aesni=         aesni
763 .endif
764 _amd_ecc_inject=amd_ecc_inject
765 _amdsbwd=       amdsbwd
766 _amdsmn=        amdsmn
767 _amdtemp=       amdtemp
768 _arcmsr=        arcmsr
769 _asmc=          asmc
770 .if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
771 _blake2=        blake2
772 .endif
773 _bytgpio=       bytgpio
774 _chvgpio=       chvgpio
775 _ciss=          ciss
776 _chromebook_platform=   chromebook_platform
777 _coretemp=      coretemp
778 .if ${MK_SOURCELESS_HOST} != "no" && empty(KCSAN_ENABLED)
779 _hpt27xx=       hpt27xx
780 .endif
781 _hptiop=        hptiop
782 .if ${MK_SOURCELESS_HOST} != "no" && empty(KCSAN_ENABLED)
783 _hptmv=         hptmv
784 _hptnr=         hptnr
785 _hptrr=         hptrr
786 .endif
787 _hyperv=        hyperv
788 _ichwd=         ichwd
789 _ida=           ida
790 _intelspi=      intelspi
791 _ips=           ips
792 _isci=          isci
793 _ipw=           ipw
794 _iwi=           iwi
795 _iwm=           iwm
796 _iwn=           iwn
797 .if ${MK_SOURCELESS_UCODE} != "no"
798 _ipwfw=         ipwfw
799 _iwifw=         iwifw
800 _iwmfw=         iwmfw
801 _iwnfw=         iwnfw
802 .endif
803 _nfe=           nfe
804 _nvram=         nvram
805 .if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
806 _padlock=       padlock
807 _padlock_rng=   padlock_rng
808 _rdrand_rng=    rdrand_rng
809 .endif
810 _pchtherm = pchtherm
811 _s3=            s3
812 _sdhci_acpi=    sdhci_acpi
813 _superio=       superio
814 _tpm=           tpm
815 _vesa=          vesa
816 _viawd=         viawd
817 _vmd=           vmd
818 _wpi=           wpi
819 .if ${MK_SOURCELESS_UCODE} != "no"
820 _wpifw=         wpifw
821 .endif
822 _x86bios=       x86bios
823 .endif
824
825 .if ${MACHINE_CPUARCH} == "amd64"
826 _amdgpio=       amdgpio
827 _ccp=           ccp
828 _enic=          enic
829 _iavf=          iavf
830 _ioat=          ioat
831 _ixl=           ixl
832 _nvdimm=        nvdimm
833 _pms=           pms
834 _qat=           qat
835 .if ${MK_SOURCELESS_UCODE} != "no"
836 _qatfw=         qatfw
837 .endif
838 _qlxge=         qlxge
839 _qlxgb=         qlxgb
840 _sume=          sume
841 .if ${MK_SOURCELESS_UCODE} != "no"
842 _qlxgbe=        qlxgbe
843 _qlnx=          qlnx
844 .endif
845 _sfxge=         sfxge
846 _sgx=           sgx
847 _sgx_linux=     sgx_linux
848 _smartpqi=      smartpqi
849 _p2sb=          p2sb
850 .endif
851
852 .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64"
853 .if ${MK_BHYVE} != "no" || defined(ALL_MODULES)
854 .if ${KERN_OPTS:MSMP}
855 _vmm=           vmm
856 .endif
857 .endif
858 .endif
859
860 .if ${MACHINE_CPUARCH} == "i386"
861 # XXX some of these can move to the general case when de-i386'ed
862 # XXX some of these can move now, but are untested on other architectures.
863 _3dfx=          3dfx
864 _3dfx_linux=    3dfx_linux
865 _glxiic=        glxiic
866 _glxsb=         glxsb
867 _pcfclock=      pcfclock
868 _pst=           pst
869 _sbni=          sbni
870 .endif
871
872 .if ${MACHINE_ARCH} == "armv7"
873 _cfi=           cfi
874 _cpsw=          cpsw
875 .endif
876
877 .if ${MACHINE_CPUARCH} == "powerpc"
878 _aacraid=       aacraid
879 _agp=           agp
880 _an=            an
881 _cardbus=       cardbus
882 _cbb=           cbb
883 _cfi=           cfi
884 _cpufreq=       cpufreq
885 _exca=          exca
886 _ffec=          ffec
887 .endif
888
889 .if ${MACHINE_ARCH:Mpowerpc64*} != ""
890 _ixl=           ixl
891 _nvram=         opal_nvram
892 .endif
893
894 .if ${MACHINE_CPUARCH} == "powerpc" && ${MACHINE_ARCH} != "powerpcspe"
895 # Don't build powermac_nvram for powerpcspe, it's never supported.
896 _nvram+=        powermac_nvram
897 .endif
898
899 .if ${MACHINE_CPUARCH} == "arm" || ${MACHINE_CPUARCH} == "aarch64"
900 _bcm283x_clkman=  bcm283x_clkman
901 _bcm283x_pwm=  bcm283x_pwm
902 .endif
903
904 .if !(${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} < 110000)
905 # LLVM 10 crashes when building if_malo_pci.c, fixed in LLVM11:
906 # https://bugs.llvm.org/show_bug.cgi?id=44351
907 _malo=  malo
908 .endif
909
910 SUBDIR+=${MODULES_EXTRA}
911
912 .for reject in ${WITHOUT_MODULES}
913 SUBDIR:= ${SUBDIR:N${reject}}
914 .endfor
915
916 .endif # MODULES_OVERRIDE -- Keep last
917
918 # Calling kldxref(8) for each module is expensive.
919 .if !defined(NO_XREF)
920 .MAKEFLAGS+=    -DNO_XREF
921 afterinstall: .PHONY
922         ${KLDXREF_CMD} ${DESTDIR}${KMODDIR}
923 .if defined(NO_ROOT) && defined(METALOG)
924         echo ".${DISTBASE}${KMODDIR}/linker.hints type=file mode=0644 uname=root gname=wheel" | \
925             cat -l >> ${METALOG}
926 .endif
927 .endif
928
929 SUBDIR:= ${SUBDIR:u:O}
930
931 .include <bsd.subdir.mk>