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

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

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

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

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

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

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

