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