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