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

subdir('BIOSConfig')
subdir('Certs')
generated_others += custom_target(
    'xyz/openbmc_project/Certs__markdown'.underscorify(),
    input: [ '../../../yaml/xyz/openbmc_project/Certs.errors.yaml',  ],
    output: [ 'Certs.md' ],
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.current_source_dir() / '../../../yaml',
        'xyz/openbmc_project/Certs',
    ],
)

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

subdir('Condition')
subdir('Control')
subdir('Dump')
subdir('HardwareIsolation')
subdir('Inventory')
generated_others += custom_target(
    'xyz/openbmc_project/Inventory__markdown'.underscorify(),
    input: [ '../../../yaml/xyz/openbmc_project/Inventory.errors.yaml',  ],
    output: [ 'Inventory.md' ],
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.current_source_dir() / '../../../yaml',
        'xyz/openbmc_project/Inventory',
    ],
)

subdir('Ipmi')
subdir('Led')
subdir('Logging')
subdir('MCTP')
subdir('Memory')
subdir('Network')
subdir('Nvme')
subdir('Object')
subdir('ObjectMapper')
generated_others += custom_target(
    'xyz/openbmc_project/ObjectMapper__markdown'.underscorify(),
    input: [ '../../../yaml/xyz/openbmc_project/ObjectMapper.interface.yaml',  ],
    output: [ 'ObjectMapper.md' ],
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.current_source_dir() / '../../../yaml',
        'xyz/openbmc_project/ObjectMapper',
    ],
)

subdir('PFR')
subdir('PLDM')
subdir('ScheduledTime')
generated_others += custom_target(
    'xyz/openbmc_project/ScheduledTime__markdown'.underscorify(),
    input: [ '../../../yaml/xyz/openbmc_project/ScheduledTime.errors.yaml',  ],
    output: [ 'ScheduledTime.md' ],
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.current_source_dir() / '../../../yaml',
        'xyz/openbmc_project/ScheduledTime',
    ],
)

subdir('Sensor')
subdir('Smbios')
subdir('Software')
subdir('State')
subdir('Telemetry')
subdir('Time')
generated_others += custom_target(
    'xyz/openbmc_project/Time__markdown'.underscorify(),
    input: [ '../../../yaml/xyz/openbmc_project/Time.errors.yaml',  ],
    output: [ 'Time.md' ],
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.current_source_dir() / '../../../yaml',
        'xyz/openbmc_project/Time',
    ],
)

subdir('User')
subdir('VirtualMedia')
