blob: cbbea5407deee9d313ea7aef8e2eab2aad010b37 [file] [log] [blame]
Mike Cappsa0819562022-06-13 10:17:10 -04001
Patrick Williamsf5f87ca2025-02-01 08:36:20 -05002include_dirs = ['.', '..']
Mike Cappsa0819562022-06-13 10:17:10 -04003
Patrick Williamsf5f87ca2025-02-01 08:36:20 -05004deps = [
Mike Cappsa0819562022-06-13 10:17:10 -04005 phosphor_dbus_interfaces_dep,
6 phosphor_logging_dep,
7 sdbusplus_dep,
Patrick Williams1a56c2b2023-07-17 12:07:23 -05008 sdeventplus_dep,
9 cereal_dep,
Mike Cappsa0819562022-06-13 10:17:10 -040010]
11
12sources = ['main.cpp']
13
14if conf.has('CONTROL_USE_JSON')
Patrick Williamsef17a252023-12-07 14:53:06 -060015 deps += nlohmann_json_dep
Patrick Williamsf5f87ca2025-02-01 08:36:20 -050016 include_dirs += ['./json', './json/actions', './json/triggers']
Mike Cappsa0819562022-06-13 10:17:10 -040017 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',
chaul.amperebb29bb72022-08-11 08:01:05 +000037 'json/actions/target_from_group_max.cpp',
Mike Cappsa0819562022-06-13 10:17:10 -040038 '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',
Patrick Williamsf5f87ca2025-02-01 08:36:20 -050045 'json/triggers/timer.cpp',
Mike Cappsa0819562022-06-13 10:17:10 -040046 ]
47else
48 fan_zone_defs_cpp_dep = custom_target(
49 'fan_zone_defs.cpp',
50 input: files(
Mike Cappsa0819562022-06-13 10:17:10 -040051 conf.get_unquoted('FAN_DEF_YAML_FILE'),
52 conf.get_unquoted('FAN_ZONE_YAML_FILE'),
53 conf.get_unquoted('ZONE_EVENTS_YAML_FILE'),
Patrick Williamsf5f87ca2025-02-01 08:36:20 -050054 conf.get_unquoted('ZONE_CONDITIONS_YAML_FILE'),
55 './gen-fan-zone-defs.py',
Mike Cappsa0819562022-06-13 10:17:10 -040056 ),
57 command: [
Patrick Williamsf5f87ca2025-02-01 08:36:20 -050058 python_prog,
59 '@INPUT0@',
60 '-f',
61 '@INPUT1@',
62 '-z',
63 '@INPUT2@',
64 '-e',
65 '@INPUT3@',
66 '-c',
67 '@INPUT4@',
68 '-o',
69 'control',
Mike Cappsa0819562022-06-13 10:17:10 -040070 ],
Patrick Williamsf5f87ca2025-02-01 08:36:20 -050071 output: 'fan_zone_defs.cpp',
Mike Cappsa0819562022-06-13 10:17:10 -040072 )
73
74 sources += [
75 'actions.cpp',
Mike Cappsa0819562022-06-13 10:17:10 -040076 'fan.cpp',
77 fan_zone_defs_cpp_dep,
78 'manager.cpp',
79 'preconditions.cpp',
80 'triggers.cpp',
81 'utility.cpp',
Patrick Williamsf5f87ca2025-02-01 08:36:20 -050082 'zone.cpp',
Mike Cappsa0819562022-06-13 10:17:10 -040083 ]
84
85endif
86
87phosphor_fan_control_include_directories = include_directories(include_dirs)
88phosphor_fan_control = executable(
89 'phosphor-fan-control',
90 sources,
Patrick Williamsf5f87ca2025-02-01 08:36:20 -050091 dependencies: deps,
Mike Cappsa0819562022-06-13 10:17:10 -040092 implicit_include_directories: false,
93 include_directories: phosphor_fan_control_include_directories,
Patrick Williamsf5f87ca2025-02-01 08:36:20 -050094 install: true,
Mike Cappsa0819562022-06-13 10:17:10 -040095)
96
97fanctl = executable(
Patrick Williamsf5f87ca2025-02-01 08:36:20 -050098 '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,
Mike Cappsa0819562022-06-13 10:17:10 -0400108)