# Generated file; do not modify.
generated_sources += custom_target(
    'xyz/openbmc_project/Inventory/Item__cpp'.underscorify(),
    input: [ '../../../../../yaml/xyz/openbmc_project/Inventory/Item.interface.yaml',  ],
    output: [ 'server.cpp', 'server.hpp', 'client.hpp',  ],
    command: [
        sdbuspp_gen_meson_prog, '--command', 'cpp',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.current_source_dir() / '../../../../../yaml',
        'xyz/openbmc_project/Inventory/Item',
    ],
)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

