1# $FreeBSD$ 2 3SYSDIR?=${SRCTOP}/sys 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 ahci \ 30 aic7xxx \ 31 alc \ 32 ale \ 33 alq \ 34 ${_amd_ecc_inject} \ 35 ${_amdgpio} \ 36 ${_amdsbwd} \ 37 ${_amdsmn} \ 38 ${_amdtemp} \ 39 amr \ 40 ${_an} \ 41 ${_aout} \ 42 ${_apm} \ 43 ${_arcmsr} \ 44 ${_allwinner} \ 45 ${_armv8crypto} \ 46 ${_asmc} \ 47 ata \ 48 ath \ 49 ath_dfs \ 50 ath_hal \ 51 ath_hal_ar5210 \ 52 ath_hal_ar5211 \ 53 ath_hal_ar5212 \ 54 ath_hal_ar5416 \ 55 ath_hal_ar9300 \ 56 ath_main \ 57 ath_rate \ 58 ath_pci \ 59 ${_autofs} \ 60 ${_auxio} \ 61 ${_bce} \ 62 ${_bcm283x_clkman} \ 63 ${_bcm283x_pwm} \ 64 bfe \ 65 bge \ 66 bhnd \ 67 ${_bxe} \ 68 ${_bios} \ 69 ${_bktr} \ 70 ${_blake2} \ 71 ${_bm} \ 72 bnxt \ 73 bridgestp \ 74 bwi \ 75 bwn \ 76 ${_bytgpio} \ 77 ${_chvgpio} \ 78 cam \ 79 ${_cardbus} \ 80 ${_carp} \ 81 cas \ 82 ${_cbb} \ 83 cc \ 84 ${_ccp} \ 85 cd9660 \ 86 cd9660_iconv \ 87 ${_ce} \ 88 ${_cfi} \ 89 ${_chromebook_platform} \ 90 ${_ciss} \ 91 cloudabi \ 92 ${_cloudabi32} \ 93 ${_cloudabi64} \ 94 ${_cmx} \ 95 ${_coretemp} \ 96 ${_cp} \ 97 ${_cpsw} \ 98 ${_cpuctl} \ 99 ${_cpufreq} \ 100 ${_crypto} \ 101 ${_cryptodev} \ 102 ${_cs} \ 103 ${_ctau} \ 104 ctl \ 105 ${_cxgb} \ 106 ${_cxgbe} \ 107 dc \ 108 dcons \ 109 dcons_crom \ 110 de \ 111 ${_dpms} \ 112 dummynet \ 113 ${_ed} \ 114 ${_efirt} \ 115 ${_em} \ 116 ${_ena} \ 117 ${_ep} \ 118 ${_epic} \ 119 esp \ 120 ${_et} \ 121 evdev \ 122 ${_ex} \ 123 ${_exca} \ 124 ext2fs \ 125 fdc \ 126 fdescfs \ 127 ${_fe} \ 128 ${_ffec} \ 129 filemon \ 130 firewire \ 131 firmware \ 132 fuse \ 133 ${_fxp} \ 134 gem \ 135 geom \ 136 ${_glxiic} \ 137 ${_glxsb} \ 138 gpio \ 139 hifn \ 140 hme \ 141 ${_hpt27xx} \ 142 ${_hptiop} \ 143 ${_hptmv} \ 144 ${_hptnr} \ 145 ${_hptrr} \ 146 hwpmc \ 147 ${_hwpmc_mips24k} \ 148 ${_hwpmc_mips74k} \ 149 ${_hyperv} \ 150 i2c \ 151 ${_iavf} \ 152 ${_ibcore} \ 153 ${_ichwd} \ 154 ${_ida} \ 155 if_bridge \ 156 if_disc \ 157 if_edsc \ 158 ${_if_enc} \ 159 if_epair \ 160 ${_if_gif} \ 161 ${_if_gre} \ 162 ${_if_me} \ 163 if_lagg \ 164 ${_if_ndis} \ 165 ${_if_stf} \ 166 if_tap \ 167 if_tun \ 168 if_vlan \ 169 if_vxlan \ 170 iflib \ 171 ${_iir} \ 172 imgact_binmisc \ 173 ${_intelspi} \ 174 ${_io} \ 175 ${_ioat} \ 176 ${_ipoib} \ 177 ${_ipdivert} \ 178 ${_ipfilter} \ 179 ${_ipfw} \ 180 ipfw_nat \ 181 ${_ipfw_nat64} \ 182 ${_ipfw_nptv6} \ 183 ${_ipfw_pmod} \ 184 ${_ipmi} \ 185 ip6_mroute_mod \ 186 ip_mroute_mod \ 187 ${_ips} \ 188 ${_ipsec} \ 189 ${_ipw} \ 190 ${_ipwfw} \ 191 ${_isci} \ 192 ${_iser} \ 193 isp \ 194 ${_ispfw} \ 195 ${_iwi} \ 196 ${_iwifw} \ 197 ${_iwm} \ 198 ${_iwmfw} \ 199 ${_iwn} \ 200 ${_iwnfw} \ 201 ${_ix} \ 202 ${_ixv} \ 203 ${_ixl} \ 204 jme \ 205 kbdmux \ 206 kgssapi \ 207 kgssapi_krb5 \ 208 khelp \ 209 krpc \ 210 ksyms \ 211 le \ 212 lge \ 213 libalias \ 214 libiconv \ 215 libmchain \ 216 ${_linux} \ 217 ${_linux_common} \ 218 ${_linux64} \ 219 linuxkpi \ 220 ${_lio} \ 221 lpt \ 222 mac_biba \ 223 mac_bsdextended \ 224 mac_ifoff \ 225 mac_lomac \ 226 mac_mls \ 227 mac_none \ 228 mac_ntpd \ 229 mac_partition \ 230 mac_portacl \ 231 mac_seeotheruids \ 232 mac_stub \ 233 mac_test \ 234 malo \ 235 md \ 236 mdio \ 237 mem \ 238 mfi \ 239 mii \ 240 mlx \ 241 ${_mlx4} \ 242 ${_mlx4ib} \ 243 ${_mlx4en} \ 244 ${_mlx5} \ 245 ${_mlx5en} \ 246 ${_mlx5ib} \ 247 ${_mly} \ 248 mmc \ 249 mmcsd \ 250 ${_mpr} \ 251 ${_mps} \ 252 mpt \ 253 mqueue \ 254 mrsas \ 255 msdosfs \ 256 msdosfs_iconv \ 257 msk \ 258 ${_mthca} \ 259 mvs \ 260 mwl \ 261 ${_mwlfw} \ 262 mxge \ 263 my \ 264 ${_nandfs} \ 265 ${_nandsim} \ 266 ${_nctgpio} \ 267 ${_ndis} \ 268 ${_netgraph} \ 269 ${_nfe} \ 270 nfscl \ 271 nfscommon \ 272 nfsd \ 273 nfslock \ 274 nfslockd \ 275 nfssvc \ 276 nge \ 277 nmdm \ 278 nullfs \ 279 ${_ntb} \ 280 ${_nvd} \ 281 ${_nvdimm} \ 282 ${_nvme} \ 283 ${_nvram} \ 284 oce \ 285 ${_ocs_fc} \ 286 otus \ 287 ${_otusfw} \ 288 ow \ 289 ${_padlock} \ 290 ${_padlock_rng} \ 291 ${_pccard} \ 292 ${_pcfclock} \ 293 pcn \ 294 ${_pf} \ 295 ${_pflog} \ 296 ${_pfsync} \ 297 plip \ 298 ${_pms} \ 299 ppbus \ 300 ppc \ 301 ppi \ 302 pps \ 303 procfs \ 304 proto \ 305 pseudofs \ 306 ${_pst} \ 307 pty \ 308 puc \ 309 ${_qlxge} \ 310 ${_qlxgb} \ 311 ${_qlxgbe} \ 312 ${_qlnx} \ 313 ral \ 314 ${_ralfw} \ 315 ${_random_fortuna} \ 316 ${_random_other} \ 317 rc4 \ 318 ${_rdma} \ 319 ${_rdrand_rng} \ 320 re \ 321 rl \ 322 ${_rockchip} \ 323 rtwn \ 324 rtwn_pci \ 325 rtwn_usb \ 326 ${_rtwnfw} \ 327 ${_s3} \ 328 ${_safe} \ 329 ${_sbni} \ 330 scc \ 331 sdhci \ 332 ${_sdhci_acpi} \ 333 sdhci_pci \ 334 sem \ 335 send \ 336 ${_sf} \ 337 ${_sfxge} \ 338 sge \ 339 ${_sgx} \ 340 ${_sgx_linux} \ 341 siftr \ 342 siis \ 343 sis \ 344 sk \ 345 ${_smartpqi} \ 346 smbfs \ 347 sn \ 348 snp \ 349 sound \ 350 ${_speaker} \ 351 spi \ 352 ${_splash} \ 353 ${_sppp} \ 354 ste \ 355 stge \ 356 ${_sym} \ 357 ${_syscons} \ 358 sysvipc \ 359 tcp \ 360 ${_ti} \ 361 tl \ 362 tmpfs \ 363 ${_toecore} \ 364 ${_tpm} \ 365 trm \ 366 ${_twa} \ 367 twe \ 368 tws \ 369 tx \ 370 ${_txp} \ 371 uart \ 372 ubsec \ 373 udf \ 374 udf_iconv \ 375 ufs \ 376 uinput \ 377 unionfs \ 378 usb \ 379 ${_vesa} \ 380 ${_virtio} \ 381 vge \ 382 ${_viawd} \ 383 videomode \ 384 vkbd \ 385 ${_vmm} \ 386 ${_vmware} \ 387 ${_vpo} \ 388 vr \ 389 vte \ 390 vx \ 391 wb \ 392 ${_wbwd} \ 393 ${_wi} \ 394 wlan \ 395 wlan_acl \ 396 wlan_amrr \ 397 wlan_ccmp \ 398 wlan_rssadapt \ 399 wlan_tkip \ 400 wlan_wep \ 401 wlan_xauth \ 402 ${_wpi} \ 403 ${_wpifw} \ 404 ${_x86bios} \ 405 ${_xe} \ 406 xl \ 407 zlib 408 409.if ${MK_AUTOFS} != "no" || defined(ALL_MODULES) 410_autofs= autofs 411.endif 412 413.if ${MK_CDDL} != "no" || defined(ALL_MODULES) 414.if (${MACHINE_CPUARCH} != "arm" || ${MACHINE_ARCH:Marmv[67]*} != "") && \ 415 ${MACHINE_CPUARCH} != "mips" && \ 416 ${MACHINE_CPUARCH} != "sparc64" 417SUBDIR+= dtrace 418.endif 419SUBDIR+= opensolaris 420.endif 421 422.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 423.if exists(${SRCTOP}/sys/opencrypto) 424_crypto= crypto 425_cryptodev= cryptodev 426_random_fortuna=random_fortuna 427_random_other= random_other 428.endif 429.endif 430 431.if ${MK_CUSE} != "no" || defined(ALL_MODULES) 432SUBDIR+= cuse 433.endif 434 435.if (${MK_INET_SUPPORT} != "no" || ${MK_INET6_SUPPORT} != "no") || \ 436 defined(ALL_MODULES) 437_carp= carp 438_toecore= toecore 439_if_enc= if_enc 440_if_gif= if_gif 441_if_gre= if_gre 442_ipfw_pmod= ipfw_pmod 443.if ${MK_IPSEC_SUPPORT} != "no" 444_ipsec= ipsec 445.endif 446.endif 447 448.if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \ 449 defined(ALL_MODULES) 450_if_stf= if_stf 451.endif 452 453.if ${MK_INET_SUPPORT} != "no" || defined(ALL_MODULES) 454_if_me= if_me 455_ipdivert= ipdivert 456_ipfw= ipfw 457.if ${MK_INET6_SUPPORT} != "no" || defined(ALL_MODULES) 458_ipfw_nat64= ipfw_nat64 459.endif 460.endif 461 462.if ${MK_INET6_SUPPORT} != "no" || defined(ALL_MODULES) 463_ipfw_nptv6= ipfw_nptv6 464.endif 465 466.if ${MK_IPFILTER} != "no" || defined(ALL_MODULES) 467_ipfilter= ipfilter 468.endif 469 470.if ${MK_ISCSI} != "no" || defined(ALL_MODULES) 471SUBDIR+= cfiscsi 472SUBDIR+= iscsi 473SUBDIR+= iscsi_initiator 474.endif 475 476.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ 477 ${MACHINE_CPUARCH} == "i386" 478SUBDIR+= linprocfs 479SUBDIR+= linsysfs 480.endif 481 482.if ${MK_NAND} != "no" || defined(ALL_MODULES) 483_nandfs= nandfs 484_nandsim= nandsim 485.endif 486 487.if ${MK_NETGRAPH} != "no" || defined(ALL_MODULES) 488_netgraph= netgraph 489.endif 490 491.if (${MK_PF} != "no" && (${MK_INET_SUPPORT} != "no" || \ 492 ${MK_INET6_SUPPORT} != "no")) || defined(ALL_MODULES) 493_pf= pf 494_pflog= pflog 495.if ${MK_INET_SUPPORT} != "no" 496_pfsync= pfsync 497.endif 498.endif 499 500.if ${MK_SOURCELESS_UCODE} != "no" 501_bce= bce 502_fxp= fxp 503_ispfw= ispfw 504_sf= sf 505_ti= ti 506_txp= txp 507 508.if ${MACHINE_CPUARCH} != "mips" 509_mwlfw= mwlfw 510_otusfw= otusfw 511_ralfw= ralfw 512_rtwnfw= rtwnfw 513.endif 514.endif 515 516.if ${MK_SOURCELESS_UCODE} != "no" && ${MACHINE_CPUARCH} != "arm" && \ 517 ${MACHINE_CPUARCH} != "mips" && \ 518 ${MACHINE_ARCH} != "powerpc" && ${MACHINE_ARCH} != "powerpcspe" && \ 519 ${MACHINE_CPUARCH} != "riscv" 520_cxgbe= cxgbe 521.endif 522 523# These rely on 64bit atomics 524.if ${MACHINE_ARCH} != "powerpc" && ${MACHINE_ARCH} != "powerpcspe" && \ 525 ${MACHINE_CPUARCH} != "mips" 526_mps= mps 527_mpr= mpr 528.endif 529 530.if ${MK_TESTS} != "no" || defined(ALL_MODULES) 531SUBDIR+= tests 532.endif 533 534.if ${MK_ZFS} != "no" || defined(ALL_MODULES) 535SUBDIR+= zfs 536.endif 537 538.if (${MACHINE_CPUARCH} == "mips" && ${MACHINE_ARCH:Mmips64} == "") 539_hwpmc_mips24k= hwpmc_mips24k 540_hwpmc_mips74k= hwpmc_mips74k 541.endif 542 543.if ${MACHINE_CPUARCH} != "aarch64" && ${MACHINE_CPUARCH} != "arm" && \ 544 ${MACHINE_CPUARCH} != "mips" && ${MACHINE_CPUARCH} != "powerpc" && \ 545 ${MACHINE_CPUARCH} != "riscv" 546_syscons= syscons 547_vpo= vpo 548.endif 549 550.if ${MACHINE_CPUARCH} != "mips" 551# no BUS_SPACE_UNSPECIFIED 552# No barrier instruction support (specific to this driver) 553_sym= sym 554# intr_disable() is a macro, causes problems 555.if ${MK_SOURCELESS_UCODE} != "no" 556_cxgb= cxgb 557.endif 558.endif 559 560.if ${MACHINE_CPUARCH} == "aarch64" 561_allwinner= allwinner 562_armv8crypto= armv8crypto 563_efirt= efirt 564_em= em 565_rockchip= rockchip 566.endif 567 568.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" 569_agp= agp 570_an= an 571_aout= aout 572_bios= bios 573_bktr= bktr 574.if ${MK_SOURCELESS_UCODE} != "no" 575_bxe= bxe 576.endif 577_cardbus= cardbus 578_cbb= cbb 579_cpuctl= cpuctl 580_cpufreq= cpufreq 581_cs= cs 582_dpms= dpms 583_ed= ed 584_em= em 585_ena= ena 586_ep= ep 587_et= et 588_exca= exca 589_fe= fe 590.if ${MK_OFED} != "no" || defined(ALL_MODULES) 591_ibcore= ibcore 592.endif 593_if_ndis= if_ndis 594_io= io 595.if ${MK_OFED} != "no" || defined(ALL_MODULES) 596_ipoib= ipoib 597_iser= iser 598.endif 599_ix= ix 600_ixv= ixv 601_linux= linux 602.if ${MK_SOURCELESS_UCODE} != "no" 603_lio= lio 604.endif 605_nctgpio= nctgpio 606_ndis= ndis 607_ocs_fc= ocs_fc 608_pccard= pccard 609.if ${MK_OFED} != "no" || defined(ALL_MODULES) 610_rdma= rdma 611.endif 612_safe= safe 613_speaker= speaker 614_splash= splash 615_sppp= sppp 616_vmware= vmware 617_wbwd= wbwd 618_wi= wi 619_xe= xe 620 621_aac= aac 622_aacraid= aacraid 623_acpi= acpi 624.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 625.if ${COMPILER_TYPE} != "gcc" || ${COMPILER_VERSION} > 40201 626_aesni= aesni 627.endif 628.endif 629_amd_ecc_inject=amd_ecc_inject 630_amdsbwd= amdsbwd 631_amdsmn= amdsmn 632_amdtemp= amdtemp 633_arcmsr= arcmsr 634_asmc= asmc 635.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 636_blake2= blake2 637.endif 638_bytgpio= bytgpio 639_chvgpio= chvgpio 640_ciss= ciss 641_chromebook_platform= chromebook_platform 642_cmx= cmx 643_coretemp= coretemp 644.if ${MK_SOURCELESS_HOST} != "no" 645_hpt27xx= hpt27xx 646.endif 647_hptiop= hptiop 648.if ${MK_SOURCELESS_HOST} != "no" 649_hptmv= hptmv 650_hptnr= hptnr 651_hptrr= hptrr 652.endif 653_hyperv= hyperv 654_ichwd= ichwd 655_ida= ida 656_iir= iir 657_intelspi= intelspi 658_ipmi= ipmi 659_ips= ips 660_isci= isci 661_ipw= ipw 662_iwi= iwi 663_iwm= iwm 664_iwn= iwn 665.if ${MK_SOURCELESS_UCODE} != "no" 666_ipwfw= ipwfw 667_iwifw= iwifw 668_iwmfw= iwmfw 669_iwnfw= iwnfw 670.endif 671_mlx4= mlx4 672_mlx5= mlx5 673.if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \ 674 defined(ALL_MODULES) 675_mlx4en= mlx4en 676_mlx5en= mlx5en 677.endif 678.if ${MK_OFED} != "no" || defined(ALL_MODULES) 679_mthca= mthca 680_mlx4ib= mlx4ib 681_mlx5ib= mlx5ib 682.endif 683_mly= mly 684_nfe= nfe 685_nvd= nvd 686_nvme= nvme 687_nvram= nvram 688.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 689_padlock= padlock 690_padlock_rng= padlock_rng 691_rdrand_rng= rdrand_rng 692.endif 693_s3= s3 694_sdhci_acpi= sdhci_acpi 695_tpm= tpm 696_twa= twa 697_vesa= vesa 698_viawd= viawd 699_virtio= virtio 700_wpi= wpi 701.if ${MK_SOURCELESS_UCODE} != "no" 702_wpifw= wpifw 703.endif 704_x86bios= x86bios 705.endif 706 707.if ${MACHINE_CPUARCH} == "amd64" 708_amdgpio= amdgpio 709_ccp= ccp 710_efirt= efirt 711_iavf= iavf 712_ioat= ioat 713_ixl= ixl 714_linux64= linux64 715_linux_common= linux_common 716_ntb= ntb 717_nvdimm= nvdimm 718_pms= pms 719_qlxge= qlxge 720_qlxgb= qlxgb 721.if ${MK_SOURCELESS_UCODE} != "no" 722_qlxgbe= qlxgbe 723_qlnx= qlnx 724.endif 725_sfxge= sfxge 726_sgx= sgx 727_sgx_linux= sgx_linux 728_smartpqi= smartpqi 729 730.if ${MK_BHYVE} != "no" || defined(ALL_MODULES) 731_vmm= vmm 732.endif 733.endif 734 735.if ${MACHINE_CPUARCH} == "i386" 736# XXX some of these can move to the general case when de-i386'ed 737# XXX some of these can move now, but are untested on other architectures. 738_3dfx= 3dfx 739_3dfx_linux= 3dfx_linux 740_apm= apm 741.if ${MK_SOURCELESS_UCODE} != "no" 742_ce= ce 743.endif 744.if ${MK_SOURCELESS_UCODE} != "no" 745_cp= cp 746.endif 747_glxiic= glxiic 748_glxsb= glxsb 749_pcfclock= pcfclock 750_pst= pst 751_sbni= sbni 752.if ${MK_SOURCELESS_UCODE} != "no" 753_ctau= ctau 754.endif 755_ex= ex 756.endif 757 758.if ${MACHINE_CPUARCH} == "arm" 759_cfi= cfi 760_cpsw= cpsw 761.endif 762 763.if ${MACHINE_CPUARCH} == "powerpc" 764_agp= agp 765_an= an 766_bm= bm 767_cardbus= cardbus 768_cbb= cbb 769_cfi= cfi 770_cpufreq= cpufreq 771_exca= exca 772_ffec= ffec 773_nvd= nvd 774_nvme= nvme 775_pccard= pccard 776_wi= wi 777.endif 778 779.if ${MACHINE_ARCH} == "powerpc64" 780_ipmi= ipmi 781.endif 782.if ${MACHINE_ARCH} == "powerpc64" || ${MACHINE_ARCH} == "powerpc" 783# Don't build powermac_nvram for powerpcspe, it's never supported. 784_nvram= powermac_nvram 785.endif 786 787.if ${MACHINE_CPUARCH} == "sparc64" 788_auxio= auxio 789_em= em 790_epic= epic 791.endif 792 793.if (${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ 794 ${MACHINE_ARCH:Marmv[67]*} != "" || ${MACHINE_CPUARCH} == "i386") 795_cloudabi32= cloudabi32 796.endif 797.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" 798_cloudabi64= cloudabi64 799.endif 800 801.endif 802 803.if ${MACHINE_ARCH:Marmv[67]*} != "" || ${MACHINE_CPUARCH} == "aarch64" 804_bcm283x_clkman= bcm283x_clkman 805_bcm283x_pwm= bcm283x_pwm 806.endif 807 808SUBDIR+=${MODULES_EXTRA} 809 810.for reject in ${WITHOUT_MODULES} 811SUBDIR:= ${SUBDIR:N${reject}} 812.endfor 813 814# Calling kldxref(8) for each module is expensive. 815.if !defined(NO_XREF) 816.MAKEFLAGS+= -DNO_XREF 817afterinstall: .PHONY 818 @if type kldxref >/dev/null 2>&1; then \ 819 ${ECHO} kldxref ${DESTDIR}${KMODDIR}; \ 820 kldxref ${DESTDIR}${KMODDIR}; \ 821 fi 822.endif 823 824.include "${SYSDIR}/conf/config.mk" 825 826SUBDIR:= ${SUBDIR:u:O} 827 828.include <bsd.subdir.mk> 829