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