1 2include_dirs = ['.', '..'] 3 4deps = [ 5 phosphor_dbus_interfaces_dep, 6 phosphor_logging_dep, 7 sdbusplus_dep, 8 sdeventplus_dep, 9 cereal_dep, 10] 11 12sources = ['main.cpp'] 13 14if conf.has('CONTROL_USE_JSON') 15 deps += nlohmann_json_dep 16 include_dirs += ['./json', './json/actions', './json/triggers'] 17 sources += [ 18 'json/dbus_zone.cpp', 19 'json/event.cpp', 20 'json/fan.cpp', 21 'json/group.cpp', 22 'json/manager.cpp', 23 'json/profile.cpp', 24 'json/zone.cpp', 25 'json/actions/count_state_floor.cpp', 26 'json/actions/count_state_target.cpp', 27 'json/actions/default_floor.cpp', 28 'json/actions/get_managed_objects.cpp', 29 'json/actions/mapped_floor.cpp', 30 'json/actions/missing_owner_target.cpp', 31 'json/actions/net_target_decrease.cpp', 32 'json/actions/net_target_increase.cpp', 33 'json/actions/override_fan_target.cpp', 34 'json/actions/pcie_card_floors.cpp', 35 'json/actions/request_target_base.cpp', 36 'json/actions/set_parameter_from_group_max.cpp', 37 'json/actions/target_from_group_max.cpp', 38 'json/actions/timer_based_actions.cpp', 39 'json/utils/flight_recorder.cpp', 40 'json/utils/modifier.cpp', 41 'json/utils/pcie_card_metadata.cpp', 42 'json/triggers/init.cpp', 43 'json/triggers/parameter.cpp', 44 'json/triggers/signal.cpp', 45 'json/triggers/timer.cpp', 46 ] 47else 48 script = files('gen-fan-zone-defs.py') 49 fan_zone_defs_cpp_dep = custom_target( 50 'fan_zone_defs.cpp', 51 input: files( 52 conf.get_unquoted('FAN_DEF_YAML_FILE'), 53 conf.get_unquoted('FAN_ZONE_YAML_FILE'), 54 conf.get_unquoted('ZONE_EVENTS_YAML_FILE'), 55 conf.get_unquoted('ZONE_CONDITIONS_YAML_FILE'), 56 ), 57 command: [ 58 python_prog, 59 script, 60 '-f', 61 '@INPUT0@', 62 '-z', 63 '@INPUT1@', 64 '-e', 65 '@INPUT2@', 66 '-c', 67 '@INPUT3@', 68 '-o', 69 'control', 70 ], 71 output: 'fan_zone_defs.cpp', 72 ) 73 74 sources += [ 75 'actions.cpp', 76 'fan.cpp', 77 fan_zone_defs_cpp_dep, 78 'manager.cpp', 79 'preconditions.cpp', 80 'triggers.cpp', 81 'utility.cpp', 82 'zone.cpp', 83 ] 84 85endif 86 87phosphor_fan_control_include_directories = include_directories(include_dirs) 88phosphor_fan_control = executable( 89 'phosphor-fan-control', 90 sources, 91 dependencies: deps, 92 implicit_include_directories: false, 93 include_directories: phosphor_fan_control_include_directories, 94 install: true, 95) 96 97fanctl = executable( 98 'fanctl', 99 'fanctl.cpp', 100 dependencies: [ 101 cli11_dep, 102 nlohmann_json_dep, 103 phosphor_logging_dep, 104 sdbusplus_dep, 105 ], 106 include_directories: phosphor_fan_control_include_directories, 107 install: true, 108) 109