# Generated file; do not modify.
subdir('AccountPolicy')
generated_others += custom_target(
    'xyz/openbmc_project/User/AccountPolicy__markdown'.underscorify(),
    input: [ meson.project_source_root() / 'xyz/openbmc_project/User/AccountPolicy.interface.yaml',  ],
    output: [ 'AccountPolicy.md' ],
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.project_source_root(),
        'xyz/openbmc_project/User/AccountPolicy',
    ],
    build_by_default: true,
)

subdir('Attributes')
generated_others += custom_target(
    'xyz/openbmc_project/User/Attributes__markdown'.underscorify(),
    input: [ meson.project_source_root() / 'xyz/openbmc_project/User/Attributes.interface.yaml',  ],
    output: [ 'Attributes.md' ],
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.project_source_root(),
        'xyz/openbmc_project/User/Attributes',
    ],
    build_by_default: true,
)

subdir('Common')
generated_others += custom_target(
    'xyz/openbmc_project/User/Common__markdown'.underscorify(),
    input: [ meson.project_source_root() / 'xyz/openbmc_project/User/Common.errors.yaml',  ],
    output: [ 'Common.md' ],
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.project_source_root(),
        'xyz/openbmc_project/User/Common',
    ],
    build_by_default: true,
)

subdir('Ldap')
subdir('Manager')
generated_others += custom_target(
    'xyz/openbmc_project/User/Manager__markdown'.underscorify(),
    input: [ meson.project_source_root() / 'xyz/openbmc_project/User/Manager.interface.yaml',  ],
    output: [ 'Manager.md' ],
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.project_source_root(),
        'xyz/openbmc_project/User/Manager',
    ],
    build_by_default: true,
)

subdir('PrivilegeMapper')
generated_others += custom_target(
    'xyz/openbmc_project/User/PrivilegeMapper__markdown'.underscorify(),
    input: [ meson.project_source_root() / 'xyz/openbmc_project/User/PrivilegeMapper.interface.yaml',  ],
    output: [ 'PrivilegeMapper.md' ],
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.project_source_root(),
        'xyz/openbmc_project/User/PrivilegeMapper',
    ],
    build_by_default: true,
)

subdir('PrivilegeMapperEntry')
generated_others += custom_target(
    'xyz/openbmc_project/User/PrivilegeMapperEntry__markdown'.underscorify(),
    input: [ meson.project_source_root() / 'xyz/openbmc_project/User/PrivilegeMapperEntry.interface.yaml',  ],
    output: [ 'PrivilegeMapperEntry.md' ],
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.project_source_root(),
        'xyz/openbmc_project/User/PrivilegeMapperEntry',
    ],
    build_by_default: true,
)

