# Generated file; do not modify.
subdir('Mode')
generated_others += custom_target(
    'xyz/openbmc_project/Control/Boot/Mode__markdown'.underscorify(),
    input: [ '../../../../../xyz/openbmc_project/Control/Boot/Mode.interface.yaml',  ],
    output: [ 'Mode.md' ],
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.current_source_dir() / '../../../../..',
        'xyz/openbmc_project/Control/Boot/Mode',
    ],
)

subdir('RebootAttempts')
generated_others += custom_target(
    'xyz/openbmc_project/Control/Boot/RebootAttempts__markdown'.underscorify(),
    input: [ '../../../../../xyz/openbmc_project/Control/Boot/RebootAttempts.interface.yaml',  ],
    output: [ 'RebootAttempts.md' ],
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.current_source_dir() / '../../../../..',
        'xyz/openbmc_project/Control/Boot/RebootAttempts',
    ],
)

subdir('RebootPolicy')
generated_others += custom_target(
    'xyz/openbmc_project/Control/Boot/RebootPolicy__markdown'.underscorify(),
    input: [ '../../../../../xyz/openbmc_project/Control/Boot/RebootPolicy.interface.yaml',  ],
    output: [ 'RebootPolicy.md' ],
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.current_source_dir() / '../../../../..',
        'xyz/openbmc_project/Control/Boot/RebootPolicy',
    ],
)

subdir('Source')
generated_others += custom_target(
    'xyz/openbmc_project/Control/Boot/Source__markdown'.underscorify(),
    input: [ '../../../../../xyz/openbmc_project/Control/Boot/Source.interface.yaml',  ],
    output: [ 'Source.md' ],
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.current_source_dir() / '../../../../..',
        'xyz/openbmc_project/Control/Boot/Source',
    ],
)

subdir('Type')
generated_others += custom_target(
    'xyz/openbmc_project/Control/Boot/Type__markdown'.underscorify(),
    input: [ '../../../../../xyz/openbmc_project/Control/Boot/Type.interface.yaml',  ],
    output: [ 'Type.md' ],
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.current_source_dir() / '../../../../..',
        'xyz/openbmc_project/Control/Boot/Type',
    ],
)

