]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/modules/Makefile
dialog: import dialog 1.3-20210117
[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         ${_coretemp} \
95         ${_cp} \
96         ${_cpsw} \
97         ${_cpuctl} \
98         ${_cpufreq} \
99         ${_crypto} \
100         ${_cryptodev} \
101         ctl \
102         ${_cxgb} \
103         ${_cxgbe} \
104         dc \
105         dcons \
106         dcons_crom \
107         ${_dpdk_lpm4} \
108         ${_dpdk_lpm6} \
109         ${_dpms} \
110         dummynet \
111         ${_dwwdt} \
112         ${_efirt} \
113         ${_em} \
114         ${_ena} \
115         esp \
116         ${_et} \
117         evdev \
118         ${_exca} \
119         ext2fs \
120         fdc \
121         fdescfs \
122         ${_ffec} \
123         filemon \
124         firewire \
125         firmware \
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         ${_hwpmc_mips24k} \
143         ${_hwpmc_mips74k} \
144         ${_hyperv} \
145         i2c \
146         ${_iavf} \
147         ${_ibcore} \
148         ${_ichwd} \
149         ${_ice} \
150         ${_ice_ddp} \
151         ${_ida} \
152         if_bridge \
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_stf} \
163         if_tuntap \
164         if_vlan \
165         if_vxlan \
166         if_wg \
167         iflib \
168         ${_iir} \
169         imgact_binmisc \
170         ${_intelspi} \
171         ${_io} \
172         ${_ioat} \
173         ${_ipoib} \
174         ${_ipdivert} \
175         ${_ipfilter} \
176         ${_ipfw} \
177         ipfw_nat \
178         ${_ipfw_nat64} \
179         ${_ipfw_nptv6} \
180         ${_ipfw_pmod} \
181         ${_ipmi} \
182         ip6_mroute_mod \
183         ip_mroute_mod \
184         ${_ips} \
185         ${_ipsec} \
186         ${_ipw} \
187         ${_ipwfw} \
188         ${_isci} \
189         ${_iser} \
190         isp \
191         ${_ispfw} \
192         ${_itwd} \
193         ${_iwi} \
194         ${_iwifw} \
195         ${_iwm} \
196         ${_iwmfw} \
197         ${_iwn} \
198         ${_iwnfw} \
199         ${_ix} \
200         ${_ixv} \
201         ${_ixl} \
202         jme \
203         kbdmux \
204         kgssapi \
205         kgssapi_krb5 \
206         khelp \
207         krpc \
208         ksyms \
209         ${_ktls_ocf} \
210         le \
211         lge \
212         libalias \
213         libiconv \
214         libmchain \
215         lindebugfs \
216         linuxkpi \
217         ${_lio} \
218         lpt \
219         mac_biba \
220         mac_bsdextended \
221         mac_ifoff \
222         mac_lomac \
223         mac_mls \
224         mac_none \
225         mac_ntpd \
226         mac_partition \
227         mac_portacl \
228         mac_seeotheruids \
229         mac_stub \
230         mac_test \
231         ${_malo} \
232         md \
233         mdio \
234         mem \
235         mfi \
236         mii \
237         mlx \
238         mlxfw \
239         ${_mlx4} \
240         ${_mlx4ib} \
241         ${_mlx4en} \
242         ${_mlx5} \
243         ${_mlx5en} \
244         ${_mlx5ib} \
245         ${_mly} \
246         mmc \
247         mmcsd \
248         ${_mpr} \
249         ${_mps} \
250         mpt \
251         mqueue \
252         mrsas \
253         msdosfs \
254         msdosfs_iconv \
255         msk \
256         ${_mthca} \
257         mvs \
258         mwl \
259         ${_mwlfw} \
260         mxge \
261         my \
262         ${_nctgpio} \
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         wlan \
389         wlan_acl \
390         wlan_amrr \
391         wlan_ccmp \
392         wlan_rssadapt \
393         wlan_tkip \
394         wlan_wep \
395         wlan_xauth \
396         ${_wpi} \
397         ${_wpifw} \
398         ${_x86bios} \
399         xdr \
400         xl \
401         xz \
402         zlib
403
404 .if ${MK_AUTOFS} != "no" || defined(ALL_MODULES)
405 _autofs=        autofs
406 .endif
407
408 .if ${MK_CDDL} != "no" || defined(ALL_MODULES)
409 .if (${MACHINE_CPUARCH} != "arm" || ${MACHINE_ARCH:Marmv[67]*} != "") && \
410         ${MACHINE_CPUARCH} != "mips"
411 .if ${KERN_OPTS:MKDTRACE_HOOKS}
412 SUBDIR+=        dtrace
413 .endif
414 .endif
415 SUBDIR+=        opensolaris
416 .endif
417
418 .if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
419 .if exists(${SRCTOP}/sys/opencrypto)
420 _crypto=        crypto
421 _cryptodev=     cryptodev
422 _random_fortuna=random_fortuna
423 _random_other=  random_other
424 _ktls_ocf=      ktls_ocf
425 .endif
426 .endif
427
428 .if ${MK_CUSE} != "no" || defined(ALL_MODULES)
429 SUBDIR+=        cuse
430 .endif
431
432 .if ${MK_EFI} != "no"
433 .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64"
434 _efirt=         efirt
435 .endif
436 .endif
437
438 .if (${MK_INET_SUPPORT} != "no" || ${MK_INET6_SUPPORT} != "no") || \
439         defined(ALL_MODULES)
440 _carp=          carp
441 _toecore=       toecore
442 _if_enc=        if_enc
443 _if_gif=        if_gif
444 _if_gre=        if_gre
445 _ipfw_pmod=     ipfw_pmod
446 .if ${KERN_OPTS:MIPSEC_SUPPORT} && !${KERN_OPTS:MIPSEC}
447 _ipsec=         ipsec
448 .endif
449 .if ${KERN_OPTS:MSCTP_SUPPORT} || ${KERN_OPTS:MSCTP}
450 _sctp=          sctp
451 .endif
452 .endif
453
454 .if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \
455         defined(ALL_MODULES)
456 _if_stf=        if_stf
457 .endif
458
459 .if ${MK_INET_SUPPORT} != "no" || defined(ALL_MODULES)
460 _if_me=         if_me
461 _ipdivert=      ipdivert
462 _ipfw=          ipfw
463 .if ${MK_INET6_SUPPORT} != "no" || defined(ALL_MODULES)
464 _ipfw_nat64=    ipfw_nat64
465 .endif
466 .endif
467
468 .if ${MK_INET6_SUPPORT} != "no" || defined(ALL_MODULES)
469 _ipfw_nptv6=    ipfw_nptv6
470 .endif
471
472 .if ${MK_IPFILTER} != "no" || defined(ALL_MODULES)
473 _ipfilter=      ipfilter
474 .endif
475
476 .if ${MK_INET_SUPPORT} != "no" && ${KERN_OPTS:MFIB_ALGO}
477 _dpdk_lpm4=     dpdk_lpm4
478 .endif
479
480 .if ${MK_INET6_SUPPORT} != "no" && ${KERN_OPTS:MFIB_ALGO}
481 _dpdk_lpm6=     dpdk_lpm6
482 .endif
483
484 .if ${MK_ISCSI} != "no" || defined(ALL_MODULES)
485 SUBDIR+=        cfiscsi
486 SUBDIR+=        iscsi
487 SUBDIR+=        iscsi_initiator
488 .endif
489
490 .if !empty(OPT_FDT)
491 SUBDIR+=        fdt
492 .endif
493
494 # Linuxulator
495 .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \
496     ${MACHINE_CPUARCH} == "i386"
497 SUBDIR+=        linprocfs
498 SUBDIR+=        linsysfs
499 .endif
500 .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
501 SUBDIR+=        linux
502 .endif
503 .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64"
504 SUBDIR+=        linux64
505 SUBDIR+=        linux_common
506 .endif
507
508 .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \
509     ${MACHINE_CPUARCH} == "i386"
510 _ena=           ena
511 .if ${MK_OFED} != "no" || defined(ALL_MODULES)
512 _ibcore=        ibcore
513 _ipoib=         ipoib
514 _iser=          iser
515 .endif
516 _ipmi=          ipmi
517 _mlx4=          mlx4
518 _mlx5=          mlx5
519 .if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \
520         defined(ALL_MODULES)
521 _mlx4en=        mlx4en
522 _mlx5en=        mlx5en
523 .endif
524 .if ${MK_OFED} != "no" || defined(ALL_MODULES)
525 _mthca=         mthca
526 _mlx4ib=        mlx4ib
527 _mlx5ib=        mlx5ib
528 .endif
529 _ossl=          ossl
530 _vmware=        vmware
531 .endif
532
533 .if ${MK_NETGRAPH} != "no" || defined(ALL_MODULES)
534 _netgraph=      netgraph
535 .endif
536
537 .if (${MK_PF} != "no" && (${MK_INET_SUPPORT} != "no" || \
538         ${MK_INET6_SUPPORT} != "no")) || defined(ALL_MODULES)
539 _pf=            pf
540 _pflog=         pflog
541 .if ${MK_INET_SUPPORT} != "no"
542 _pfsync=        pfsync
543 .endif
544 .endif
545
546 .if ${MK_SOURCELESS_UCODE} != "no"
547 _bce=           bce
548 _fxp=           fxp
549 _ispfw=         ispfw
550 _ti=            ti
551
552 .if ${MACHINE_CPUARCH} != "mips"
553 _mwlfw=         mwlfw
554 _otusfw=        otusfw
555 _ralfw=         ralfw
556 _rtwnfw=        rtwnfw
557 .endif
558 .endif
559
560 .if ${MK_SOURCELESS_UCODE} != "no" && ${MACHINE_CPUARCH} != "arm" && \
561         ${MACHINE_CPUARCH} != "mips" && \
562         ${MACHINE_ARCH} != "powerpc" && ${MACHINE_ARCH} != "powerpcspe" && \
563         ${MACHINE_CPUARCH} != "riscv"
564 _cxgbe=         cxgbe
565 .endif
566
567 .if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "arm64"
568 _ice=           ice
569 .if ${MK_SOURCELESS_UCODE} != "no"
570 _ice_ddp=       ice_ddp
571 .endif
572 .endif
573
574 # These rely on 64bit atomics
575 .if ${MACHINE_ARCH} != "powerpc" && ${MACHINE_ARCH} != "powerpcspe" && \
576         ${MACHINE_CPUARCH} != "mips"
577 _mps=           mps
578 _mpr=           mpr
579 .endif
580
581 .if ${MK_TESTS} != "no" || defined(ALL_MODULES)
582 SUBDIR+=        tests
583 .endif
584
585 .if ${MK_ZFS} != "no" || (defined(ALL_MODULES)  && ${MACHINE_CPUARCH} != "powerpc")
586 SUBDIR+=        zfs
587 .endif
588
589 .if (${MACHINE_CPUARCH} == "mips" && ${MACHINE_ARCH:Mmips64} == "")
590 _hwpmc_mips24k= hwpmc_mips24k
591 _hwpmc_mips74k= hwpmc_mips74k
592 .endif
593
594 .if ${MACHINE_CPUARCH} != "aarch64" && ${MACHINE_CPUARCH} != "arm" && \
595         ${MACHINE_CPUARCH} != "mips" && ${MACHINE_CPUARCH} != "powerpc" && \
596         ${MACHINE_CPUARCH} != "riscv"
597 _syscons=       syscons
598 .endif
599
600 .if ${MACHINE_CPUARCH} != "mips"
601 # no BUS_SPACE_UNSPECIFIED
602 # No barrier instruction support (specific to this driver)
603 _sym=           sym
604 # intr_disable() is a macro, causes problems
605 .if ${MK_SOURCELESS_UCODE} != "no"
606 _cxgb=          cxgb
607 .endif
608 .endif
609
610 .if ${MACHINE_CPUARCH} == "aarch64"
611 _allwinner=     allwinner
612 _armv8crypto=   armv8crypto
613 _dwwdt=         dwwdt
614 _em=            em
615 _rockchip=      rockchip
616 .endif
617
618 .if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
619 _agp=           agp
620 _an=            an
621 _aout=          aout
622 _bios=          bios
623 .if ${MK_SOURCELESS_UCODE} != "no"
624 _bxe=           bxe
625 .endif
626 _cardbus=       cardbus
627 _cbb=           cbb
628 _cpuctl=        cpuctl
629 _cpufreq=       cpufreq
630 _dpms=          dpms
631 _em=            em
632 _et=            et
633 _ftwd=          ftwd
634 _exca=          exca
635 _io=            io
636 _itwd=          itwd
637 _ix=            ix
638 _ixv=           ixv
639 .if ${MK_SOURCELESS_UCODE} != "no"
640 _lio=           lio
641 .endif
642 _nctgpio=       nctgpio
643 _ntb=           ntb
644 _ocs_fc=        ocs_fc
645 _pccard=        pccard
646 _qat=           qat
647 _qatfw=         qatfw
648 .if ${MK_OFED} != "no" || defined(ALL_MODULES)
649 _rdma=          rdma
650 .endif
651 _safe=          safe
652 _speaker=       speaker
653 _splash=        splash
654 _sppp=          sppp
655 _wbwd=          wbwd
656
657 _aac=           aac
658 _aacraid=       aacraid
659 _acpi=          acpi
660 .if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
661 _aesni=         aesni
662 .endif
663 _amd_ecc_inject=amd_ecc_inject
664 _amdsbwd=       amdsbwd
665 _amdsmn=        amdsmn
666 _amdtemp=       amdtemp
667 _arcmsr=        arcmsr
668 _asmc=          asmc
669 .if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
670 _blake2=        blake2
671 .endif
672 _bytgpio=       bytgpio
673 _chvgpio=       chvgpio
674 _ciss=          ciss
675 _chromebook_platform=   chromebook_platform
676 _coretemp=      coretemp
677 .if ${MK_SOURCELESS_HOST} != "no" && empty(KCSAN_ENABLED)
678 _hpt27xx=       hpt27xx
679 .endif
680 _hptiop=        hptiop
681 .if ${MK_SOURCELESS_HOST} != "no" && empty(KCSAN_ENABLED)
682 _hptmv=         hptmv
683 _hptnr=         hptnr
684 _hptrr=         hptrr
685 .endif
686 _hyperv=        hyperv
687 _ichwd=         ichwd
688 _ida=           ida
689 _iir=           iir
690 _intelspi=      intelspi
691 _ips=           ips
692 _isci=          isci
693 _ipw=           ipw
694 _iwi=           iwi
695 _iwm=           iwm
696 _iwn=           iwn
697 .if ${MK_SOURCELESS_UCODE} != "no"
698 _ipwfw=         ipwfw
699 _iwifw=         iwifw
700 _iwmfw=         iwmfw
701 _iwnfw=         iwnfw
702 .endif
703 _mly=           mly
704 _nfe=           nfe
705 _nvd=           nvd
706 _nvme=          nvme
707 _nvram=         nvram
708 .if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
709 _padlock=       padlock
710 _padlock_rng=   padlock_rng
711 _rdrand_rng=    rdrand_rng
712 .endif
713 _pchtherm = pchtherm
714 _s3=            s3
715 _sdhci_acpi=    sdhci_acpi
716 _superio=       superio
717 _tpm=           tpm
718 _twa=           twa
719 _vesa=          vesa
720 _viawd=         viawd
721 _wpi=           wpi
722 .if ${MK_SOURCELESS_UCODE} != "no"
723 _wpifw=         wpifw
724 .endif
725 _x86bios=       x86bios
726 .endif
727
728 .if ${MACHINE_CPUARCH} == "amd64"
729 _amdgpio=       amdgpio
730 _ccp=           ccp
731 _iavf=          iavf
732 _ioat=          ioat
733 _ixl=           ixl
734 _nvdimm=        nvdimm
735 _pms=           pms
736 _qlxge=         qlxge
737 _qlxgb=         qlxgb
738 _sume=          sume
739 _vmd=           vmd
740 .if ${MK_SOURCELESS_UCODE} != "no"
741 _qlxgbe=        qlxgbe
742 _qlnx=          qlnx
743 .endif
744 _sfxge=         sfxge
745 _sgx=           sgx
746 _sgx_linux=     sgx_linux
747 _smartpqi=      smartpqi
748
749 .if ${MK_BHYVE} != "no" || defined(ALL_MODULES)
750 .if ${KERN_OPTS:MSMP}
751 _vmm=           vmm
752 .endif
753 .endif
754 .endif
755
756 .if ${MACHINE_CPUARCH} == "i386"
757 # XXX some of these can move to the general case when de-i386'ed
758 # XXX some of these can move now, but are untested on other architectures.
759 _3dfx=          3dfx
760 _3dfx_linux=    3dfx_linux
761 .if ${MK_SOURCELESS_HOST} != "no"
762 _ce=            ce
763 .endif
764 .if ${MK_SOURCELESS_HOST} != "no"
765 _cp=            cp
766 .endif
767 _glxiic=        glxiic
768 _glxsb=         glxsb
769 _pcfclock=      pcfclock
770 _pst=           pst
771 _sbni=          sbni
772 .endif
773
774 .if ${MACHINE_ARCH} == "armv7"
775 _cfi=           cfi
776 _cpsw=          cpsw
777 .endif
778
779 .if ${MACHINE_CPUARCH} == "powerpc"
780 _aacraid=       aacraid
781 _agp=           agp
782 _an=            an
783 _cardbus=       cardbus
784 _cbb=           cbb
785 _cfi=           cfi
786 _cpufreq=       cpufreq
787 _exca=          exca
788 _ffec=          ffec
789 _nvd=           nvd
790 _nvme=          nvme
791 _pccard=        pccard
792 .endif
793
794 .if ${MACHINE_ARCH:Mpowerpc64*} != ""
795 _ipmi=          ipmi
796 _ixl=           ixl
797 _nvram=         opal_nvram
798 .endif
799 .if ${MACHINE_CPUARCH} == "powerpc" && ${MACHINE_ARCH} != "powerpcspe"
800 # Don't build powermac_nvram for powerpcspe, it's never supported.
801 _nvram+=        powermac_nvram
802 .endif
803
804 .if (${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \
805      ${MACHINE_ARCH:Marmv[67]*} != "" || ${MACHINE_CPUARCH} == "i386")
806 _cloudabi32=    cloudabi32
807 .endif
808 .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64"
809 _cloudabi64=    cloudabi64
810 .endif
811
812 .endif
813
814 .if ${MACHINE_ARCH:Marmv[67]*} != "" || ${MACHINE_CPUARCH} == "aarch64"
815 _bcm283x_clkman=  bcm283x_clkman
816 _bcm283x_pwm=  bcm283x_pwm
817 .endif
818
819 .if !(${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} < 110000)
820 # LLVM 10 crashes when building if_malo_pci.c, fixed in LLVM11:
821 # https://bugs.llvm.org/show_bug.cgi?id=44351
822 _malo=  malo
823 .endif
824
825 SUBDIR+=${MODULES_EXTRA}
826
827 .for reject in ${WITHOUT_MODULES}
828 SUBDIR:= ${SUBDIR:N${reject}}
829 .endfor
830
831 # Calling kldxref(8) for each module is expensive.
832 .if !defined(NO_XREF)
833 .MAKEFLAGS+=    -DNO_XREF
834 afterinstall: .PHONY
835         @if type kldxref >/dev/null 2>&1; then \
836                 ${ECHO} ${KLDXREF_CMD} ${DESTDIR}${KMODDIR}; \
837                 ${KLDXREF_CMD} ${DESTDIR}${KMODDIR}; \
838         fi
839 .endif
840
841 SUBDIR:= ${SUBDIR:u:O}
842
843 .include <bsd.subdir.mk>