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

subdir('DHCPConfiguration')
generated_others += custom_target(
    'xyz/openbmc_project/Network/DHCPConfiguration__markdown'.underscorify(),
    input: [ '../../../../xyz/openbmc_project/Network/DHCPConfiguration.interface.yaml',  ],
    output: [ 'DHCPConfiguration.md' ],
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.current_source_dir() / '../../../..',
        'xyz/openbmc_project/Network/DHCPConfiguration',
    ],
)

subdir('EthernetInterface')
generated_others += custom_target(
    'xyz/openbmc_project/Network/EthernetInterface__markdown'.underscorify(),
    input: [ '../../../../xyz/openbmc_project/Network/EthernetInterface.interface.yaml',  ],
    output: [ 'EthernetInterface.md' ],
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.current_source_dir() / '../../../..',
        'xyz/openbmc_project/Network/EthernetInterface',
    ],
)

subdir('Experimental')
subdir('IP')
generated_others += custom_target(
    'xyz/openbmc_project/Network/IP__markdown'.underscorify(),
    input: [ '../../../../xyz/openbmc_project/Network/IP.interface.yaml',  ],
    output: [ 'IP.md' ],
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.current_source_dir() / '../../../..',
        'xyz/openbmc_project/Network/IP',
    ],
)

subdir('MACAddress')
generated_others += custom_target(
    'xyz/openbmc_project/Network/MACAddress__markdown'.underscorify(),
    input: [ '../../../../xyz/openbmc_project/Network/MACAddress.interface.yaml',  ],
    output: [ 'MACAddress.md' ],
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.current_source_dir() / '../../../..',
        'xyz/openbmc_project/Network/MACAddress',
    ],
)

subdir('Neighbor')
generated_others += custom_target(
    'xyz/openbmc_project/Network/Neighbor__markdown'.underscorify(),
    input: [ '../../../../xyz/openbmc_project/Network/Neighbor.interface.yaml',  ],
    output: [ 'Neighbor.md' ],
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.current_source_dir() / '../../../..',
        'xyz/openbmc_project/Network/Neighbor',
    ],
)

subdir('SystemConfiguration')
generated_others += custom_target(
    'xyz/openbmc_project/Network/SystemConfiguration__markdown'.underscorify(),
    input: [ '../../../../xyz/openbmc_project/Network/SystemConfiguration.interface.yaml',  ],
    output: [ 'SystemConfiguration.md' ],
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.current_source_dir() / '../../../..',
        'xyz/openbmc_project/Network/SystemConfiguration',
    ],
)

subdir('VLAN')
generated_others += custom_target(
    'xyz/openbmc_project/Network/VLAN__markdown'.underscorify(),
    input: [ '../../../../xyz/openbmc_project/Network/VLAN.interface.yaml',  ],
    output: [ 'VLAN.md' ],
    command: [
        sdbuspp_gen_meson_prog, '--command', 'markdown',
        '--output', meson.current_build_dir(),
        '--tool', sdbusplusplus_prog,
        '--directory', meson.current_source_dir() / '../../../..',
        'xyz/openbmc_project/Network/VLAN',
    ],
)

