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