# 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' ],
    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/Association',
    ],
)

subdir('Attestation')
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' ],
    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/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' ],
    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/Common',
    ],
)

subdir('Condition')
subdir('Console')
subdir('Control')
subdir('Debug')
subdir('Dump')
subdir('HardwareIsolation')
generated_others += custom_target(
    'xyz/openbmc_project/HardwareIsolation__markdown'.underscorify(),
    input: [ '../../../yaml/xyz/openbmc_project/HardwareIsolation.errors.yaml',  ],
    output: [ 'HardwareIsolation.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/HardwareIsolation',
    ],
)

subdir('Inventory')
generated_others += custom_target(
    'xyz/openbmc_project/Inventory__markdown'.underscorify(),
    input: [ '../../../yaml/xyz/openbmc_project/Inventory.errors.yaml',  ],
    output: [ 'Inventory.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/Inventory',
    ],
)

subdir('Ipmi')
subdir('Led')
subdir('Logging')
subdir('MCTP')
subdir('Memory')
subdir('Metric')
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' ],
    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/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' ],
    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/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' ],
    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/Time',
    ],
)

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