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 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_gif} \ 148 ${_if_gre} \ 149 ${_if_me} \ 150 if_lagg \ 151 ${_if_ndis} \ 152 if_stf \ 153 if_tap \ 154 if_tun \ 155 if_vlan \ 156 if_vxlan \ 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 ${_ncr} \ 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 ${_padlock_rng} \ 273 patm \ 274 ${_pccard} \ 275 ${_pcfclock} \ 276 pcn \ 277 ${_pf} \ 278 ${_pflog} \ 279 ${_pfsync} \ 280 plip \ 281 ${_pmc} \ 282 ppbus \ 283 ppc \ 284 ppi \ 285 pps \ 286 procfs \ 287 proto \ 288 pseudofs \ 289 ${_pst} \ 290 pty \ 291 puc \ 292 ${_qlxge} \ 293 ${_qlxgb} \ 294 ${_qlxgbe} \ 295 ral \ 296 ${_ralfw} \ 297 ${_random} \ 298 rc4 \ 299 ${_rdma} \ 300 ${_rdrand_rng} \ 301 re \ 302 reiserfs \ 303 rl \ 304 ${_s3} \ 305 ${_safe} \ 306 ${_sbni} \ 307 scc \ 308 scd \ 309 ${_scsi_low} \ 310 sdhci \ 311 sdhci_pci \ 312 sem \ 313 send \ 314 ${_sf} \ 315 ${_sfxge} \ 316 sge \ 317 ${_si} \ 318 siba_bwn \ 319 siftr \ 320 siis \ 321 sis \ 322 sk \ 323 ${_smbfs} \ 324 ${_sn} \ 325 ${_snc} \ 326 snp \ 327 ${_sound} \ 328 ${_speaker} \ 329 ${_splash} \ 330 ${_sppp} \ 331 ste \ 332 ${_stg} \ 333 stge \ 334 ${_streams} \ 335 ${_svr4} \ 336 ${_sym} \ 337 ${_syscons} \ 338 sysvipc \ 339 ${_ti} \ 340 tl \ 341 tmpfs \ 342 ${_toecore} \ 343 ${_tpm} \ 344 trm \ 345 ${_twa} \ 346 twe \ 347 tws \ 348 tx \ 349 ${_txp} \ 350 uart \ 351 ubsec \ 352 udf \ 353 udf_iconv \ 354 ufs \ 355 unionfs \ 356 usb \ 357 utopia \ 358 ${_vesa} \ 359 ${_virtio} \ 360 vge \ 361 ${_viawd} \ 362 vkbd \ 363 ${_vmm} \ 364 ${_vmware} \ 365 ${_vpo} \ 366 vr \ 367 vte \ 368 vx \ 369 ${_vxge} \ 370 wb \ 371 ${_wbwd} \ 372 ${_wds} \ 373 ${_wi} \ 374 ${_wl} \ 375 wlan \ 376 wlan_acl \ 377 wlan_amrr \ 378 wlan_ccmp \ 379 wlan_rssadapt \ 380 wlan_tkip \ 381 wlan_wep \ 382 wlan_xauth \ 383 ${_wpi} \ 384 ${_wpifw} \ 385 ${_x86bios} \ 386 ${_xe} \ 387 xl \ 388 ${_zfs} \ 389 zlib 390 391.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 392.if exists(${.CURDIR}/../opencrypto) 393_crypto= crypto 394_cryptodev= cryptodev 395.endif 396.if exists(${.CURDIR}/../crypto) 397_random= random 398.endif 399.endif 400 401.if (${MK_INET_SUPPORT} != "no" || ${MK_INET6_SUPPORT} != "no") || \ 402 defined(ALL_MODULES) 403_carp= carp 404_toecore= toecore 405_if_gif= if_gif 406_if_gre= if_gre 407.endif 408 409.if ${MK_INET_SUPPORT} != "no" || defined(ALL_MODULES) 410_if_me= if_me 411_ipdivert= ipdivert 412_ipfw= ipfw 413.endif 414 415.if ${MK_IPFILTER} != "no" || defined(ALL_MODULES) 416_ipfilter= ipfilter 417.endif 418 419.if ${MK_NAND} != "no" || defined(ALL_MODULES) 420_nandfs= nandfs 421_nandsim= nandsim 422.endif 423 424.if ${MK_NETGRAPH} != "no" || defined(ALL_MODULES) 425_netgraph= netgraph 426.endif 427 428.if (${MK_PF} != "no" && (${MK_INET_SUPPORT} != "no" || \ 429 ${MK_INET6_SUPPORT} != "no")) || defined(ALL_MODULES) 430_pf= pf 431_pflog= pflog 432.if ${MK_INET_SUPPORT} != "no" 433_pfsync= pfsync 434.endif 435.endif 436 437.if ${MK_SOURCELESS_UCODE} != "no" 438_bce= bce 439_cxgbe= cxgbe 440_fatm= fatm 441_fxp= fxp 442_ispfw= ispfw 443_mwlfw= mwlfw 444_ralfw= ralfw 445_sf= sf 446_sn= sn 447_ti= ti 448_txp= txp 449.endif 450 451 452.if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips" && \ 453 ${MACHINE_CPUARCH} != "powerpc" 454_syscons= syscons 455_vpo= vpo 456.endif 457 458.if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips" 459# no BUS_SPACE_UNSPECIFIED 460# No barrier instruction support (specific to this driver) 461_sym= sym 462# intr_disable() is a macro, causes problems 463.if ${MK_SOURCELESS_UCODE} != "no" 464_cxgb= cxgb 465.endif 466.endif 467 468.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" 469_agp= agp 470_an= an 471_aout= aout 472_bktr= bktr 473_bxe= bxe 474_cardbus= cardbus 475_cbb= cbb 476_cpuctl= cpuctl 477_cpufreq= cpufreq 478_dpms= dpms 479_drm= drm 480_drm2= drm2 481.if ${MK_CDDL} != "no" || defined(ALL_MODULES) 482_dtrace= dtrace 483.endif 484_ed= ed 485_em= em 486_et= et 487_exca= exca 488_ext2fs= ext2fs 489_filemon= filemon 490_i2c= i2c 491.if ${MK_OFED} != "no" || defined(ALL_MODULES) 492_ibcore= ibcore 493.endif 494_if_ndis= if_ndis 495_igb= igb 496_io= io 497.if ${MK_OFED} != "no" || defined(ALL_MODULES) 498_ipoib= ipoib 499.endif 500_linprocfs= linprocfs 501_linsysfs= linsysfs 502_linux= linux 503_ndis= ndis 504.if ${MK_CDDL} != "no" || defined(ALL_MODULES) 505_opensolaris= opensolaris 506.endif 507_pccard= pccard 508.if ${MK_OFED} != "no" || defined(ALL_MODULES) 509_rdma= rdma 510.endif 511_safe= safe 512_scsi_low= scsi_low 513_si= si 514_smbfs= smbfs 515_sound= sound 516_speaker= speaker 517_splash= splash 518_sppp= sppp 519_vmware= vmware 520_vxge= vxge 521_wbwd= wbwd 522_wi= wi 523.if ${MK_ZFS} != "no" || defined(ALL_MODULES) 524_zfs= zfs 525.endif 526.if ${MACHINE} != "pc98" 527_aac= aac 528_aacraid= aacraid 529_acpi= acpi 530.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 531_aesni= aesni 532.endif 533_amdsbwd= amdsbwd 534_amdtemp= amdtemp 535_arcmsr= arcmsr 536_asmc= asmc 537_ciss= ciss 538_cmx= cmx 539_coretemp= coretemp 540.if ${MK_SOURCELESS_HOST} != "no" 541_hpt27xx= hpt27xx 542.endif 543_hptiop= hptiop 544.if ${MK_SOURCELESS_HOST} != "no" 545_hptmv= hptmv 546_hptnr= hptnr 547_hptrr= hptrr 548.endif 549_hyperv= hyperv 550_ichwd= ichwd 551_ida= ida 552_iir= iir 553_ipmi= ipmi 554_ips= ips 555_ipw= ipw 556.if ${MK_SOURCELESS_UCODE} != "no" 557_ipwfw= ipwfw 558.endif 559_isci= isci 560_iwi= iwi 561.if ${MK_SOURCELESS_UCODE} != "no" 562_iwifw= iwifw 563.endif 564_iwn= iwn 565.if ${MK_SOURCELESS_UCODE} != "no" 566_iwnfw= iwnfw 567.endif 568_ixgb= ixgb 569_ixgbe= ixgbe 570.if ${MK_OFED} != "no" || defined(ALL_MODULES) 571_mlx4= mlx4 572_mlx4ib= mlx4ib 573_mlxen= mlxen 574.endif 575_mly= mly 576.if ${MK_OFED} != "no" || defined(ALL_MODULES) 577_mthca= mthca 578.endif 579_nfe= nfe 580_nvd= nvd 581_nvme= nvme 582_nvram= nvram 583_nxge= nxge 584.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 585_padlock= padlock 586_padlock_rng= padlock_rng 587_rdrand_rng= rdrand_rng 588.endif 589_s3= s3 590_tpm= tpm 591_twa= twa 592_vesa= vesa 593_viawd= viawd 594_virtio= virtio 595_wpi= wpi 596.if ${MK_SOURCELESS_UCODE} != "no" 597_wpifw= wpifw 598.endif 599_x86bios= x86bios 600.endif 601.endif 602 603.if ${MACHINE_CPUARCH} == "amd64" 604_ixl= ixl 605_ixlv= ixlv 606_ntb= ntb 607_qlxge= qlxge 608_qlxgb= qlxgb 609_qlxgbe= qlxgbe 610_sfxge= sfxge 611_vmm= vmm 612.endif 613 614.if ${MACHINE_CPUARCH} == "i386" 615# XXX some of these can move to the general case when de-i386'ed 616# XXX some of these can move now, but are untested on other architectures. 617_3dfx= 3dfx 618_3dfx_linux= 3dfx_linux 619_aic= aic 620_apm= apm 621_arcnet= arcnet 622.if ${MK_SOURCELESS_UCODE} != "no" 623_ce= ce 624.endif 625_coff= coff 626.if ${MK_SOURCELESS_UCODE} != "no" 627_cp= cp 628.endif 629_cs= cs 630_elink= elink 631_ep= ep 632_fe= fe 633_glxiic= glxiic 634_glxsb= glxsb 635_ibcs2= ibcs2 636_ie= ie 637_mse= mse 638_ncr= ncr 639_ncv= ncv 640_nsp= nsp 641_pcfclock= pcfclock 642_pst= pst 643_sbni= sbni 644_streams= streams 645_stg= stg 646_svr4= svr4 647_wds= wds 648_xe= xe 649.if ${MACHINE} == "i386" 650.if ${MK_EISA} != "no" 651_ahb= ahb 652.endif 653_asr= asr 654_bios= bios 655_cm= cm 656.if ${MK_SOURCELESS_UCODE} != "no" 657_ctau= ctau 658.endif 659_dpt= dpt 660_ex= ex 661_wl= wl 662.elif ${MACHINE} == "pc98" 663_canbepm= canbepm 664_canbus= canbus 665_ct= ct 666_pmc= pmc 667_snc= snc 668.endif 669.endif 670 671.if ${MACHINE_CPUARCH} == "arm" 672_cfi= cfi 673_cpsw= cpsw 674_sound= sound 675.endif 676 677.if ${MACHINE_CPUARCH} == "powerpc" 678_agp= agp 679_an= an 680_bm= bm 681_cardbus= cardbus 682_cbb= cbb 683_cfi= cfi 684_cpufreq= cpufreq 685_drm= drm 686.if ${MK_CDDL} != "no" || defined(ALL_MODULES) 687_dtrace= dtrace 688.endif 689_exca= exca 690_nvram= powermac_nvram 691.if ${MK_CDDL} != "no" || defined(ALL_MODULES) 692_opensolaris= opensolaris 693.endif 694_pccard= pccard 695_smbfs= smbfs 696_sound= sound 697_wi= wi 698.endif 699 700.if ${MACHINE_ARCH} == "powerpc64" 701.if ${MK_ZFS} != "no" || defined(ALL_MODULES) 702_zfs= zfs 703.endif 704.endif 705 706.if ${MACHINE_CPUARCH} == "sparc64" 707_auxio= auxio 708_em= em 709_epic= epic 710_i2c= i2c 711_igb= igb 712.if ${MK_CDDL} != "no" || defined(ALL_MODULES) 713_opensolaris= opensolaris 714.endif 715_smbfs= smbfs 716_sound= sound 717.if ${MK_ZFS} != "no" || defined(ALL_MODULES) 718_zfs= zfs 719.endif 720.endif 721 722.endif 723 724.for reject in ${WITHOUT_MODULES} 725SUBDIR:= ${SUBDIR:N${reject}} 726.endfor 727 728# Calling kldxref(8) for each module is expensive. 729.if !defined(NO_XREF) 730.MAKEFLAGS+= -DNO_XREF 731afterinstall: 732 @if type kldxref >/dev/null 2>&1; then \ 733 ${ECHO} kldxref ${DESTDIR}${KMODDIR}; \ 734 kldxref ${DESTDIR}${KMODDIR}; \ 735 fi 736.endif 737 738.include <bsd.subdir.mk> 739