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