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