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} != "powerpc" 460_cxgbe= cxgbe 461.endif 462 463.if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips" && \ 464 ${MACHINE_CPUARCH} != "powerpc" 465_syscons= syscons 466_vpo= vpo 467.endif 468 469.if ${MACHINE_CPUARCH} != "mips" 470# no BUS_SPACE_UNSPECIFIED 471# No barrier instruction support (specific to this driver) 472_sym= sym 473# intr_disable() is a macro, causes problems 474.if ${MK_SOURCELESS_UCODE} != "no" 475_cxgb= cxgb 476.endif 477.endif 478 479.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" 480_agp= agp 481_an= an 482_aout= aout 483_bktr= bktr 484_bxe= bxe 485_cardbus= cardbus 486_cbb= cbb 487_cpuctl= cpuctl 488_cpufreq= cpufreq 489_cs= cs 490_dpms= dpms 491_drm= drm 492_drm2= drm2 493.if ${MK_CDDL} != "no" || defined(ALL_MODULES) 494_dtrace= dtrace 495.endif 496_ed= ed 497_em= em 498_ep= ep 499_et= et 500_exca= exca 501_fe= fe 502_filemon= filemon 503.if ${MK_OFED} != "no" || defined(ALL_MODULES) 504_ibcore= ibcore 505.endif 506_if_ndis= if_ndis 507_igb= igb 508_io= io 509.if ${MK_OFED} != "no" || defined(ALL_MODULES) 510_ipoib= ipoib 511.endif 512_ix= ix 513_ixv= ixv 514_linprocfs= linprocfs 515_linsysfs= linsysfs 516_linux= linux 517.if ${MK_OFED} != "no" 518_linuxapi= linuxapi 519.endif 520_ndis= ndis 521.if ${MK_CDDL} != "no" || defined(ALL_MODULES) 522_opensolaris= opensolaris 523.endif 524_pccard= pccard 525.if ${MK_OFED} != "no" || defined(ALL_MODULES) 526_rdma= rdma 527.endif 528_safe= safe 529_scsi_low= scsi_low 530_si= si 531_speaker= speaker 532_splash= splash 533_sppp= sppp 534_vmware= vmware 535_vxge= vxge 536_wbwd= wbwd 537_wi= wi 538_xe= xe 539.if ${MK_ZFS} != "no" || defined(ALL_MODULES) 540_zfs= zfs 541.endif 542.if ${MACHINE} != "pc98" 543_aac= aac 544_aacraid= aacraid 545_acpi= acpi 546.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 547_aesni= aesni 548.endif 549_amdsbwd= amdsbwd 550_amdtemp= amdtemp 551_arcmsr= arcmsr 552_asmc= asmc 553_ciss= ciss 554_cmx= cmx 555_coretemp= coretemp 556.if ${MK_SOURCELESS_HOST} != "no" 557_hpt27xx= hpt27xx 558.endif 559_hptiop= hptiop 560.if ${MK_SOURCELESS_HOST} != "no" 561_hptmv= hptmv 562_hptnr= hptnr 563_hptrr= hptrr 564.endif 565_hyperv= hyperv 566_ichwd= ichwd 567_ida= ida 568_iir= iir 569_ipmi= ipmi 570_ips= ips 571_ipw= ipw 572.if ${MK_SOURCELESS_UCODE} != "no" 573_ipwfw= ipwfw 574.endif 575_isci= isci 576_iwi= iwi 577.if ${MK_SOURCELESS_UCODE} != "no" 578_iwifw= iwifw 579.endif 580_iwn= iwn 581.if ${MK_SOURCELESS_UCODE} != "no" 582_iwnfw= iwnfw 583.endif 584_ixgb= ixgb 585.if ${MK_OFED} != "no" || defined(ALL_MODULES) 586_mlx4= mlx4 587_mlx4ib= mlx4ib 588_mlxen= mlxen 589.endif 590_mly= mly 591.if ${MK_OFED} != "no" || defined(ALL_MODULES) 592_mthca= mthca 593.endif 594_nfe= nfe 595_nvd= nvd 596_nvme= nvme 597_nvram= nvram 598_nxge= nxge 599.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 600_padlock= padlock 601_padlock_rng= padlock_rng 602_rdrand_rng= rdrand_rng 603.endif 604_s3= s3 605_tpm= tpm 606_twa= twa 607_vesa= vesa 608_viawd= viawd 609_virtio= virtio 610_wpi= wpi 611.if ${MK_SOURCELESS_UCODE} != "no" 612_wpifw= wpifw 613.endif 614_x86bios= x86bios 615.endif 616.endif 617 618.if ${MACHINE_CPUARCH} == "amd64" 619_ixl= ixl 620_ixlv= ixlv 621_ntb= ntb 622_qlxge= qlxge 623_qlxgb= qlxgb 624_qlxgbe= qlxgbe 625_sfxge= sfxge 626 627.if ${MK_BHYVE} != "no" || defined(ALL_MODULES) 628_vmm= vmm 629.endif 630.endif 631 632.if ${MACHINE_CPUARCH} == "i386" 633# XXX some of these can move to the general case when de-i386'ed 634# XXX some of these can move now, but are untested on other architectures. 635_3dfx= 3dfx 636_3dfx_linux= 3dfx_linux 637_aic= aic 638_apm= apm 639_arcnet= arcnet 640.if ${MK_SOURCELESS_UCODE} != "no" 641_ce= ce 642.endif 643_coff= coff 644.if ${MK_SOURCELESS_UCODE} != "no" 645_cp= cp 646.endif 647_elink= elink 648_glxiic= glxiic 649_glxsb= glxsb 650_ibcs2= ibcs2 651_ie= ie 652_mse= mse 653_ncr= ncr 654_ncv= ncv 655_nsp= nsp 656_pcfclock= pcfclock 657_pst= pst 658_sbni= sbni 659_streams= streams 660_stg= stg 661_svr4= svr4 662_wds= wds 663.if ${MACHINE} == "i386" 664.if ${MK_EISA} != "no" 665_ahb= ahb 666.endif 667_bios= bios 668_cm= cm 669.if ${MK_SOURCELESS_UCODE} != "no" 670_ctau= ctau 671.endif 672_dpt= dpt 673_ex= ex 674_wl= wl 675.elif ${MACHINE} == "pc98" 676_canbepm= canbepm 677_canbus= canbus 678_ct= ct 679_pmc= pmc 680_snc= snc 681.endif 682.endif 683 684.if ${MACHINE_CPUARCH} == "arm" 685_cfi= cfi 686_cpsw= cpsw 687.endif 688 689.if ${MACHINE_CPUARCH} == "powerpc" 690_agp= agp 691_an= an 692_bm= bm 693_cardbus= cardbus 694_cbb= cbb 695_cfi= cfi 696_cpufreq= cpufreq 697_drm= drm 698.if ${MK_CDDL} != "no" || defined(ALL_MODULES) 699_dtrace= dtrace 700.endif 701_exca= exca 702_nvram= powermac_nvram 703.if ${MK_CDDL} != "no" || defined(ALL_MODULES) 704_opensolaris= opensolaris 705.endif 706_pccard= pccard 707_wi= wi 708.endif 709 710.if ${MACHINE_ARCH} == "powerpc64" 711_drm2= drm2 712.if ${MK_ZFS} != "no" || defined(ALL_MODULES) 713_zfs= zfs 714.endif 715.endif 716 717.if ${MACHINE_CPUARCH} == "sparc64" 718_auxio= auxio 719_em= em 720_epic= epic 721_igb= igb 722.if ${MK_CDDL} != "no" || defined(ALL_MODULES) 723_opensolaris= opensolaris 724.endif 725.if ${MK_ZFS} != "no" || defined(ALL_MODULES) 726_zfs= zfs 727.endif 728.endif 729 730.endif 731 732SUBDIR+=${MODULES_EXTRA} 733 734.for reject in ${WITHOUT_MODULES} 735SUBDIR:= ${SUBDIR:N${reject}} 736.endfor 737 738# Calling kldxref(8) for each module is expensive. 739.if !defined(NO_XREF) 740.MAKEFLAGS+= -DNO_XREF 741afterinstall: 742 @if type kldxref >/dev/null 2>&1; then \ 743 ${ECHO} kldxref ${DESTDIR}${KMODDIR}; \ 744 kldxref ${DESTDIR}${KMODDIR}; \ 745 fi 746.endif 747 748.include "${SYSDIR}/conf/config.mk" 749 750SUBDIR:= ${SUBDIR:u:O} 751 752.include <bsd.subdir.mk> 753