1modbus_rtu_lib = static_library( 2 'modbus_rtu_lib', 3 [ 4 'modbus/modbus.cpp', 5 'modbus/modbus_commands.cpp', 6 'modbus/modbus_message.cpp', 7 ], 8 include_directories: ['.'], 9 dependencies: [default_deps], 10) 11 12modbus_rtu_port_lib = static_library( 13 'modbus_rtu_port_lib', 14 ['port/base_port.cpp', 'port/port_factory.cpp', 'port/usb_port.cpp'], 15 include_directories: ['.', common_include], 16 link_with: [modbus_rtu_lib, modbus_common_lib], 17 dependencies: [default_deps], 18) 19 20modbus_rtu_dep = declare_dependency( 21 include_directories: ['.'], 22 link_with: [modbus_rtu_lib, modbus_rtu_port_lib], 23 dependencies: [default_deps], 24) 25 26inventory_src = files('inventory/modbus_inventory.cpp') 27 28device_src = files( 29 'device/base_config.cpp', 30 'device/base_device.cpp', 31 'device/device_factory.cpp', 32 'device/reservoir_pump_unit.cpp', 33) 34 35firmware_src = files('firmware/device_firmware.cpp') 36 37executable( 38 'phosphor-modbus-rtu', 39 ['device_manager.cpp', inventory_src, device_src, firmware_src], 40 include_directories: ['.', common_include], 41 dependencies: [default_deps], 42 link_with: [modbus_common_lib, modbus_rtu_lib, modbus_rtu_port_lib], 43 install: true, 44 install_dir: get_option('libexecdir') / 'phosphor-modbus', 45) 46 47systemd_system_unit_dir = dependency('systemd').get_variable( 48 'systemdsystemunitdir', 49 pkgconfig_define: ['prefix', get_option('prefix')], 50) 51 52install_data( 53 'xyz.openbmc_project.ModbusRTU.service', 54 install_dir: systemd_system_unit_dir, 55) 56