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