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