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