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 ${_pt} \ 330 pty \ 331 puc \ 332 pwm \ 333 ${_qat} \ 334 ${_qatfw} \ 335 ${_qat_c2xxx} \ 336 ${_qat_c2xxxfw} \ 337 ${_qlxge} \ 338 ${_qlxgb} \ 339 ${_qlxgbe} \ 340 ${_qlnx} \ 341 ral \ 342 ${_ralfw} \ 343 ${_random_fortuna} \ 344 ${_random_other} \ 345 rc4 \ 346 ${_rdma} \ 347 ${_rdrand_rng} \ 348 re \ 349 rl \ 350 ${_rockchip} \ 351 rtsx \ 352 ${_rtw88} \ 353 ${_rtw89} \ 354 rtwn \ 355 rtwn_pci \ 356 rtwn_usb \ 357 ${_rtwnfw} \ 358 ${_s3} \ 359 ${_safe} \ 360 safexcel \ 361 ${_sbni} \ 362 scc \ 363 ${_sctp} \ 364 sdhci \ 365 ${_sdhci_acpi} \ 366 ${_sdhci_fdt} \ 367 sdhci_pci \ 368 sdio \ 369 ${_sff} \ 370 sem \ 371 send \ 372 ${_sfxge} \ 373 sge \ 374 ${_sgx} \ 375 ${_sgx_linux} \ 376 siftr \ 377 siis \ 378 sis \ 379 sk \ 380 ${_smartpqi} \ 381 smbfs \ 382 snp \ 383 sound \ 384 ${_speaker} \ 385 spi \ 386 ${_splash} \ 387 ste \ 388 stge \ 389 ${_sume} \ 390 ${_superio} \ 391 ${_p2sb} \ 392 sym \ 393 ${_syscons} \ 394 sysvipc \ 395 tarfs \ 396 tcp \ 397 ${_ti} \ 398 tmpfs \ 399 ${_toecore} \ 400 tpm \ 401 tws \ 402 uart \ 403 udf \ 404 udf_iconv \ 405 ufs \ 406 ${_ufshci} \ 407 uinput \ 408 unionfs \ 409 usb \ 410 ${_vesa} \ 411 ${_vf_i2c} \ 412 virtio \ 413 vge \ 414 ${_viawd} \ 415 videomode \ 416 vkbd \ 417 ${_vmd} \ 418 ${_vmm} \ 419 ${_vmware} \ 420 vr \ 421 vte \ 422 ${_wbwd} \ 423 ${_wdatwd} \ 424 wlan \ 425 wlan_acl \ 426 wlan_amrr \ 427 wlan_ccmp \ 428 wlan_gcmp \ 429 wlan_rssadapt \ 430 wlan_tkip \ 431 wlan_wep \ 432 wlan_xauth \ 433 ${_wpi} \ 434 ${_wpifw} \ 435 ${_wtap} \ 436 ${_x86bios} \ 437 xdr \ 438 xl \ 439 xz \ 440 zlib 441 442.if ${MK_AUTOFS} != "no" || defined(ALL_MODULES) 443_autofs= autofs 444.endif 445 446.if ${MK_DTRACE} != "no" || defined(ALL_MODULES) 447.if ${KERN_OPTS:MKDTRACE_HOOKS} 448SUBDIR+= dtrace 449.endif 450SUBDIR+= opensolaris 451.endif 452 453.if !${MACHINE_ABI:Mlong32} 454_bnxt= bnxt 455.endif 456 457.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 458.if exists(${SRCTOP}/sys/opencrypto) 459_crypto= crypto 460_cryptodev= cryptodev 461_random_fortuna=random_fortuna 462_random_other= random_other 463.endif 464.endif 465 466.if ${MK_CUSE} != "no" || defined(ALL_MODULES) 467SUBDIR+= cuse 468.endif 469 470.if ${MK_EFI} != "no" 471.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" 472_efirt= efirt 473.endif 474.endif 475 476.if (${MK_INET_SUPPORT} != "no" || ${MK_INET6_SUPPORT} != "no") || \ 477 defined(ALL_MODULES) 478_carp= carp 479_toecore= toecore 480_if_enc= if_enc 481_if_gif= if_gif 482_if_gre= if_gre 483.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 484_if_wg= if_wg 485.endif 486_ipfw_pmod= ipfw_pmod 487.if ${KERN_OPTS:MIPSEC_SUPPORT} && !${KERN_OPTS:MIPSEC} 488_ipsec= ipsec 489.endif 490.if ${KERN_OPTS:MSCTP_SUPPORT} || ${KERN_OPTS:MSCTP} 491_sctp= sctp 492.endif 493.endif 494 495.if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \ 496 defined(ALL_MODULES) 497_if_stf= if_stf 498.endif 499 500.if (${KERN_OPTS:MINET} && ${MK_INET_SUPPORT} != "no") || defined(ALL_MODULES) 501_if_me= if_me 502_ipfw= ipfw 503.if ${MK_INET6_SUPPORT} != "no" || defined(ALL_MODULES) 504_ipfw_nat64= ipfw_nat64 505.endif 506.endif 507 508.if ${MK_INET6_SUPPORT} != "no" || defined(ALL_MODULES) 509_ipfw_nptv6= ipfw_nptv6 510.endif 511 512.if ${MK_IPFILTER} != "no" || defined(ALL_MODULES) 513_ipfilter= ipfilter 514.endif 515 516.if ${MK_INET_SUPPORT} != "no" && ${KERN_OPTS:MFIB_ALGO} && ${KERN_OPTS:MINET} 517_dpdk_lpm4= dpdk_lpm4 518_fib_dxr= fib_dxr 519.endif 520 521.if ${MK_INET6_SUPPORT} != "no" && ${KERN_OPTS:MFIB_ALGO} 522_dpdk_lpm6= dpdk_lpm6 523.endif 524 525.if ${MK_ISCSI} != "no" || defined(ALL_MODULES) 526SUBDIR+= cfiscsi 527SUBDIR+= iscsi 528.endif 529 530.if !empty(OPT_FDT) 531SUBDIR+= fdt 532.endif 533 534# Linuxulator 535.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ 536 ${MACHINE_CPUARCH} == "i386" 537SUBDIR+= linprocfs 538SUBDIR+= linsysfs 539.endif 540.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" 541SUBDIR+= linux 542.endif 543.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" 544SUBDIR+= linux64 545SUBDIR+= linux_common 546.endif 547 548.if ${MACHINE_CPUARCH} != "arm" 549.if ${MK_OFED} != "no" || defined(ALL_MODULES) 550_ibcore= ibcore 551_ipoib= ipoib 552_iser= iser 553_mthca= mthca 554_rdma= rdma 555.endif 556.endif 557 558.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ 559 ${MACHINE_CPUARCH} == "i386" || ${MACHINE_ARCH:Mpowerpc64*} != "" 560_ipmi= ipmi 561_mlx4= mlx4 562_mlx5= mlx5 563.if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \ 564 defined(ALL_MODULES) 565_mlx4en= mlx4en 566_mlx5en= mlx5en 567.endif 568.if ${MK_OFED} != "no" || defined(ALL_MODULES) 569_mlx4ib= mlx4ib 570_mlx5ib= mlx5ib 571.endif 572.endif 573 574.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ 575 ${MACHINE_CPUARCH} == "i386" 576_ena= ena 577_gve= gve 578_iwlwifi= iwlwifi 579_rtw88= rtw88 580_rtw89= rtw89 581_vmware= vmware 582.endif 583 584.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ 585 ${MACHINE_CPUARCH} == "i386" || ${MACHINE_ARCH} == "armv7" || \ 586 ${MACHINE_ARCH:Mpowerpc64*} != "" 587_ossl= ossl 588.endif 589 590# MAC framework 591.if ${KERN_OPTS:MMAC} || defined(ALL_MODULES) 592_mac_biba= mac_biba 593_mac_bsdextended= mac_bsdextended 594.if ${KERN_OPTS:MDDB} || defined(ALL_MODULES) 595_mac_ddb= mac_ddb 596.endif 597_mac_do= mac_do 598_mac_ifoff= mac_ifoff 599_mac_ipacl= mac_ipacl 600_mac_lomac= mac_lomac 601_mac_mls= mac_mls 602_mac_none= mac_none 603_mac_ntpd= mac_ntpd 604_mac_partition= mac_partition 605_mac_pimd= mac_pimd 606_mac_portacl= mac_portacl 607_mac_priority= mac_priority 608_mac_seeotheruids= mac_seeotheruids 609_mac_stub= mac_stub 610_mac_test= mac_test 611.if ${MK_VERIEXEC} != "no" || defined(ALL_MODULES) 612_mac_veriexec= mac_veriexec 613_mac_veriexec_sha1= mac_veriexec_sha1 614_mac_veriexec_sha256= mac_veriexec_sha256 615_mac_veriexec_sha384= mac_veriexec_sha384 616_mac_veriexec_sha512= mac_veriexec_sha512 617.endif 618.endif 619 620.if ${MK_NETGRAPH} != "no" || defined(ALL_MODULES) 621_netgraph= netgraph 622.endif 623 624.if (${MK_PF} != "no" && (${MK_INET_SUPPORT} != "no" || \ 625 ${MK_INET6_SUPPORT} != "no")) || defined(ALL_MODULES) 626_pf= pf 627_pflog= pflog 628_pflow= pflow 629.if ${MK_INET_SUPPORT} != "no" 630_pfsync= pfsync 631.endif 632.endif 633 634.if ${MK_SOURCELESS_UCODE} != "no" 635_bce= bce 636_fxp= fxp 637_ispfw= ispfw 638_ti= ti 639_mwlfw= mwlfw 640_otusfw= otusfw 641_ralfw= ralfw 642_rtwnfw= rtwnfw 643.endif 644 645.if ${MK_SOURCELESS_UCODE} != "no" && ${MACHINE_CPUARCH} != "arm" && \ 646 ${MACHINE_ARCH} != "powerpc" && ${MACHINE_ARCH} != "powerpcspe" && \ 647 ${MACHINE_CPUARCH} != "riscv" 648_cxgbe= cxgbe 649.endif 650 651# This has only been tested on amd64 and arm64 652.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "aarch64" 653_mpi3mr=mpi3mr 654.endif 655 656# Specific to the Raspberry Pi. 657.if ${MACHINE_CPUARCH} == "aarch64" 658_genet= genet 659.endif 660 661.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "aarch64" || \ 662 ${MACHINE_ARCH:Mpowerpc64*} 663_ice= ice 664.if ${MK_SOURCELESS_UCODE} != "no" 665_ice_ddp= ice_ddp 666.endif 667.if ${MK_OFED} != "no" || defined(ALL_MODULES) 668.if ${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no" 669_irdma= irdma 670.endif 671.endif 672.endif 673 674.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "arm" || \ 675 ${MACHINE_CPUARCH} == "riscv" 676.if !empty(OPT_FDT) 677_if_cgem= if_cgem 678.endif 679.endif 680 681# These rely on 64bit atomics 682.if ${MACHINE_ARCH} != "powerpc" && ${MACHINE_ARCH} != "powerpcspe" 683_mps= mps 684_mpr= mpr 685.endif 686 687.if ${MK_TESTS} != "no" || defined(ALL_MODULES) 688SUBDIR+= ktest 689SUBDIR+= tests 690.endif 691 692.if ${MK_ZFS} != "no" || defined(ALL_MODULES) 693SUBDIR+= zfs 694.endif 695 696.if ${MK_SOURCELESS_UCODE} != "no" 697_cxgb= cxgb 698.endif 699 700.if ${MACHINE_CPUARCH} == "aarch64" 701_armv8crypto= armv8crypto 702_armv8_rng= armv8_rng 703_dpaa2= dpaa2 704_sff= sff 705_em= em 706_hyperv= hyperv 707_vf_i2c= vf_i2c 708 709.if !empty(OPT_FDT) 710_allwinner= allwinner 711_dwwdt= dwwdt 712_enetc= enetc 713_felix= felix 714_rockchip= rockchip 715.endif 716.endif 717 718.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "arm" 719.if !empty(OPT_FDT) 720_sdhci_fdt= sdhci_fdt 721.endif 722_neta= neta 723.endif 724 725.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" 726_agp= agp 727.if ${MACHINE_CPUARCH} == "i386" || !empty(COMPAT_FREEBSD32_ENABLED) 728_aout= aout 729.endif 730_bios= bios 731.if ${MK_SOURCELESS_UCODE} != "no" 732_bxe= bxe 733.endif 734_cardbus= cardbus 735_cbb= cbb 736_cpuctl= cpuctl 737_cpufreq= cpufreq 738_dpms= dpms 739_em= em 740_et= et 741_ftgpio= ftgpio 742_ftwd= ftwd 743_exca= exca 744_igc= igc 745_io= io 746_itwd= itwd 747_ix= ix 748_ixv= ixv 749.if ${MK_SOURCELESS_UCODE} != "no" 750_lio= lio 751.endif 752_mana= mana 753_mgb= mgb 754_nctgpio= nctgpio 755_ncthwm= ncthwm 756_ntb= ntb 757_ocs_fc= ocs_fc 758_p2sb= p2sb 759_qat_c2xxx= qat_c2xxx 760_qat_c2xxxfw= qat_c2xxxfw 761_safe= safe 762_speaker= speaker 763_splash= splash 764_syscons= syscons 765_wbwd= wbwd 766_wdatwd= wdatwd 767 768_aac= aac 769_aacraid= aacraid 770_acpi= acpi 771.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 772_aesni= aesni 773.endif 774_amd_ecc_inject=amd_ecc_inject 775_amdsbwd= amdsbwd 776_amdsmn= amdsmn 777_amdtemp= amdtemp 778_arcmsr= arcmsr 779_asmc= asmc 780.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 781_blake2= blake2 782.endif 783_bytgpio= bytgpio 784_chvgpio= chvgpio 785_ciss= ciss 786_chromebook_platform= chromebook_platform 787_coretemp= coretemp 788.if ${MK_SOURCELESS_HOST} != "no" && empty(KCSAN_ENABLED) 789_hpt27xx= hpt27xx 790.endif 791_hptiop= hptiop 792.if ${MK_SOURCELESS_HOST} != "no" && empty(KCSAN_ENABLED) 793_hptmv= hptmv 794_hptnr= hptnr 795_hptrr= hptrr 796.endif 797_hyperv= hyperv 798_ichwd= ichwd 799_ida= ida 800_intelspi= intelspi 801_ips= ips 802_isci= isci 803_ipw= ipw 804_iwi= iwi 805_iwm= iwm 806_iwn= iwn 807.if ${MK_SOURCELESS_UCODE} != "no" 808_ipwfw= ipwfw 809_iwifw= iwifw 810_iwnfw= iwnfw 811.endif 812_nfe= nfe 813_nvram= nvram 814.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 815_padlock= padlock 816_padlock_rng= padlock_rng 817_rdrand_rng= rdrand_rng 818.endif 819_pchtherm = pchtherm 820_s3= s3 821_sdhci_acpi= sdhci_acpi 822_superio= superio 823_vesa= vesa 824_viawd= viawd 825_vmd= vmd 826_wpi= wpi 827.if ${MK_SOURCELESS_UCODE} != "no" 828_wpifw= wpifw 829.endif 830.if ${KERN_OPTS:MVIMAGE} 831_wtap= wtap 832.endif 833_x86bios= x86bios 834.endif 835 836.if ${MACHINE_CPUARCH} == "amd64" 837_amdgpio= amdgpio 838_ccp= ccp 839_enic= enic 840_iavf= iavf 841_ioat= ioat 842_iwx= iwx 843_ixl= ixl 844_nvdimm= nvdimm 845_pms= pms 846_pt= pt 847_qat= qat 848.if ${MK_SOURCELESS_UCODE} != "no" 849_qatfw= qatfw 850.endif 851_qlxge= qlxge 852_qlxgb= qlxgb 853_sume= sume 854.if ${MK_SOURCELESS_UCODE} != "no" 855_qlxgbe= qlxgbe 856_qlnx= qlnx 857.endif 858_sfxge= sfxge 859_sgx= sgx 860_sgx_linux= sgx_linux 861_smartpqi= smartpqi 862_p2sb= p2sb 863.endif 864 865.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" 866_hwt= hwt 867.endif 868 869.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ 870 ${MACHINE_CPUARCH} == "riscv" 871.if ${MK_BHYVE} != "no" || defined(ALL_MODULES) 872.if ${KERN_OPTS:MSMP} 873_vmm= vmm 874.endif 875.endif 876.endif 877 878.if ${MACHINE_CPUARCH} == "i386" 879# XXX some of these can move to the general case when de-i386'ed 880# XXX some of these can move now, but are untested on other architectures. 881_3dfx= 3dfx 882_3dfx_linux= 3dfx_linux 883_glxiic= glxiic 884_glxsb= glxsb 885_pcfclock= pcfclock 886_pst= pst 887_sbni= sbni 888.endif 889 890.if ${MACHINE_ARCH} == "armv7" 891_cfi= cfi 892_cpsw= cpsw 893.endif 894 895.if ${MACHINE_CPUARCH} == "powerpc" 896_aacraid= aacraid 897_agp= agp 898_an= an 899_cardbus= cardbus 900_cbb= cbb 901_cfi= cfi 902_cpufreq= cpufreq 903_exca= exca 904_ffec= ffec 905.endif 906 907.if ${MACHINE_ARCH:Mpowerpc64*} != "" 908_ixl= ixl 909_nvram= opal_nvram 910.endif 911 912.if ${MACHINE_CPUARCH} == "powerpc" && ${MACHINE_ARCH} != "powerpcspe" 913# Don't build powermac_nvram for powerpcspe, it's never supported. 914_nvram+= powermac_nvram 915.endif 916 917.if ${MACHINE_CPUARCH} == "arm" || ${MACHINE_CPUARCH} == "aarch64" 918_bcm283x_clkman= bcm283x_clkman 919_bcm283x_pwm= bcm283x_pwm 920.endif 921 922.if !(${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} < 110000) 923# LLVM 10 crashes when building if_malo_pci.c, fixed in LLVM11: 924# https://bugs.llvm.org/show_bug.cgi?id=44351 925_malo= malo 926.endif 927 928.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "aarch64" 929_ufshci=ufshci 930.endif 931 932SUBDIR+=${MODULES_EXTRA} 933 934.for reject in ${WITHOUT_MODULES} 935SUBDIR:= ${SUBDIR:N${reject}} 936.endfor 937 938.endif # MODULES_OVERRIDE -- Keep last 939 940# Calling kldxref(8) for each module is expensive. 941.if !defined(NO_XREF) 942.MAKEFLAGS+= -DNO_XREF 943afterinstall: .PHONY 944 ${KLDXREF_CMD} ${DESTDIR}${KMODDIR} 945.if defined(NO_ROOT) && defined(METALOG) 946 echo ".${DISTBASE}${KMODDIR}/linker.hints type=file mode=0644 uname=root gname=wheel" | \ 947 cat -l >> ${METALOG} 948.endif 949.endif 950 951SUBDIR:= ${SUBDIR:u:O} 952 953.include <bsd.subdir.mk> 954