# Generated file; do not modify.
subdir('Button')
generated_others += custom_target(
    'xyz/openbmc_project/Chassis/Buttons/Button__markdown'.underscorify(),
    input: [ '../../../../../yaml/xyz/openbmc_project/Chassis/Buttons/Button.interface.yaml',  ],
    output: [ 'Button.md' ],
    depend_files: sdbusplusplus_depfiles,
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.current_source_dir() / '../../../../../yaml',
        'xyz/openbmc_project/Chassis/Buttons/Button',
    ],
)

subdir('HostSelector')
generated_others += custom_target(
    'xyz/openbmc_project/Chassis/Buttons/HostSelector__markdown'.underscorify(),
    input: [ '../../../../../yaml/xyz/openbmc_project/Chassis/Buttons/HostSelector.interface.yaml',  ],
    output: [ 'HostSelector.md' ],
    depend_files: sdbusplusplus_depfiles,
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.current_source_dir() / '../../../../../yaml',
        'xyz/openbmc_project/Chassis/Buttons/HostSelector',
    ],
)

subdir('ID')
generated_others += custom_target(
    'xyz/openbmc_project/Chassis/Buttons/ID__markdown'.underscorify(),
    input: [ '../../../../../yaml/xyz/openbmc_project/Chassis/Buttons/ID.interface.yaml',  ],
    output: [ 'ID.md' ],
    depend_files: sdbusplusplus_depfiles,
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.current_source_dir() / '../../../../../yaml',
        'xyz/openbmc_project/Chassis/Buttons/ID',
    ],
)

subdir('NMI')
generated_others += custom_target(
    'xyz/openbmc_project/Chassis/Buttons/NMI__markdown'.underscorify(),
    input: [ '../../../../../yaml/xyz/openbmc_project/Chassis/Buttons/NMI.interface.yaml',  ],
    output: [ 'NMI.md' ],
    depend_files: sdbusplusplus_depfiles,
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.current_source_dir() / '../../../../../yaml',
        'xyz/openbmc_project/Chassis/Buttons/NMI',
    ],
)

subdir('Power')
generated_others += custom_target(
    'xyz/openbmc_project/Chassis/Buttons/Power__markdown'.underscorify(),
    input: [ '../../../../../yaml/xyz/openbmc_project/Chassis/Buttons/Power.interface.yaml',  ],
    output: [ 'Power.md' ],
    depend_files: sdbusplusplus_depfiles,
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.current_source_dir() / '../../../../../yaml',
        'xyz/openbmc_project/Chassis/Buttons/Power',
    ],
)

subdir('Reset')
generated_others += custom_target(
    'xyz/openbmc_project/Chassis/Buttons/Reset__markdown'.underscorify(),
    input: [ '../../../../../yaml/xyz/openbmc_project/Chassis/Buttons/Reset.interface.yaml',  ],
    output: [ 'Reset.md' ],
    depend_files: sdbusplusplus_depfiles,
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.current_source_dir() / '../../../../../yaml',
        'xyz/openbmc_project/Chassis/Buttons/Reset',
    ],
)

