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