# Generated file; do not modify.
subdir('ACPIPowerState')
generated_others += custom_target(
    'xyz/openbmc_project/Control/Power/ACPIPowerState__markdown'.underscorify(),
    input: [ '../../../../../xyz/openbmc_project/Control/Power/ACPIPowerState.interface.yaml',  ],
    output: [ 'ACPIPowerState.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/Power/ACPIPowerState',
    ],
)

subdir('Cap')
generated_others += custom_target(
    'xyz/openbmc_project/Control/Power/Cap__markdown'.underscorify(),
    input: [ '../../../../../xyz/openbmc_project/Control/Power/Cap.interface.yaml',  ],
    output: [ 'Cap.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/Power/Cap',
    ],
)

subdir('Mode')
generated_others += custom_target(
    'xyz/openbmc_project/Control/Power/Mode__markdown'.underscorify(),
    input: [ '../../../../../xyz/openbmc_project/Control/Power/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/Power/Mode',
    ],
)

subdir('RestorePolicy')
generated_others += custom_target(
    'xyz/openbmc_project/Control/Power/RestorePolicy__markdown'.underscorify(),
    input: [ '../../../../../xyz/openbmc_project/Control/Power/RestorePolicy.interface.yaml',  ],
    output: [ 'RestorePolicy.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/Power/RestorePolicy',
    ],
)

