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 xz \ 408 zlib 409 410.if ${MK_AUTOFS} != "no" || defined(ALL_MODULES) 411_autofs= autofs 412.endif 413 414.if ${MK_CDDL} != "no" || defined(ALL_MODULES) 415.if (${MACHINE_CPUARCH} != "arm" || ${MACHINE_ARCH:Marmv[67]*} != "") && \ 416 ${MACHINE_CPUARCH} != "mips" && \ 417 ${MACHINE_CPUARCH} != "sparc64" 418SUBDIR+= dtrace 419.endif 420SUBDIR+= opensolaris 421.endif 422 423.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 424.if exists(${SRCTOP}/sys/opencrypto) 425_crypto= crypto 426_cryptodev= cryptodev 427_random_fortuna=random_fortuna 428_random_other= random_other 429.endif 430.endif 431 432.if ${MK_CUSE} != "no" || defined(ALL_MODULES) 433SUBDIR+= cuse 434.endif 435 436.if (${MK_INET_SUPPORT} != "no" || ${MK_INET6_SUPPORT} != "no") || \ 437 defined(ALL_MODULES) 438_carp= carp 439_toecore= toecore 440_if_enc= if_enc 441_if_gif= if_gif 442_if_gre= if_gre 443_ipfw_pmod= ipfw_pmod 444.if ${MK_IPSEC_SUPPORT} != "no" 445_ipsec= ipsec 446.endif 447.endif 448 449.if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \ 450 defined(ALL_MODULES) 451_if_stf= if_stf 452.endif 453 454.if ${MK_INET_SUPPORT} != "no" || defined(ALL_MODULES) 455_if_me= if_me 456_ipdivert= ipdivert 457_ipfw= ipfw 458.if ${MK_INET6_SUPPORT} != "no" || defined(ALL_MODULES) 459_ipfw_nat64= ipfw_nat64 460.endif 461.endif 462 463.if ${MK_INET6_SUPPORT} != "no" || defined(ALL_MODULES) 464_ipfw_nptv6= ipfw_nptv6 465.endif 466 467.if ${MK_IPFILTER} != "no" || defined(ALL_MODULES) 468_ipfilter= ipfilter 469.endif 470 471.if ${MK_ISCSI} != "no" || defined(ALL_MODULES) 472SUBDIR+= cfiscsi 473SUBDIR+= iscsi 474SUBDIR+= iscsi_initiator 475.endif 476 477.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ 478 ${MACHINE_CPUARCH} == "i386" 479SUBDIR+= linprocfs 480SUBDIR+= linsysfs 481.endif 482 483.if ${MK_NAND} != "no" || defined(ALL_MODULES) 484_nandfs= nandfs 485_nandsim= nandsim 486.endif 487 488.if ${MK_NETGRAPH} != "no" || defined(ALL_MODULES) 489_netgraph= netgraph 490.endif 491 492.if (${MK_PF} != "no" && (${MK_INET_SUPPORT} != "no" || \ 493 ${MK_INET6_SUPPORT} != "no")) || defined(ALL_MODULES) 494_pf= pf 495_pflog= pflog 496.if ${MK_INET_SUPPORT} != "no" 497_pfsync= pfsync 498.endif 499.endif 500 501.if ${MK_SOURCELESS_UCODE} != "no" 502_bce= bce 503_fxp= fxp 504_ispfw= ispfw 505_sf= sf 506_ti= ti 507_txp= txp 508 509.if ${MACHINE_CPUARCH} != "mips" 510_mwlfw= mwlfw 511_otusfw= otusfw 512_ralfw= ralfw 513_rtwnfw= rtwnfw 514.endif 515.endif 516 517.if ${MK_SOURCELESS_UCODE} != "no" && ${MACHINE_CPUARCH} != "arm" && \ 518 ${MACHINE_CPUARCH} != "mips" && \ 519 ${MACHINE_ARCH} != "powerpc" && ${MACHINE_ARCH} != "powerpcspe" && \ 520 ${MACHINE_CPUARCH} != "riscv" 521_cxgbe= cxgbe 522.endif 523 524# These rely on 64bit atomics 525.if ${MACHINE_ARCH} != "powerpc" && ${MACHINE_ARCH} != "powerpcspe" && \ 526 ${MACHINE_CPUARCH} != "mips" 527_mps= mps 528_mpr= mpr 529.endif 530 531.if ${MK_TESTS} != "no" || defined(ALL_MODULES) 532SUBDIR+= tests 533.endif 534 535.if ${MK_ZFS} != "no" || defined(ALL_MODULES) 536SUBDIR+= zfs 537.endif 538 539.if (${MACHINE_CPUARCH} == "mips" && ${MACHINE_ARCH:Mmips64} == "") 540_hwpmc_mips24k= hwpmc_mips24k 541_hwpmc_mips74k= hwpmc_mips74k 542.endif 543 544.if ${MACHINE_CPUARCH} != "aarch64" && ${MACHINE_CPUARCH} != "arm" && \ 545 ${MACHINE_CPUARCH} != "mips" && ${MACHINE_CPUARCH} != "powerpc" && \ 546 ${MACHINE_CPUARCH} != "riscv" 547_syscons= syscons 548_vpo= vpo 549.endif 550 551.if ${MACHINE_CPUARCH} != "mips" 552# no BUS_SPACE_UNSPECIFIED 553# No barrier instruction support (specific to this driver) 554_sym= sym 555# intr_disable() is a macro, causes problems 556.if ${MK_SOURCELESS_UCODE} != "no" 557_cxgb= cxgb 558.endif 559.endif 560 561.if ${MACHINE_CPUARCH} == "aarch64" 562_allwinner= allwinner 563_armv8crypto= armv8crypto 564_efirt= efirt 565_em= em 566_rockchip= rockchip 567.endif 568 569.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" 570_agp= agp 571_an= an 572_aout= aout 573_bios= bios 574_bktr= bktr 575.if ${MK_SOURCELESS_UCODE} != "no" 576_bxe= bxe 577.endif 578_cardbus= cardbus 579_cbb= cbb 580_cpuctl= cpuctl 581_cpufreq= cpufreq 582_cs= cs 583_dpms= dpms 584_ed= ed 585_em= em 586_ena= ena 587_ep= ep 588_et= et 589_exca= exca 590_fe= fe 591.if ${MK_OFED} != "no" || defined(ALL_MODULES) 592_ibcore= ibcore 593.endif 594_if_ndis= if_ndis 595_io= io 596.if ${MK_OFED} != "no" || defined(ALL_MODULES) 597_ipoib= ipoib 598_iser= iser 599.endif 600_ix= ix 601_ixv= ixv 602_linux= linux 603.if ${MK_SOURCELESS_UCODE} != "no" 604_lio= lio 605.endif 606_nctgpio= nctgpio 607_ndis= ndis 608_ocs_fc= ocs_fc 609_pccard= pccard 610.if ${MK_OFED} != "no" || defined(ALL_MODULES) 611_rdma= rdma 612.endif 613_safe= safe 614_speaker= speaker 615_splash= splash 616_sppp= sppp 617_vmware= vmware 618_wbwd= wbwd 619_wi= wi 620_xe= xe 621 622_aac= aac 623_aacraid= aacraid 624_acpi= acpi 625.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 626.if ${COMPILER_TYPE} != "gcc" || ${COMPILER_VERSION} > 40201 627_aesni= aesni 628.endif 629.endif 630_amd_ecc_inject=amd_ecc_inject 631_amdsbwd= amdsbwd 632_amdsmn= amdsmn 633_amdtemp= amdtemp 634_arcmsr= arcmsr 635_asmc= asmc 636.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 637_blake2= blake2 638.endif 639_bytgpio= bytgpio 640_chvgpio= chvgpio 641_ciss= ciss 642_chromebook_platform= chromebook_platform 643_cmx= cmx 644_coretemp= coretemp 645.if ${MK_SOURCELESS_HOST} != "no" 646_hpt27xx= hpt27xx 647.endif 648_hptiop= hptiop 649.if ${MK_SOURCELESS_HOST} != "no" 650_hptmv= hptmv 651_hptnr= hptnr 652_hptrr= hptrr 653.endif 654_hyperv= hyperv 655_ichwd= ichwd 656_ida= ida 657_iir= iir 658_intelspi= intelspi 659_ipmi= ipmi 660_ips= ips 661_isci= isci 662_ipw= ipw 663_iwi= iwi 664_iwm= iwm 665_iwn= iwn 666.if ${MK_SOURCELESS_UCODE} != "no" 667_ipwfw= ipwfw 668_iwifw= iwifw 669_iwmfw= iwmfw 670_iwnfw= iwnfw 671.endif 672_mlx4= mlx4 673_mlx5= mlx5 674.if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \ 675 defined(ALL_MODULES) 676_mlx4en= mlx4en 677_mlx5en= mlx5en 678.endif 679.if ${MK_OFED} != "no" || defined(ALL_MODULES) 680_mthca= mthca 681_mlx4ib= mlx4ib 682_mlx5ib= mlx5ib 683.endif 684_mly= mly 685_nfe= nfe 686_nvd= nvd 687_nvme= nvme 688_nvram= nvram 689.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 690_padlock= padlock 691_padlock_rng= padlock_rng 692_rdrand_rng= rdrand_rng 693.endif 694_s3= s3 695_sdhci_acpi= sdhci_acpi 696_tpm= tpm 697_twa= twa 698_vesa= vesa 699_viawd= viawd 700_virtio= virtio 701_wpi= wpi 702.if ${MK_SOURCELESS_UCODE} != "no" 703_wpifw= wpifw 704.endif 705_x86bios= x86bios 706.endif 707 708.if ${MACHINE_CPUARCH} == "amd64" 709_amdgpio= amdgpio 710_ccp= ccp 711_efirt= efirt 712_iavf= iavf 713_ioat= ioat 714_ixl= ixl 715_linux64= linux64 716_linux_common= linux_common 717_ntb= ntb 718_nvdimm= nvdimm 719_pms= pms 720_qlxge= qlxge 721_qlxgb= qlxgb 722.if ${MK_SOURCELESS_UCODE} != "no" 723_qlxgbe= qlxgbe 724_qlnx= qlnx 725.endif 726_sfxge= sfxge 727_sgx= sgx 728_sgx_linux= sgx_linux 729_smartpqi= smartpqi 730 731.if ${MK_BHYVE} != "no" || defined(ALL_MODULES) 732_vmm= vmm 733.endif 734.endif 735 736.if ${MACHINE_CPUARCH} == "i386" 737# XXX some of these can move to the general case when de-i386'ed 738# XXX some of these can move now, but are untested on other architectures. 739_3dfx= 3dfx 740_3dfx_linux= 3dfx_linux 741_apm= apm 742.if ${MK_SOURCELESS_UCODE} != "no" 743_ce= ce 744.endif 745.if ${MK_SOURCELESS_UCODE} != "no" 746_cp= cp 747.endif 748_glxiic= glxiic 749_glxsb= glxsb 750_pcfclock= pcfclock 751_pst= pst 752_sbni= sbni 753.if ${MK_SOURCELESS_UCODE} != "no" 754_ctau= ctau 755.endif 756_ex= ex 757.endif 758 759.if ${MACHINE_CPUARCH} == "arm" 760_cfi= cfi 761_cpsw= cpsw 762.endif 763 764.if ${MACHINE_CPUARCH} == "powerpc" 765_agp= agp 766_an= an 767_bm= bm 768_cardbus= cardbus 769_cbb= cbb 770_cfi= cfi 771_cpufreq= cpufreq 772_exca= exca 773_ffec= ffec 774_nvd= nvd 775_nvme= nvme 776_pccard= pccard 777_wi= wi 778.endif 779 780.if ${MACHINE_ARCH} == "powerpc64" 781_ipmi= ipmi 782.endif 783.if ${MACHINE_ARCH} == "powerpc64" || ${MACHINE_ARCH} == "powerpc" 784# Don't build powermac_nvram for powerpcspe, it's never supported. 785_nvram= powermac_nvram 786.endif 787 788.if ${MACHINE_CPUARCH} == "sparc64" 789_auxio= auxio 790_em= em 791_epic= epic 792.endif 793 794.if (${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ 795 ${MACHINE_ARCH:Marmv[67]*} != "" || ${MACHINE_CPUARCH} == "i386") 796_cloudabi32= cloudabi32 797.endif 798.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" 799_cloudabi64= cloudabi64 800.endif 801 802.endif 803 804.if ${MACHINE_ARCH:Marmv[67]*} != "" || ${MACHINE_CPUARCH} == "aarch64" 805_bcm283x_clkman= bcm283x_clkman 806_bcm283x_pwm= bcm283x_pwm 807.endif 808 809SUBDIR+=${MODULES_EXTRA} 810 811.for reject in ${WITHOUT_MODULES} 812SUBDIR:= ${SUBDIR:N${reject}} 813.endfor 814 815# Calling kldxref(8) for each module is expensive. 816.if !defined(NO_XREF) 817.MAKEFLAGS+= -DNO_XREF 818afterinstall: .PHONY 819 @if type kldxref >/dev/null 2>&1; then \ 820 ${ECHO} kldxref ${DESTDIR}${KMODDIR}; \ 821 kldxref ${DESTDIR}${KMODDIR}; \ 822 fi 823.endif 824 825.include "${SYSDIR}/conf/config.mk" 826 827SUBDIR:= ${SUBDIR:u:O} 828 829.include <bsd.subdir.mk> 830