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