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 fusefs \ 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_tuntap \ 167 if_vlan \ 168 if_vxlan \ 169 iflib \ 170 ${_iir} \ 171 imgact_binmisc \ 172 ${_intelspi} \ 173 ${_io} \ 174 ${_ioat} \ 175 ${_ipoib} \ 176 ${_ipdivert} \ 177 ${_ipfilter} \ 178 ${_ipfw} \ 179 ipfw_nat \ 180 ${_ipfw_nat64} \ 181 ${_ipfw_nptv6} \ 182 ${_ipfw_pmod} \ 183 ${_ipmi} \ 184 ip6_mroute_mod \ 185 ip_mroute_mod \ 186 ${_ips} \ 187 ${_ipsec} \ 188 ${_ipw} \ 189 ${_ipwfw} \ 190 ${_isci} \ 191 ${_iser} \ 192 isp \ 193 ${_ispfw} \ 194 ${_iwi} \ 195 ${_iwifw} \ 196 ${_iwm} \ 197 ${_iwmfw} \ 198 ${_iwn} \ 199 ${_iwnfw} \ 200 ${_ix} \ 201 ${_ixv} \ 202 ${_ixl} \ 203 jme \ 204 kbdmux \ 205 kgssapi \ 206 kgssapi_krb5 \ 207 khelp \ 208 krpc \ 209 ksyms \ 210 le \ 211 lge \ 212 libalias \ 213 libiconv \ 214 libmchain \ 215 ${_linux} \ 216 ${_linux_common} \ 217 ${_linux64} \ 218 linuxkpi \ 219 ${_lio} \ 220 lpt \ 221 mac_biba \ 222 mac_bsdextended \ 223 mac_ifoff \ 224 mac_lomac \ 225 mac_mls \ 226 mac_none \ 227 mac_ntpd \ 228 mac_partition \ 229 mac_portacl \ 230 mac_seeotheruids \ 231 mac_stub \ 232 mac_test \ 233 malo \ 234 md \ 235 mdio \ 236 mem \ 237 mfi \ 238 mii \ 239 mlx \ 240 ${_mlx4} \ 241 ${_mlx4ib} \ 242 ${_mlx4en} \ 243 ${_mlx5} \ 244 ${_mlx5en} \ 245 ${_mlx5ib} \ 246 ${_mly} \ 247 mmc \ 248 mmcsd \ 249 ${_mpr} \ 250 ${_mps} \ 251 mpt \ 252 mqueue \ 253 mrsas \ 254 msdosfs \ 255 msdosfs_iconv \ 256 msk \ 257 ${_mthca} \ 258 mvs \ 259 mwl \ 260 ${_mwlfw} \ 261 mxge \ 262 my \ 263 ${_nandfs} \ 264 ${_nandsim} \ 265 ${_nctgpio} \ 266 ${_ndis} \ 267 ${_netgraph} \ 268 ${_nfe} \ 269 nfscl \ 270 nfscommon \ 271 nfsd \ 272 nfslock \ 273 nfslockd \ 274 nfssvc \ 275 nge \ 276 nmdm \ 277 nullfs \ 278 ${_ntb} \ 279 ${_nvd} \ 280 ${_nvdimm} \ 281 ${_nvme} \ 282 ${_nvram} \ 283 oce \ 284 ${_ocs_fc} \ 285 otus \ 286 ${_otusfw} \ 287 ow \ 288 ${_padlock} \ 289 ${_padlock_rng} \ 290 ${_pccard} \ 291 ${_pcfclock} \ 292 pcn \ 293 ${_pf} \ 294 ${_pflog} \ 295 ${_pfsync} \ 296 plip \ 297 ${_pms} \ 298 ppbus \ 299 ppc \ 300 ppi \ 301 pps \ 302 procfs \ 303 proto \ 304 pseudofs \ 305 ${_pst} \ 306 pty \ 307 puc \ 308 ${_qlxge} \ 309 ${_qlxgb} \ 310 ${_qlxgbe} \ 311 ${_qlnx} \ 312 ral \ 313 ${_ralfw} \ 314 ${_random_fortuna} \ 315 ${_random_other} \ 316 rc4 \ 317 ${_rdma} \ 318 ${_rdrand_rng} \ 319 re \ 320 rl \ 321 ${_rockchip} \ 322 rtwn \ 323 rtwn_pci \ 324 rtwn_usb \ 325 ${_rtwnfw} \ 326 ${_s3} \ 327 ${_safe} \ 328 ${_sbni} \ 329 scc \ 330 sdhci \ 331 ${_sdhci_acpi} \ 332 sdhci_pci \ 333 sem \ 334 send \ 335 ${_sf} \ 336 ${_sfxge} \ 337 sge \ 338 ${_sgx} \ 339 ${_sgx_linux} \ 340 siftr \ 341 siis \ 342 sis \ 343 sk \ 344 ${_smartpqi} \ 345 smbfs \ 346 sn \ 347 snp \ 348 sound \ 349 ${_speaker} \ 350 spi \ 351 ${_splash} \ 352 ${_sppp} \ 353 ste \ 354 stge \ 355 ${_sym} \ 356 ${_syscons} \ 357 sysvipc \ 358 tcp \ 359 ${_ti} \ 360 tl \ 361 tmpfs \ 362 ${_toecore} \ 363 ${_tpm} \ 364 trm \ 365 ${_twa} \ 366 twe \ 367 tws \ 368 tx \ 369 ${_txp} \ 370 uart \ 371 ubsec \ 372 udf \ 373 udf_iconv \ 374 ufs \ 375 uinput \ 376 unionfs \ 377 usb \ 378 ${_vesa} \ 379 ${_virtio} \ 380 vge \ 381 ${_viawd} \ 382 videomode \ 383 vkbd \ 384 ${_vmm} \ 385 ${_vmware} \ 386 ${_vpo} \ 387 vr \ 388 vte \ 389 vx \ 390 wb \ 391 ${_wbwd} \ 392 ${_wi} \ 393 wlan \ 394 wlan_acl \ 395 wlan_amrr \ 396 wlan_ccmp \ 397 wlan_rssadapt \ 398 wlan_tkip \ 399 wlan_wep \ 400 wlan_xauth \ 401 ${_wpi} \ 402 ${_wpifw} \ 403 ${_x86bios} \ 404 ${_xe} \ 405 xl \ 406 xz \ 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 !empty(OPT_FDT) 477SUBDIR+= fdt 478.endif 479 480.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ 481 ${MACHINE_CPUARCH} == "i386" 482SUBDIR+= linprocfs 483SUBDIR+= linsysfs 484_ena= ena 485.if ${MK_OFED} != "no" || defined(ALL_MODULES) 486_ibcore= ibcore 487_ipoib= ipoib 488_iser= iser 489.endif 490_mlx4= mlx4 491_mlx5= mlx5 492.if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \ 493 defined(ALL_MODULES) 494_mlx4en= mlx4en 495_mlx5en= mlx5en 496.endif 497.if ${MK_OFED} != "no" || defined(ALL_MODULES) 498_mthca= mthca 499_mlx4ib= mlx4ib 500_mlx5ib= mlx5ib 501.endif 502.endif 503 504.if ${MK_NAND} != "no" || defined(ALL_MODULES) 505_nandfs= nandfs 506_nandsim= nandsim 507.endif 508 509.if ${MK_NETGRAPH} != "no" || defined(ALL_MODULES) 510_netgraph= netgraph 511.endif 512 513.if (${MK_PF} != "no" && (${MK_INET_SUPPORT} != "no" || \ 514 ${MK_INET6_SUPPORT} != "no")) || defined(ALL_MODULES) 515_pf= pf 516_pflog= pflog 517.if ${MK_INET_SUPPORT} != "no" 518_pfsync= pfsync 519.endif 520.endif 521 522.if ${MK_SOURCELESS_UCODE} != "no" 523_bce= bce 524_fxp= fxp 525_ispfw= ispfw 526_sf= sf 527_ti= ti 528_txp= txp 529 530.if ${MACHINE_CPUARCH} != "mips" 531_mwlfw= mwlfw 532_otusfw= otusfw 533_ralfw= ralfw 534_rtwnfw= rtwnfw 535.endif 536.endif 537 538.if ${MK_SOURCELESS_UCODE} != "no" && ${MACHINE_CPUARCH} != "arm" && \ 539 ${MACHINE_CPUARCH} != "mips" && \ 540 ${MACHINE_ARCH} != "powerpc" && ${MACHINE_ARCH} != "powerpcspe" && \ 541 ${MACHINE_CPUARCH} != "riscv" 542_cxgbe= cxgbe 543.endif 544 545# These rely on 64bit atomics 546.if ${MACHINE_ARCH} != "powerpc" && ${MACHINE_ARCH} != "powerpcspe" && \ 547 ${MACHINE_CPUARCH} != "mips" 548_mps= mps 549_mpr= mpr 550.endif 551 552.if ${MK_TESTS} != "no" || defined(ALL_MODULES) 553SUBDIR+= tests 554.endif 555 556.if ${MK_ZFS} != "no" || defined(ALL_MODULES) 557SUBDIR+= zfs 558.endif 559 560.if (${MACHINE_CPUARCH} == "mips" && ${MACHINE_ARCH:Mmips64} == "") 561_hwpmc_mips24k= hwpmc_mips24k 562_hwpmc_mips74k= hwpmc_mips74k 563.endif 564 565.if ${MACHINE_CPUARCH} != "aarch64" && ${MACHINE_CPUARCH} != "arm" && \ 566 ${MACHINE_CPUARCH} != "mips" && ${MACHINE_CPUARCH} != "powerpc" && \ 567 ${MACHINE_CPUARCH} != "riscv" 568_syscons= syscons 569_vpo= vpo 570.endif 571 572.if ${MACHINE_CPUARCH} != "mips" 573# no BUS_SPACE_UNSPECIFIED 574# No barrier instruction support (specific to this driver) 575_sym= sym 576# intr_disable() is a macro, causes problems 577.if ${MK_SOURCELESS_UCODE} != "no" 578_cxgb= cxgb 579.endif 580.endif 581 582.if ${MACHINE_CPUARCH} == "aarch64" 583_allwinner= allwinner 584_armv8crypto= armv8crypto 585_efirt= efirt 586_em= em 587_rockchip= rockchip 588.endif 589 590.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" 591_agp= agp 592_an= an 593_aout= aout 594_bios= bios 595_bktr= bktr 596.if ${MK_SOURCELESS_UCODE} != "no" 597_bxe= bxe 598.endif 599_cardbus= cardbus 600_cbb= cbb 601_cpuctl= cpuctl 602_cpufreq= cpufreq 603_cs= cs 604_dpms= dpms 605_ed= ed 606_em= em 607_ep= ep 608_et= et 609_exca= exca 610_fe= fe 611_if_ndis= if_ndis 612_io= io 613_ix= ix 614_ixv= ixv 615_linux= linux 616.if ${MK_SOURCELESS_UCODE} != "no" 617_lio= lio 618.endif 619_nctgpio= nctgpio 620_ndis= ndis 621_ocs_fc= ocs_fc 622_pccard= pccard 623.if ${MK_OFED} != "no" || defined(ALL_MODULES) 624_rdma= rdma 625.endif 626_safe= safe 627_speaker= speaker 628_splash= splash 629_sppp= sppp 630_vmware= vmware 631_wbwd= wbwd 632_wi= wi 633_xe= xe 634 635_aac= aac 636_aacraid= aacraid 637_acpi= acpi 638.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 639.if ${COMPILER_TYPE} != "gcc" || ${COMPILER_VERSION} > 40201 640_aesni= aesni 641.endif 642.endif 643_amd_ecc_inject=amd_ecc_inject 644_amdsbwd= amdsbwd 645_amdsmn= amdsmn 646_amdtemp= amdtemp 647_arcmsr= arcmsr 648_asmc= asmc 649.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 650_blake2= blake2 651.endif 652_bytgpio= bytgpio 653_chvgpio= chvgpio 654_ciss= ciss 655_chromebook_platform= chromebook_platform 656_cmx= cmx 657_coretemp= coretemp 658.if ${MK_SOURCELESS_HOST} != "no" 659_hpt27xx= hpt27xx 660.endif 661_hptiop= hptiop 662.if ${MK_SOURCELESS_HOST} != "no" 663_hptmv= hptmv 664_hptnr= hptnr 665_hptrr= hptrr 666.endif 667_hyperv= hyperv 668_ichwd= ichwd 669_ida= ida 670_iir= iir 671_intelspi= intelspi 672_ipmi= ipmi 673_ips= ips 674_isci= isci 675_ipw= ipw 676_iwi= iwi 677_iwm= iwm 678_iwn= iwn 679.if ${MK_SOURCELESS_UCODE} != "no" 680_ipwfw= ipwfw 681_iwifw= iwifw 682_iwmfw= iwmfw 683_iwnfw= iwnfw 684.endif 685_mly= mly 686_nfe= nfe 687_nvd= nvd 688_nvme= nvme 689_nvram= nvram 690.if ${MK_CRYPT} != "no" || defined(ALL_MODULES) 691_padlock= padlock 692_padlock_rng= padlock_rng 693_rdrand_rng= rdrand_rng 694.endif 695_s3= s3 696_sdhci_acpi= sdhci_acpi 697_tpm= tpm 698_twa= twa 699_vesa= vesa 700_viawd= viawd 701_virtio= virtio 702_wpi= wpi 703.if ${MK_SOURCELESS_UCODE} != "no" 704_wpifw= wpifw 705.endif 706_x86bios= x86bios 707.endif 708 709.if ${MACHINE_CPUARCH} == "amd64" 710_amdgpio= amdgpio 711_ccp= ccp 712_efirt= efirt 713_iavf= iavf 714_ioat= ioat 715_ixl= ixl 716_linux64= linux64 717_linux_common= linux_common 718_ntb= ntb 719_nvdimm= nvdimm 720_pms= pms 721_qlxge= qlxge 722_qlxgb= qlxgb 723.if ${MK_SOURCELESS_UCODE} != "no" 724_qlxgbe= qlxgbe 725_qlnx= qlnx 726.endif 727_sfxge= sfxge 728_sgx= sgx 729_sgx_linux= sgx_linux 730_smartpqi= smartpqi 731 732.if ${MK_BHYVE} != "no" || defined(ALL_MODULES) 733_vmm= vmm 734.endif 735.endif 736 737.if ${MACHINE_CPUARCH} == "i386" 738# XXX some of these can move to the general case when de-i386'ed 739# XXX some of these can move now, but are untested on other architectures. 740_3dfx= 3dfx 741_3dfx_linux= 3dfx_linux 742_apm= apm 743.if ${MK_SOURCELESS_UCODE} != "no" 744_ce= ce 745.endif 746.if ${MK_SOURCELESS_UCODE} != "no" 747_cp= cp 748.endif 749_glxiic= glxiic 750_glxsb= glxsb 751_pcfclock= pcfclock 752_pst= pst 753_sbni= sbni 754.if ${MK_SOURCELESS_UCODE} != "no" 755_ctau= ctau 756.endif 757_ex= ex 758.endif 759 760.if ${MACHINE_CPUARCH} == "arm" 761_cfi= cfi 762_cpsw= cpsw 763.endif 764 765.if ${MACHINE_CPUARCH} == "powerpc" 766_agp= agp 767_an= an 768_bm= bm 769_cardbus= cardbus 770_cbb= cbb 771_cfi= cfi 772_cpufreq= cpufreq 773_exca= exca 774_ffec= ffec 775_nvd= nvd 776_nvme= nvme 777_pccard= pccard 778_wi= wi 779.endif 780 781.if ${MACHINE_ARCH} == "powerpc64" 782_ipmi= ipmi 783.endif 784.if ${MACHINE_ARCH} == "powerpc64" || ${MACHINE_ARCH} == "powerpc" 785# Don't build powermac_nvram for powerpcspe, it's never supported. 786_nvram= powermac_nvram 787.endif 788 789.if ${MACHINE_CPUARCH} == "sparc64" 790_auxio= auxio 791_em= em 792_epic= epic 793.endif 794 795.if (${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ 796 ${MACHINE_ARCH:Marmv[67]*} != "" || ${MACHINE_CPUARCH} == "i386") 797_cloudabi32= cloudabi32 798.endif 799.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" 800_cloudabi64= cloudabi64 801.endif 802 803.endif 804 805.if ${MACHINE_ARCH:Marmv[67]*} != "" || ${MACHINE_CPUARCH} == "aarch64" 806_bcm283x_clkman= bcm283x_clkman 807_bcm283x_pwm= bcm283x_pwm 808.endif 809 810SUBDIR+=${MODULES_EXTRA} 811 812.for reject in ${WITHOUT_MODULES} 813SUBDIR:= ${SUBDIR:N${reject}} 814.endfor 815 816# Calling kldxref(8) for each module is expensive. 817.if !defined(NO_XREF) 818.MAKEFLAGS+= -DNO_XREF 819afterinstall: .PHONY 820 @if type kldxref >/dev/null 2>&1; then \ 821 ${ECHO} kldxref ${DESTDIR}${KMODDIR}; \ 822 kldxref ${DESTDIR}${KMODDIR}; \ 823 fi 824.endif 825 826.include "${SYSDIR}/conf/config.mk" 827 828SUBDIR:= ${SUBDIR:u:O} 829 830.include <bsd.subdir.mk> 831