1# $FreeBSD$ 2 3SYSDIR?=${.CURDIR}/.. 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.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 acl_nfs4 \ 23 acl_posix1e \ 24 ${_acpi} \ 25 ae \ 26 ${_aesni} \ 27 age \ 28 ${_agp} \ 29 aha \ 30 ${_ahb} \ 31 ahci \ 32 ${_aic} \ 33 aic7xxx \ 34 aio \ 35 alc \ 36 ale \ 37 alq \ 38 ${_amdsbwd} \ 39 ${_amdtemp} \ 40 amr \ 41 ${_an} \ 42 ${_aout} \ 43 ${_apm} \ 44 ${_arcmsr} \ 45 ${_arcnet} \ 46 ${_asmc} \ 47 ${_asr} \ 48 ata \ 49 ath \ 50 ath_pci \ 51 ${_auxio} \ 52 ${_bce} \ 53 bfe \ 54 bge \ 55 ${_bxe} \ 56 ${_bios} \ 57 ${_bktr} \ 58 ${_bm} \ 59 bridgestp \ 60 bwi \ 61 bwn \ 62 cam \ 63 ${_canbepm} \ 64 ${_canbus} \ 65 ${_cardbus} \ 66 ${_carp} \ 67 cas \ 68 ${_cbb} \ 69 cc \ 70 cd9660 \ 71 cd9660_iconv \ 72 ${_ce} \ 73 ${_cfi} \ 74 ${_ciss} \ 75 ${_cm} \ 76 ${_cmx} \ 77 ${_coff} \ 78 ${_coretemp} \ 79 ${_cp} \ 80 ${_cpsw} \ 81 ${_cpuctl} \ 82 ${_cpufreq} \ 83 ${_crypto} \ 84 ${_cryptodev} \ 85 ${_cs} \ 86 ${_ct} \ 87 ${_ctau} \ 88 ctl \ 89 cuse \ 90 ${_cxgb} \ 91 ${_cxgbe} \ 92 ${_cyclic} \ 93 dc \ 94 dcons \ 95 dcons_crom \ 96 de \ 97 ${_dpms} \ 98 ${_dpt} \ 99 ${_drm} \ 100 ${_drm2} \ 101 ${_dtrace} \ 102 dummynet \ 103 ${_ed} \ 104 ${_elink} \ 105 ${_em} \ 106 en \ 107 ${_ep} \ 108 ${_epic} \ 109 esp \ 110 ${_et} \ 111 ${_ex} \ 112 ${_exca} \ 113 ${_ext2fs} \ 114 ${_fatm} \ 115 fdc \ 116 fdescfs \ 117 ${_fe} \ 118 ${_filemon} \ 119 firewire \ 120 firmware \ 121 fuse \ 122 ${_fxp} \ 123 gem \ 124 geom \ 125 ${_glxiic} \ 126 ${_glxsb} \ 127 hatm \ 128 hifn \ 129 hme \ 130 ${_hpt27xx} \ 131 ${_hptiop} \ 132 ${_hptmv} \ 133 ${_hptnr} \ 134 ${_hptrr} \ 135 hwpmc \ 136 ${_hyperv} \ 137 ${_i2c} \ 138 ${_ibcore} \ 139 ${_ibcs2} \ 140 ${_ichwd} \ 141 ${_ida} \ 142 ${_ie} \ 143 if_bridge \ 144 if_disc \ 145 if_edsc \ 146 if_epair \ 147 if_faith \ 148 if_gif \ 149 ${_if_gre} \ 150 if_lagg \ 151 ${_if_ndis} \ 152 if_stf \ 153 if_tap \ 154 if_tun \ 155 if_vlan \ 156 ${_igb} \ 157 ${_iir} \ 158 imgact_binmisc \ 159 ${_io} \ 160 ${_ipoib} \ 161 ${_ipdivert} \ 162 ${_ipfilter} \ 163 ${_ipfw} \ 164 ipfw_nat \ 165 ${_ipmi} \ 166 ip6_mroute_mod \ 167 ip_mroute_mod \ 168 ${_ips} \ 169 ${_ipw} \ 170 ${_ipwfw} \ 171 ${_isci} \ 172 iscsi \ 173 iscsi_initiator \ 174 isp \ 175 ${_ispfw} \ 176 ${_iwi} \ 177 ${_iwifw} \ 178 ${_iwn} \ 179 ${_iwnfw} \ 180 ${_ixgb} \ 181 ${_ixgbe} \ 182 jme \ 183 joy \ 184 kbdmux \ 185 kgssapi \ 186 kgssapi_krb5 \ 187 khelp \ 188 krpc \ 189 ksyms \ 190 le \ 191 lge \ 192 libalias \ 193 libiconv \ 194 libmbpool \ 195 libmchain \ 196 ${_linprocfs} \ 197 ${_linsysfs} \ 198 ${_linux} \ 199 lmc \ 200 lpt \ 201 mac_biba \ 202 mac_bsdextended \ 203 mac_ifoff \ 204 mac_lomac \ 205 mac_mls \ 206 mac_none \ 207 mac_partition \ 208 mac_portacl \ 209 mac_seeotheruids \ 210 mac_stub \ 211 mac_test \ 212 malo \ 213 mcd \ 214 md \ 215 mem \ 216 mfi \ 217 mii \ 218 mlx \ 219 ${_mlx4} \ 220 ${_mlx4ib} \ 221 ${_mlxen} \ 222 ${_mly} \ 223 mmc \ 224 mmcsd \ 225 mpr \ 226 mps \ 227 mpt \ 228 mqueue \ 229 mrsas \ 230 msdosfs \ 231 msdosfs_iconv \ 232 ${_mse} \ 233 msk \ 234 ${_mthca} \ 235 mvs \ 236 mwl \ 237 ${_mwlfw} \ 238 mxge \ 239 my \ 240 ${_nandfs} \ 241 ${_nandsim} \ 242 ${_ncp} \ 243 ${_ncv} \ 244 ${_ndis} \ 245 netfpga10g \ 246 ${_netgraph} \ 247 ${_nfe} \ 248 nfs_common \ 249 nfscl \ 250 nfsclient \ 251 nfscommon \ 252 nfsd \ 253 nfslock \ 254 nfslockd \ 255 nfsserver \ 256 nfssvc \ 257 nge \ 258 nmdm \ 259 ${_nsp} \ 260 nullfs \ 261 ${_ntb} \ 262 ${_nvd} \ 263 ${_nvme} \ 264 ${_nvram} \ 265 ${_nxge} \ 266 ${_opensolaris} \ 267 oce \ 268 ${_padlock} \ 269 patm \ 270 ${_pccard} \ 271 ${_pcfclock} \ 272 pcn \ 273 ${_pf} \ 274 ${_pflog} \ 275 ${_pfsync} \ 276 plip \ 277 ${_pmc} \ 278 ppbus \ 279 ppc \ 280 ppi \ 281 pps \ 282 procfs \ 283 proto \ 284 pseudofs \ 285 ${_pst} \ 286 pty \ 287 puc \ 288 ${_qlxge} \ 289 ${_qlxgb} \ 290 ${_qlxgbe} \ 291 ral \ 292 ${_ralfw} \ 293 ${_random} \ 294 rc4 \ 295 ${_rdma} \ 296 re \ 297 reiserfs \ 298 rl \ 299 ${_s3} \ 300 ${_safe} \ 301 ${_sbni} \ 302 scc \ 303 scd \ 304 ${_scsi_low} \ 305 sdhci \ 306 sdhci_pci \ 307 sem \ 308 send \ 309 ${_sf} \ 310 ${_sfxge} \ 311 sge \ 312 siba_bwn \ 313 siftr \ 314 siis \ 315 sis \ 316 sk \ 317 ${_smbfs} \ 318 ${_sn} \ 319 ${_snc} \ 320 snp \ 321 ${_sound} \ 322 ${_speaker} \ 323 ${_splash} \ 324 ${_sppp} \ 325 ste \ 326 ${_stg} \ 327 stge \ 328 ${_streams} \ 329 ${_svr4} \ 330 ${_sym} \ 331 ${_syscons} \ 332 sysvipc \ 333 ${_ti} \ 334 tl \ 335 tmpfs \ 336 ${_toecore} \ 337 ${_tpm} \ 338 trm \ 339 ${_twa} \ 340 twe \ 341 tws \ 342 tx \ 343 ${_txp} \ 344 uart \ 345 ubsec \ 346 udf \ 347 udf_iconv \ 348 ufs \ 349 unionfs \ 350 usb \ 351 utopia \ 352 ${_vesa} \ 353 ${_virtio} \ 354 vge \ 355 ${_viawd} \ 356 vkbd \ 357 ${_vmm} \ 358 ${_vmware} \ 359 ${_vpo} \ 360 vr \ 361 vte \ 362 vx \ 363 ${_vxge} \ 364 wb \ 365 ${_wbwd} \ 366 ${_wi} \ 367 wlan \ 368 wlan_acl \ 369 wlan_amrr \ 370 wlan_ccmp \ 371 wlan_rssadapt \ 372 wlan_tkip \ 373 wlan_wep \ 374 wlan_xauth \ 375 ${_wpi} \ 376 ${_wpifw} \ 377 ${_x86bios} \ 378 ${_xe} \ 379 xl \ 380 ${_zfs} \ 381 zlib \ 382 383.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" 384_filemon= filemon 385_vmware= vmware 386.endif 387 388.if ${MACHINE_CPUARCH} != "powerpc" && ${MACHINE_CPUARCH} != "arm" && \ 389 ${MACHINE_CPUARCH} != "mips" 390_syscons= syscons 391_vpo= vpo 392.endif 393 394.if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips" 395# no BUS_SPACE_UNSPECIFIED 396# No barrier instruction support (specific to this driver) 397_sym= sym 398# intr_disable() is a macro, causes problems 399.if ${MK_SOURCELESS_UCODE} != "no" 400_cxgb= cxgb 401.endif 402.endif 403 404.if ${MK_SOURCELESS_UCODE} != "no" 405_cxgbe= cxgbe 406.endif 407 408.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 409.if exists(${.CURDIR}/../opencrypto) 410_crypto= crypto 411_cryptodev= cryptodev 412.endif 413.if exists(${.CURDIR}/../crypto) 414_random= random 415.endif 416.endif 417 418.if (${MK_INET_SUPPORT} != "no" || ${MK_INET6_SUPPORT} != "no") || \ 419 defined(ALL_MODULES) 420_carp= carp 421_toecore= toecore 422.endif 423 424.if ${MK_INET_SUPPORT} != "no" || defined(ALL_MODULES) 425_if_gre= if_gre 426.endif 427 428.if ${MK_IPFILTER} != "no" || defined(ALL_MODULES) 429_ipfilter= ipfilter 430.endif 431 432.if ${MK_INET_SUPPORT} != "no" || defined(ALL_MODULES) 433_ipdivert= ipdivert 434_ipfw= ipfw 435.endif 436 437.if ${MK_NAND} != "no" || defined(ALL_MODULES) 438_nandfs= nandfs 439_nandsim= nandsim 440.endif 441 442.if ${MK_NETGRAPH} != "no" || defined(ALL_MODULES) 443_netgraph= netgraph 444.endif 445 446.if (${MK_PF} != "no" && (${MK_INET_SUPPORT} != "no" || \ 447 ${MK_INET6_SUPPORT} != "no")) || defined(ALL_MODULES) 448_pf= pf 449_pflog= pflog 450.if ${MK_INET_SUPPORT} != "no" 451_pfsync= pfsync 452.endif 453.endif 454 455.if ${MK_SOURCELESS_UCODE} != "no" 456_bce= bce 457_fatm= fatm 458_fxp= fxp 459_ispfw= ispfw 460_mwlfw= mwlfw 461_ralfw= ralfw 462_sf= sf 463_sn= sn 464_ti= ti 465_txp= txp 466.endif 467 468.if ${MACHINE_CPUARCH} == "i386" 469# XXX some of these can move to the general case when de-i386'ed 470# XXX some of these can move now, but are untested on other architectures. 471_3dfx= 3dfx 472_3dfx_linux= 3dfx_linux 473_agp= agp 474_aic= aic 475_an= an 476_aout= aout 477_apm= apm 478_arcnet= arcnet 479_bktr= bktr 480_bxe= bxe 481_cardbus= cardbus 482_cbb= cbb 483.if ${MK_SOURCELESS_UCODE} != "no" 484_ce= ce 485.endif 486_coff= coff 487.if ${MK_SOURCELESS_UCODE} != "no" 488_cp= cp 489.endif 490_cpuctl= cpuctl 491_cpufreq= cpufreq 492_cs= cs 493.if ${MK_CDDL} != "no" || defined(ALL_MODULES) 494_cyclic= cyclic 495.endif 496_dpms= dpms 497_drm= drm 498_drm2= drm2 499.if ${MK_CDDL} != "no" || defined(ALL_MODULES) 500_dtrace= dtrace 501.endif 502_ed= ed 503_elink= elink 504_em= em 505_ep= ep 506_et= et 507_exca= exca 508_ext2fs= ext2fs 509_fe= fe 510_glxiic= glxiic 511_glxsb= glxsb 512_i2c= i2c 513.if ${MK_OFED} != "no" || defined(ALL_MODULES) 514_ibcore= ibcore 515.endif 516_ibcs2= ibcs2 517_ie= ie 518_if_ndis= if_ndis 519_igb= igb 520_io= io 521.if ${MK_OFED} != "no" || defined(ALL_MODULES) 522_ipoib= ipoib 523.endif 524_linprocfs= linprocfs 525_linsysfs= linsysfs 526_linux= linux 527_mse= mse 528.if ${MK_OFED} != "no" || defined(ALL_MODULES) 529_mlx4= mlx4 530_mlx4ib= mlx4ib 531_mlxen= mlxen 532_mthca= mthca 533.endif 534_ncv= ncv 535_ndis= ndis 536_nsp= nsp 537.if ${MK_CDDL} != "no" || defined(ALL_MODULES) 538_opensolaris= opensolaris 539.endif 540_pccard= pccard 541_pcfclock= pcfclock 542_pst= pst 543.if ${MK_OFED} != "no" || defined(ALL_MODULES) 544_rdma= rdma 545.endif 546_safe= safe 547_sbni= sbni 548_scsi_low= scsi_low 549_smbfs= smbfs 550_sound= sound 551_speaker= speaker 552_splash= splash 553_sppp= sppp 554_stg= stg 555_streams= streams 556_svr4= svr4 557_vxge= vxge 558_wbwd= wbwd 559_wi= wi 560_xe= xe 561.if ${MK_ZFS} != "no" || defined(ALL_MODULES) 562_zfs= zfs 563.endif 564.if ${MACHINE} == "i386" 565_aac= aac 566_aacraid= aacraid 567_acpi= acpi 568.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 569_aesni= aesni 570.endif 571.if ${MK_EISA} != "no" 572_ahb= ahb 573.endif 574_amdsbwd= amdsbwd 575_amdtemp= amdtemp 576_arcmsr= arcmsr 577_asmc= asmc 578_asr= asr 579_bios= bios 580_ciss= ciss 581_cm= cm 582_cmx= cmx 583_coretemp= coretemp 584.if ${MK_SOURCELESS_UCODE} != "no" 585_ctau= ctau 586.endif 587_dpt= dpt 588_ex= ex 589.if ${MK_SOURCELESS_HOST} != "no" 590_hpt27xx= hpt27xx 591.endif 592_hptiop= hptiop 593.if ${MK_SOURCELESS_HOST} != "no" 594_hptmv= hptmv 595_hptnr= hptnr 596_hptrr= hptrr 597.endif 598_hyperv= hyperv 599_ichwd= ichwd 600_ida= ida 601_iir= iir 602_ipmi= ipmi 603_ips= ips 604_ipw= ipw 605.if ${MK_SOURCELESS_UCODE} != "no" 606_ipwfw= ipwfw 607.endif 608_isci= isci 609_iwi= iwi 610.if ${MK_SOURCELESS_UCODE} != "no" 611_iwifw= iwifw 612.endif 613_iwn= iwn 614.if ${MK_SOURCELESS_UCODE} != "no" 615_iwnfw= iwnfw 616.endif 617_ixgb= ixgb 618_ixgbe= ixgbe 619_mly= mly 620_nfe= nfe 621_nvd= nvd 622_nvme= nvme 623_nvram= nvram 624_nxge= nxge 625_tpm= tpm 626_viawd= viawd 627_wpi= wpi 628.if ${MK_SOURCELESS_UCODE} != "no" 629_wpifw= wpifw 630.endif 631.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 632_padlock= padlock 633.endif 634_s3= s3 635_twa= twa 636_vesa= vesa 637_virtio= virtio 638_x86bios= x86bios 639.elif ${MACHINE} == "pc98" 640_canbepm= canbepm 641_canbus= canbus 642_ct= ct 643_pmc= pmc 644_snc= snc 645.endif 646.endif 647 648.if ${MACHINE_CPUARCH} == "amd64" 649_aac= aac 650_aacraid= aacraid 651_aout= aout 652_acpi= acpi 653.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 654_aesni= aesni 655.endif 656_agp= agp 657_an= an 658_amdsbwd= amdsbwd 659_amdtemp= amdtemp 660_arcmsr= arcmsr 661_asmc= asmc 662_bktr= bktr 663_bxe= bxe 664_cardbus= cardbus 665_cbb= cbb 666_cmx= cmx 667_ciss= ciss 668_coretemp= coretemp 669_cpuctl= cpuctl 670_cpufreq= cpufreq 671.if ${MK_CDDL} != "no" || defined(ALL_MODULES) 672_cyclic= cyclic 673.endif 674_dpms= dpms 675_drm= drm 676_drm2= drm2 677.if ${MK_CDDL} != "no" || defined(ALL_MODULES) 678_dtrace= dtrace 679.endif 680_ed= ed 681_et= et 682_em= em 683_exca= exca 684_ext2fs= ext2fs 685.if ${MK_SOURCELESS_HOST} != "no" 686_hpt27xx= hpt27xx 687.endif 688_hptiop= hptiop 689.if ${MK_SOURCELESS_HOST} != "no" 690_hptmv= hptmv 691_hptnr= hptnr 692_hptrr= hptrr 693.endif 694_hyperv= hyperv 695_i2c= i2c 696.if ${MK_OFED} != "no" || defined(ALL_MODULES) 697_ibcore= ibcore 698.endif 699_ichwd= ichwd 700_ida= ida 701_if_ndis= if_ndis 702_igb= igb 703_iir= iir 704_io= io 705_ipmi= ipmi 706.if ${MK_OFED} != "no" || defined(ALL_MODULES) 707_ipoib= ipoib 708.endif 709_ips= ips 710_ipw= ipw 711.if ${MK_SOURCELESS_UCODE} != "no" 712_ipwfw= ipwfw 713.endif 714_isci= isci 715_iwi= iwi 716.if ${MK_SOURCELESS_UCODE} != "no" 717_iwifw= iwifw 718.endif 719_iwn= iwn 720.if ${MK_SOURCELESS_UCODE} != "no" 721_iwnfw= iwnfw 722.endif 723_ixgb= ixgb 724_ixgbe= ixgbe 725_linprocfs= linprocfs 726_linsysfs= linsysfs 727_linux= linux 728_mly= mly 729.if ${MK_OFED} != "no" || defined(ALL_MODULES) 730_mlx4= mlx4 731_mlx4ib= mlx4ib 732_mlxen= mlxen 733_mthca= mthca 734.endif 735_ndis= ndis 736_nfe= nfe 737_ntb= ntb 738_nvd= nvd 739_nvme= nvme 740_nvram= nvram 741_nxge= nxge 742.if ${MK_CDDL} != "no" || defined(ALL_MODULES) 743_opensolaris= opensolaris 744.endif 745.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 746_padlock= padlock 747.endif 748_pccard= pccard 749_qlxge= qlxge 750_qlxgb= qlxgb 751_qlxgbe= qlxgbe 752.if ${MK_OFED} != "no" || defined(ALL_MODULES) 753_rdma= rdma 754.endif 755_s3= s3 756_safe= safe 757_scsi_low= scsi_low 758_sfxge= sfxge 759_smbfs= smbfs 760_sound= sound 761_speaker= speaker 762_splash= splash 763_sppp= sppp 764_tpm= tpm 765_twa= twa 766_vesa= vesa 767_viawd= viawd 768_virtio= virtio 769_vmm= vmm 770_vxge= vxge 771_x86bios= x86bios 772_wbwd= wbwd 773_wi= wi 774_wpi= wpi 775.if ${MK_SOURCELESS_UCODE} != "no" 776_wpifw= wpifw 777.endif 778.if ${MK_ZFS} != "no" || defined(ALL_MODULES) 779_zfs= zfs 780.endif 781.endif 782 783.if ${MACHINE_CPUARCH} == "arm" 784_cfi= cfi 785_cpsw= cpsw 786_sound= sound 787.endif 788 789.if ${MACHINE_CPUARCH} == "powerpc" 790_agp= agp 791_an= an 792_bm= bm 793_cardbus= cardbus 794_cbb= cbb 795_cfi= cfi 796_cpufreq= cpufreq 797.if ${MK_CDDL} != "no" || defined(ALL_MODULES) 798_cyclic= cyclic 799.endif 800_drm= drm 801.if ${MK_CDDL} != "no" || defined(ALL_MODULES) 802_dtrace= dtrace 803.endif 804_exca= exca 805_nvram= powermac_nvram 806_pccard= pccard 807_smbfs= smbfs 808_sound= sound 809.if ${MK_CDDL} != "no" || defined(ALL_MODULES) 810_opensolaris= opensolaris 811.endif 812_wi= wi 813.endif 814 815.if ${MACHINE_ARCH} == "powerpc64" 816.if ${MK_ZFS} != "no" || defined(ALL_MODULES) 817_zfs= zfs 818.endif 819.endif 820 821.if ${MACHINE_CPUARCH} == "sparc64" 822_auxio= auxio 823_em= em 824_epic= epic 825_i2c= i2c 826_igb= igb 827.if ${MK_CDDL} != "no" || defined(ALL_MODULES) 828_opensolaris= opensolaris 829.endif 830_smbfs= smbfs 831_sound= sound 832.if ${MK_ZFS} != "no" || defined(ALL_MODULES) 833_zfs= zfs 834.endif 835.endif 836.endif 837 838.for reject in ${WITHOUT_MODULES} 839SUBDIR:= ${SUBDIR:N${reject}} 840.endfor 841 842# Calling kldxref(8) for each module is expensive. 843.if !defined(NO_XREF) 844.MAKEFLAGS+= -DNO_XREF 845afterinstall: 846 @if type kldxref >/dev/null 2>&1; then \ 847 ${ECHO} kldxref ${DESTDIR}${KMODDIR}; \ 848 kldxref ${DESTDIR}${KMODDIR}; \ 849 fi 850.endif 851 852.include <bsd.subdir.mk> 853