1SYSDIR?=${SRCTOP}/sys 2.include "${SYSDIR}/conf/kern.opts.mk" 3 4SUBDIR_PARALLEL= 5 6# Modules that include binary-only blobs of microcode should be selectable by 7# MK_SOURCELESS_UCODE option (see below). 8 9.include "${SYSDIR}/conf/config.mk" 10 11.if defined(MODULES_OVERRIDE) && !defined(ALL_MODULES) 12SUBDIR=${MODULES_OVERRIDE} 13.else 14SUBDIR= \ 15 ${_3dfx} \ 16 ${_3dfx_linux} \ 17 ${_aac} \ 18 ${_aacraid} \ 19 accf_data \ 20 accf_dns \ 21 accf_http \ 22 accf_tls \ 23 acl_nfs4 \ 24 acl_posix1e \ 25 ${_acpi} \ 26 ae \ 27 ${_aesni} \ 28 age \ 29 ${_agp} \ 30 ahci \ 31 aic7xxx \ 32 alc \ 33 ale \ 34 alq \ 35 ${_amd_ecc_inject} \ 36 ${_amdgpio} \ 37 ${_amdsbwd} \ 38 ${_amdsmn} \ 39 ${_amdtemp} \ 40 ${_aout} \ 41 ${_arcmsr} \ 42 ${_allwinner} \ 43 ${_armv8crypto} \ 44 ${_armv8_rng} \ 45 ${_asmc} \ 46 ata \ 47 ath \ 48 ath_dfs \ 49 ath_hal \ 50 ath_hal_ar5210 \ 51 ath_hal_ar5211 \ 52 ath_hal_ar5212 \ 53 ath_hal_ar5416 \ 54 ath_hal_ar9300 \ 55 ath_main \ 56 ath_rate \ 57 ${_autofs} \ 58 axgbe \ 59 backlight \ 60 ${_bce} \ 61 ${_bcm283x_clkman} \ 62 ${_bcm283x_pwm} \ 63 bfe \ 64 bge \ 65 bhnd \ 66 ${_bxe} \ 67 ${_bios} \ 68 ${_blake2} \ 69 ${_bnxt} \ 70 bridgestp \ 71 bwi \ 72 bwn \ 73 ${_bytgpio} \ 74 ${_chvgpio} \ 75 cam \ 76 ${_cardbus} \ 77 ${_carp} \ 78 cas \ 79 ${_cbb} \ 80 cc \ 81 ${_ccp} \ 82 cd9660 \ 83 cd9660_iconv \ 84 ${_cfi} \ 85 ${_chromebook_platform} \ 86 ${_ciss} \ 87 ${_coretemp} \ 88 ${_cpsw} \ 89 ${_cpuctl} \ 90 ${_cpufreq} \ 91 ${_crypto} \ 92 ${_cryptodev} \ 93 ctl \ 94 ${_cxgb} \ 95 ${_cxgbe} \ 96 dc \ 97 dcons \ 98 dcons_crom \ 99 ${_dpaa2} \ 100 ${_dpdk_lpm4} \ 101 ${_dpdk_lpm6} \ 102 ${_dpms} \ 103 dummymbuf \ 104 dummynet \ 105 ${_dwwdt} \ 106 e6000sw \ 107 ${_efirt} \ 108 ${_em} \ 109 ${_ena} \ 110 ${_enic} \ 111 ${_enetc} \ 112 ${_et} \ 113 etherswitch \ 114 evdev \ 115 ${_exca} \ 116 ext2fs \ 117 fdc \ 118 fdescfs \ 119 ${_felix} \ 120 ${_ffec} \ 121 ${_fib_dxr} \ 122 filemon \ 123 firewire \ 124 firmware \ 125 flash \ 126 ${_ftgpio} \ 127 ${_ftwd} \ 128 fusefs \ 129 ${_fxp} \ 130 gem \ 131 geom \ 132 ${_glxiic} \ 133 ${_glxsb} \ 134 gpio \ 135 ${_gve} \ 136 hid \ 137 hifn \ 138 ${_hpt27xx} \ 139 ${_hptiop} \ 140 ${_hptmv} \ 141 ${_hptnr} \ 142 ${_hptrr} \ 143 hwpmc \ 144 ${_hwt} \ 145 ${_hyperv} \ 146 i2c \ 147 ${_iavf} \ 148 ${_ibcore} \ 149 ${_ichwd} \ 150 ${_ice} \ 151 ${_ice_ddp} \ 152 ${_irdma} \ 153 ${_ida} \ 154 if_bridge \ 155 ${_if_cgem} \ 156 if_disc \ 157 if_edsc \ 158 ${_if_enc} \ 159 if_epair \ 160 ${_genet} \ 161 ${_if_gif} \ 162 ${_if_gre} \ 163 ${_if_me} \ 164 if_infiniband \ 165 if_lagg \ 166 if_ovpn \ 167 ${_if_stf} \ 168 if_tuntap \ 169 if_vlan \ 170 if_vxlan \ 171 ${_if_wg} \ 172 iflib \ 173 ${_igc} \ 174 imgact_binmisc \ 175 ${_intelspi} \ 176 ${_io} \ 177 ${_ioat} \ 178 ${_ipoib} \ 179 ipdivert \ 180 ${_ipfilter} \ 181 ${_ipfw} \ 182 ipfw_nat \ 183 ${_ipfw_nat64} \ 184 ${_ipfw_nptv6} \ 185 ${_ipfw_pmod} \ 186 ${_ipmi} \ 187 ip6_mroute_mod \ 188 ip_mroute_mod \ 189 ${_ips} \ 190 ${_ipsec} \ 191 ${_ipw} \ 192 ${_ipwfw} \ 193 ${_isci} \ 194 ${_iser} \ 195 isp \ 196 ${_ispfw} \ 197 ${_itwd} \ 198 ${_iwi} \ 199 ${_iwifw} \ 200 ${_iwlwifi} \ 201 ${_iwm} \ 202 ${_iwn} \ 203 ${_iwnfw} \ 204 ${_iwx} \ 205 ${_ix} \ 206 ${_ixv} \ 207 ${_ixl} \ 208 jme \ 209 kbdmux \ 210 kgssapi \ 211 kgssapi_krb5 \ 212 khelp \ 213 krpc \ 214 ksyms \ 215 le \ 216 lge \ 217 libalias \ 218 libiconv \ 219 libmchain \ 220 lindebugfs \ 221 linuxkpi \ 222 linuxkpi_hdmi \ 223 linuxkpi_video \ 224 linuxkpi_wlan \ 225 ${_lio} \ 226 lpt \ 227 ${_mac_biba} \ 228 ${_mac_bsdextended} \ 229 ${_mac_ddb} \ 230 ${_mac_do} \ 231 ${_mac_ifoff} \ 232 ${_mac_ipacl} \ 233 ${_mac_lomac} \ 234 ${_mac_mls} \ 235 ${_mac_none} \ 236 ${_mac_ntpd} \ 237 ${_mac_partition} \ 238 ${_mac_pimd} \ 239 ${_mac_portacl} \ 240 ${_mac_priority} \ 241 ${_mac_seeotheruids} \ 242 ${_mac_stub} \ 243 ${_mac_test} \ 244 ${_mac_veriexec} \ 245 ${_mac_veriexec_sha1} \ 246 ${_mac_veriexec_sha256} \ 247 ${_mac_veriexec_sha384} \ 248 ${_mac_veriexec_sha512} \ 249 ${_malo} \ 250 ${_mana} \ 251 md \ 252 mdio \ 253 ${_mgb} \ 254 mem \ 255 mfi \ 256 mii \ 257 miiproxy \ 258 mlx \ 259 mlxfw \ 260 ${_mlx4} \ 261 ${_mlx4ib} \ 262 ${_mlx4en} \ 263 ${_mlx5} \ 264 ${_mlx5en} \ 265 ${_mlx5ib} \ 266 mmc \ 267 mmcsd \ 268 ${_mpi3mr} \ 269 ${_mpr} \ 270 ${_mps} \ 271 mpt \ 272 mqueue \ 273 mrsas \ 274 msdosfs \ 275 msdosfs_iconv \ 276 msk \ 277 ${_mthca} \ 278 mvs \ 279 mwl \ 280 ${_mwlfw} \ 281 mxge \ 282 my \ 283 ${_nctgpio} \ 284 ${_ncthwm} \ 285 ${_neta} \ 286 netlink \ 287 ${_netgraph} \ 288 ${_nfe} \ 289 nfscl \ 290 nfscommon \ 291 nfsd \ 292 nfslockd \ 293 nfssvc \ 294 nlsysevent \ 295 nge \ 296 nmdm \ 297 nullfs \ 298 ${_ntb} \ 299 nvd \ 300 ${_nvdimm} \ 301 nvme \ 302 nvmf \ 303 ${_nvram} \ 304 oce \ 305 ${_ocs_fc} \ 306 ${_ossl} \ 307 otus \ 308 ${_otusfw} \ 309 ow \ 310 p9fs \ 311 ${_padlock} \ 312 ${_padlock_rng} \ 313 ${_pchtherm} \ 314 ${_pcfclock} \ 315 ${_pf} \ 316 ${_pflog} \ 317 ${_pflow} \ 318 ${_pfsync} \ 319 plip \ 320 ${_pms} \ 321 ppbus \ 322 ppc \ 323 ppi \ 324 pps \ 325 procfs \ 326 proto \ 327 pseudofs \ 328 ${_pst} \ 329 pty \ 330 puc \ 331 pwm \ 332 ${_qat} \ 333 ${_qatfw} \ 334 ${_qat_c2xxx} \ 335 ${_qat_c2xxxfw} \ 336 ${_qlxge} \ 337 ${_qlxgb} \ 338 ${_qlxgbe} \ 339 ${_qlnx} \ 340 ral \ 341 ${_ralfw} \ 342 ${_random_fortuna} \ 343 ${_random_other} \ 344 rc4 \ 345 ${_rdma} \ 346 ${_rdrand_rng} \ 347 re \ 348 rl \ 349 ${_rockchip} \ 350 rtsx \ 351 ${_rtw88} \ 352 ${_rtw89} \ 353 rtwn \ 354 rtwn_pci \ 355 rtwn_usb \ 356 ${_rtwnfw} \ 357 ${_s3} \ 358 ${_safe} \ 359 safexcel \ 360 ${_sbni} \ 361 scc \ 362 ${_sctp} \ 363 sdhci \ 364 ${_sdhci_acpi} \ 365 ${_sdhci_fdt} \ 366 sdhci_pci \ 367 sdio \ 368 ${_sff} \ 369 sem \ 370 send \ 371 ${_sfxge} \ 372 sge \ 373 ${_sgx} \ 374 ${_sgx_linux} \ 375 siftr \ 376 siis \ 377 sis \ 378 sk \ 379 ${_smartpqi} \ 380 smbfs \ 381 snp \ 382 sound \ 383 ${_speaker} \ 384 spi \ 385 ${_splash} \ 386 ste \ 387 stge \ 388 ${_sume} \ 389 ${_superio} \ 390 ${_p2sb} \ 391 sym \ 392 ${_syscons} \ 393 sysvipc \ 394 tarfs \ 395 tcp \ 396 ${_ti} \ 397 tmpfs \ 398 ${_toecore} \ 399 tpm \ 400 tws \ 401 uart \ 402 udf \ 403 udf_iconv \ 404 ufs \ 405 ${_ufshci} \ 406 uinput \ 407 unionfs \ 408 usb \ 409 ${_vesa} \ 410 ${_vf_i2c} \ 411 virtio \ 412 vge \ 413 ${_viawd} \ 414 videomode \ 415 vkbd \ 416 ${_vmd} \ 417 ${_vmm} \ 418 ${_vmware} \ 419 vr \ 420 vte \ 421 ${_wbwd} \ 422 ${_wdatwd} \ 423 wlan \ 424 wlan_acl \ 425 wlan_amrr \ 426 wlan_ccmp \ 427 wlan_gcmp \ 428 wlan_rssadapt \ 429 wlan_tkip \ 430 wlan_wep \ 431 wlan_xauth \ 432 ${_wpi} \ 433 ${_wpifw} \ 434 ${_wtap} \ 435 ${_x86bios} \ 436 xdr \ 437 xl \ 438 xz \ 439 zlib 440 441.if ${MK_AUTOFS} != "no" || defined(ALL_MODULES) 442_autofs= autofs 443.endif 444 445.if ${MK_DTRACE} != "no" || defined(ALL_MODULES) 446.if ${KERN_OPTS:MKDTRACE_HOOKS} 447SUBDIR+= dtrace 448.endif 449SUBDIR+= opensolaris 450.endif 451 452.if !${MACHINE_ABI:Mlong32} 453_bnxt= bnxt 454.endif 455 456.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 457.if exists(${SRCTOP}/sys/opencrypto) 458_crypto= crypto 459_cryptodev= cryptodev 460_random_fortuna=random_fortuna 461_random_other= random_other 462.endif 463.endif 464 465.if ${MK_CUSE} != "no" || defined(ALL_MODULES) 466SUBDIR+= cuse 467.endif 468 469.if ${MK_EFI} != "no" 470.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" 471_efirt= efirt 472.endif 473.endif 474 475.if (${MK_INET_SUPPORT} != "no" || ${MK_INET6_SUPPORT} != "no") || \ 476 defined(ALL_MODULES) 477_carp= carp 478_toecore= toecore 479_if_enc= if_enc 480_if_gif= if_gif 481_if_gre= if_gre 482.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 483_if_wg= if_wg 484.endif 485_ipfw_pmod= ipfw_pmod 486.if ${KERN_OPTS:MIPSEC_SUPPORT} && !${KERN_OPTS:MIPSEC} 487_ipsec= ipsec 488.endif 489.if ${KERN_OPTS:MSCTP_SUPPORT} || ${KERN_OPTS:MSCTP} 490_sctp= sctp 491.endif 492.endif 493 494.if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \ 495 defined(ALL_MODULES) 496_if_stf= if_stf 497.endif 498 499.if (${KERN_OPTS:MINET} && ${MK_INET_SUPPORT} != "no") || defined(ALL_MODULES) 500_if_me= if_me 501_ipfw= ipfw 502.if ${MK_INET6_SUPPORT} != "no" || defined(ALL_MODULES) 503_ipfw_nat64= ipfw_nat64 504.endif 505.endif 506 507.if ${MK_INET6_SUPPORT} != "no" || defined(ALL_MODULES) 508_ipfw_nptv6= ipfw_nptv6 509.endif 510 511.if ${MK_IPFILTER} != "no" || defined(ALL_MODULES) 512_ipfilter= ipfilter 513.endif 514 515.if ${MK_INET_SUPPORT} != "no" && ${KERN_OPTS:MFIB_ALGO} && ${KERN_OPTS:MINET} 516_dpdk_lpm4= dpdk_lpm4 517_fib_dxr= fib_dxr 518.endif 519 520.if ${MK_INET6_SUPPORT} != "no" && ${KERN_OPTS:MFIB_ALGO} 521_dpdk_lpm6= dpdk_lpm6 522.endif 523 524.if ${MK_ISCSI} != "no" || defined(ALL_MODULES) 525SUBDIR+= cfiscsi 526SUBDIR+= iscsi 527.endif 528 529.if !empty(OPT_FDT) 530SUBDIR+= fdt 531.endif 532 533# Linuxulator 534.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ 535 ${MACHINE_CPUARCH} == "i386" 536SUBDIR+= linprocfs 537SUBDIR+= linsysfs 538.endif 539.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" 540SUBDIR+= linux 541.endif 542.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" 543SUBDIR+= linux64 544SUBDIR+= linux_common 545.endif 546 547.if ${MACHINE_CPUARCH} != "arm" 548.if ${MK_OFED} != "no" || defined(ALL_MODULES) 549_ibcore= ibcore 550_ipoib= ipoib 551_iser= iser 552_mthca= mthca 553_rdma= rdma 554.endif 555.endif 556 557.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ 558 ${MACHINE_CPUARCH} == "i386" || ${MACHINE_ARCH:Mpowerpc64*} != "" 559_ipmi= ipmi 560_mlx4= mlx4 561_mlx5= mlx5 562.if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \ 563 defined(ALL_MODULES) 564_mlx4en= mlx4en 565_mlx5en= mlx5en 566.endif 567.if ${MK_OFED} != "no" || defined(ALL_MODULES) 568_mlx4ib= mlx4ib 569_mlx5ib= mlx5ib 570.endif 571.endif 572 573.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ 574 ${MACHINE_CPUARCH} == "i386" 575_ena= ena 576_gve= gve 577_iwlwifi= iwlwifi 578_rtw88= rtw88 579_rtw89= rtw89 580_vmware= vmware 581.endif 582 583.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ 584 ${MACHINE_CPUARCH} == "i386" || ${MACHINE_ARCH} == "armv7" || \ 585 ${MACHINE_ARCH:Mpowerpc64*} != "" 586_ossl= ossl 587.endif 588 589# MAC framework 590.if ${KERN_OPTS:MMAC} || defined(ALL_MODULES) 591_mac_biba= mac_biba 592_mac_bsdextended= mac_bsdextended 593.if ${KERN_OPTS:MDDB} || defined(ALL_MODULES) 594_mac_ddb= mac_ddb 595.endif 596_mac_do= mac_do 597_mac_ifoff= mac_ifoff 598_mac_ipacl= mac_ipacl 599_mac_lomac= mac_lomac 600_mac_mls= mac_mls 601_mac_none= mac_none 602_mac_ntpd= mac_ntpd 603_mac_partition= mac_partition 604_mac_pimd= mac_pimd 605_mac_portacl= mac_portacl 606_mac_priority= mac_priority 607_mac_seeotheruids= mac_seeotheruids 608_mac_stub= mac_stub 609_mac_test= mac_test 610.if ${MK_VERIEXEC} != "no" || defined(ALL_MODULES) 611_mac_veriexec= mac_veriexec 612_mac_veriexec_sha1= mac_veriexec_sha1 613_mac_veriexec_sha256= mac_veriexec_sha256 614_mac_veriexec_sha384= mac_veriexec_sha384 615_mac_veriexec_sha512= mac_veriexec_sha512 616.endif 617.endif 618 619.if ${MK_NETGRAPH} != "no" || defined(ALL_MODULES) 620_netgraph= netgraph 621.endif 622 623.if (${MK_PF} != "no" && (${MK_INET_SUPPORT} != "no" || \ 624 ${MK_INET6_SUPPORT} != "no")) || defined(ALL_MODULES) 625_pf= pf 626_pflog= pflog 627_pflow= pflow 628.if ${MK_INET_SUPPORT} != "no" 629_pfsync= pfsync 630.endif 631.endif 632 633.if ${MK_SOURCELESS_UCODE} != "no" 634_bce= bce 635_fxp= fxp 636_ispfw= ispfw 637_ti= ti 638_mwlfw= mwlfw 639_otusfw= otusfw 640_ralfw= ralfw 641_rtwnfw= rtwnfw 642.endif 643 644.if ${MK_SOURCELESS_UCODE} != "no" && ${MACHINE_CPUARCH} != "arm" && \ 645 ${MACHINE_ARCH} != "powerpc" && ${MACHINE_ARCH} != "powerpcspe" && \ 646 ${MACHINE_CPUARCH} != "riscv" 647_cxgbe= cxgbe 648.endif 649 650# This has only been tested on amd64 and arm64 651.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "aarch64" 652_mpi3mr=mpi3mr 653.endif 654 655# Specific to the Raspberry Pi. 656.if ${MACHINE_CPUARCH} == "aarch64" 657_genet= genet 658.endif 659 660.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "aarch64" || \ 661 ${MACHINE_ARCH:Mpowerpc64*} 662_ice= ice 663.if ${MK_SOURCELESS_UCODE} != "no" 664_ice_ddp= ice_ddp 665.endif 666.if ${MK_OFED} != "no" || defined(ALL_MODULES) 667.if ${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no" 668_irdma= irdma 669.endif 670.endif 671.endif 672 673.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "arm" || \ 674 ${MACHINE_CPUARCH} == "riscv" 675.if !empty(OPT_FDT) 676_if_cgem= if_cgem 677.endif 678.endif 679 680# These rely on 64bit atomics 681.if ${MACHINE_ARCH} != "powerpc" && ${MACHINE_ARCH} != "powerpcspe" 682_mps= mps 683_mpr= mpr 684.endif 685 686.if ${MK_TESTS} != "no" || defined(ALL_MODULES) 687SUBDIR+= ktest 688SUBDIR+= tests 689.endif 690 691.if ${MK_ZFS} != "no" || defined(ALL_MODULES) 692SUBDIR+= zfs 693.endif 694 695.if ${MK_SOURCELESS_UCODE} != "no" 696_cxgb= cxgb 697.endif 698 699.if ${MACHINE_CPUARCH} == "aarch64" 700_armv8crypto= armv8crypto 701_armv8_rng= armv8_rng 702_dpaa2= dpaa2 703_sff= sff 704_em= em 705_hyperv= hyperv 706_vf_i2c= vf_i2c 707 708.if !empty(OPT_FDT) 709_allwinner= allwinner 710_dwwdt= dwwdt 711_enetc= enetc 712_felix= felix 713_rockchip= rockchip 714.endif 715.endif 716 717.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "arm" 718.if !empty(OPT_FDT) 719_sdhci_fdt= sdhci_fdt 720.endif 721_neta= neta 722.endif 723 724.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" 725_agp= agp 726.if ${MACHINE_CPUARCH} == "i386" || !empty(COMPAT_FREEBSD32_ENABLED) 727_aout= aout 728.endif 729_bios= bios 730.if ${MK_SOURCELESS_UCODE} != "no" 731_bxe= bxe 732.endif 733_cardbus= cardbus 734_cbb= cbb 735_cpuctl= cpuctl 736_cpufreq= cpufreq 737_dpms= dpms 738_em= em 739_et= et 740_ftgpio= ftgpio 741_ftwd= ftwd 742_exca= exca 743_igc= igc 744_io= io 745_itwd= itwd 746_ix= ix 747_ixv= ixv 748.if ${MK_SOURCELESS_UCODE} != "no" 749_lio= lio 750.endif 751_mana= mana 752_mgb= mgb 753_nctgpio= nctgpio 754_ncthwm= ncthwm 755_ntb= ntb 756_ocs_fc= ocs_fc 757_p2sb= p2sb 758_qat_c2xxx= qat_c2xxx 759_qat_c2xxxfw= qat_c2xxxfw 760_safe= safe 761_speaker= speaker 762_splash= splash 763_syscons= syscons 764_wbwd= wbwd 765_wdatwd= wdatwd 766 767_aac= aac 768_aacraid= aacraid 769_acpi= acpi 770.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 771_aesni= aesni 772.endif 773_amd_ecc_inject=amd_ecc_inject 774_amdsbwd= amdsbwd 775_amdsmn= amdsmn 776_amdtemp= amdtemp 777_arcmsr= arcmsr 778_asmc= asmc 779.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 780_blake2= blake2 781.endif 782_bytgpio= bytgpio 783_chvgpio= chvgpio 784_ciss= ciss 785_chromebook_platform= chromebook_platform 786_coretemp= coretemp 787.if ${MK_SOURCELESS_HOST} != "no" && empty(KCSAN_ENABLED) 788_hpt27xx= hpt27xx 789.endif 790_hptiop= hptiop 791.if ${MK_SOURCELESS_HOST} != "no" && empty(KCSAN_ENABLED) 792_hptmv= hptmv 793_hptnr= hptnr 794_hptrr= hptrr 795.endif 796_hyperv= hyperv 797_ichwd= ichwd 798_ida= ida 799_intelspi= intelspi 800_ips= ips 801_isci= isci 802_ipw= ipw 803_iwi= iwi 804_iwm= iwm 805_iwn= iwn 806.if ${MK_SOURCELESS_UCODE} != "no" 807_ipwfw= ipwfw 808_iwifw= iwifw 809_iwnfw= iwnfw 810.endif 811_nfe= nfe 812_nvram= nvram 813.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 814_padlock= padlock 815_padlock_rng= padlock_rng 816_rdrand_rng= rdrand_rng 817.endif 818_pchtherm = pchtherm 819_s3= s3 820_sdhci_acpi= sdhci_acpi 821_superio= superio 822_vesa= vesa 823_viawd= viawd 824_vmd= vmd 825_wpi= wpi 826.if ${MK_SOURCELESS_UCODE} != "no" 827_wpifw= wpifw 828.endif 829.if ${KERN_OPTS:MVIMAGE} 830_wtap= wtap 831.endif 832_x86bios= x86bios 833.endif 834 835.if ${MACHINE_CPUARCH} == "amd64" 836_amdgpio= amdgpio 837_ccp= ccp 838_enic= enic 839_iavf= iavf 840_ioat= ioat 841_iwx= iwx 842_ixl= ixl 843_nvdimm= nvdimm 844_pms= pms 845_qat= qat 846.if ${MK_SOURCELESS_UCODE} != "no" 847_qatfw= qatfw 848.endif 849_qlxge= qlxge 850_qlxgb= qlxgb 851_sume= sume 852.if ${MK_SOURCELESS_UCODE} != "no" 853_qlxgbe= qlxgbe 854_qlnx= qlnx 855.endif 856_sfxge= sfxge 857_sgx= sgx 858_sgx_linux= sgx_linux 859_smartpqi= smartpqi 860_p2sb= p2sb 861.endif 862 863.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" 864_hwt= hwt 865.endif 866 867.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ 868 ${MACHINE_CPUARCH} == "riscv" 869.if ${MK_BHYVE} != "no" || defined(ALL_MODULES) 870.if ${KERN_OPTS:MSMP} 871_vmm= vmm 872.endif 873.endif 874.endif 875 876.if ${MACHINE_CPUARCH} == "i386" 877# XXX some of these can move to the general case when de-i386'ed 878# XXX some of these can move now, but are untested on other architectures. 879_3dfx= 3dfx 880_3dfx_linux= 3dfx_linux 881_glxiic= glxiic 882_glxsb= glxsb 883_pcfclock= pcfclock 884_pst= pst 885_sbni= sbni 886.endif 887 888.if ${MACHINE_ARCH} == "armv7" 889_cfi= cfi 890_cpsw= cpsw 891.endif 892 893.if ${MACHINE_CPUARCH} == "powerpc" 894_aacraid= aacraid 895_agp= agp 896_an= an 897_cardbus= cardbus 898_cbb= cbb 899_cfi= cfi 900_cpufreq= cpufreq 901_exca= exca 902_ffec= ffec 903.endif 904 905.if ${MACHINE_ARCH:Mpowerpc64*} != "" 906_ixl= ixl 907_nvram= opal_nvram 908.endif 909 910.if ${MACHINE_CPUARCH} == "powerpc" && ${MACHINE_ARCH} != "powerpcspe" 911# Don't build powermac_nvram for powerpcspe, it's never supported. 912_nvram+= powermac_nvram 913.endif 914 915.if ${MACHINE_CPUARCH} == "arm" || ${MACHINE_CPUARCH} == "aarch64" 916_bcm283x_clkman= bcm283x_clkman 917_bcm283x_pwm= bcm283x_pwm 918.endif 919 920.if !(${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} < 110000) 921# LLVM 10 crashes when building if_malo_pci.c, fixed in LLVM11: 922# https://bugs.llvm.org/show_bug.cgi?id=44351 923_malo= malo 924.endif 925 926.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "aarch64" 927_ufshci=ufshci 928.endif 929 930SUBDIR+=${MODULES_EXTRA} 931 932.for reject in ${WITHOUT_MODULES} 933SUBDIR:= ${SUBDIR:N${reject}} 934.endfor 935 936.endif # MODULES_OVERRIDE -- Keep last 937 938# Calling kldxref(8) for each module is expensive. 939.if !defined(NO_XREF) 940.MAKEFLAGS+= -DNO_XREF 941afterinstall: .PHONY 942 ${KLDXREF_CMD} ${DESTDIR}${KMODDIR} 943.if defined(NO_ROOT) && defined(METALOG) 944 echo ".${DISTBASE}${KMODDIR}/linker.hints type=file mode=0644 uname=root gname=wheel" | \ 945 cat -l >> ${METALOG} 946.endif 947.endif 948 949SUBDIR:= ${SUBDIR:u:O} 950 951.include <bsd.subdir.mk> 952