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