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