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