Improve overview and experiment naming
[khatus.git] / x2 / Makefile
1 MAKEFLAGS := --no-builtin-rules
2
3 PREFIX := $(HOME)
4 PATH_TO_AWK := /usr/bin/awk
5 AWK_EXECUTABLES := \
6 bin/khatus_bar \
7 bin/khatus_actuate_alert_to_notify_send \
8 bin/khatus_actuate_device_add_to_automount \
9 bin/khatus_actuate_status_bar_to_xsetroot_name \
10 bin/khatus_gen_bar_make_status \
11 bin/khatus_monitor_devices \
12 bin/khatus_monitor_energy \
13 bin/khatus_monitor_errors \
14 bin/khatus_parse_bluetoothctl_show \
15 bin/khatus_parse_df_pcent \
16 bin/khatus_parse_fan_file \
17 bin/khatus_parse_free \
18 bin/khatus_parse_ip_addr \
19 bin/khatus_parse_iwconfig \
20 bin/khatus_parse_loadavg_file \
21 bin/khatus_parse_metar_d_output \
22 bin/khatus_parse_mpd_status_currentsong \
23 bin/khatus_parse_pactl_list_sinks \
24 bin/khatus_parse_ps \
25 bin/khatus_parse_sys_block_stat \
26 bin/khatus_parse_udevadm_monitor_block \
27 bin/khatus_parse_upower
28 BASH_EXECUTABLE_NAMES := \
29 khatus \
30 khatus_sensor_bluetooth_power \
31 khatus_sensor_datetime \
32 khatus_sensor_devices \
33 khatus_sensor_disk_io \
34 khatus_sensor_disk_space \
35 khatus_sensor_energy \
36 khatus_sensor_fan \
37 khatus_sensor_loadavg \
38 khatus_sensor_memory \
39 khatus_sensor_mpd \
40 khatus_sensor_net_addr_io \
41 khatus_sensor_net_wifi_status \
42 khatus_sensor_procs \
43 khatus_sensor_screen_brightness \
44 khatus_sensor_temperature \
45 khatus_sensor_volume \
46 khatus_sensor_weather
47 BASH_EXECUTABLES := $(foreach exe,$(BASH_EXECUTABLE_NAMES),bin/$(exe))
48 EXECUTABLES := $(AWK_EXECUTABLES) $(BASH_EXECUTABLES)
49
50 define BUILD_AWK_EXE
51 echo '#! $(PATH_TO_AWK) -f' > $@ && \
52 echo 'BEGIN {Node = Node ? Node : "$(shell hostname)"}' >> $@ && \
53 echo 'BEGIN {Module = "$(notdir $@)"}' >> $@ && \
54 cat $^ >> $@ && \
55 chmod +x $@
56 endef
57
58 define BUILD_BASH_EXE
59 cat $^ > $@ && \
60 chmod +x $@
61 endef
62
63 define GEN_BASH_EXE_RULE
64 bin/$(1) : src/bash/exe/$(1).sh
65 $$(BUILD_BASH_EXE)
66 endef
67
68 .PHONY: \
69 build \
70 install \
71 clean
72
73 build: | bin
74 build: $(EXECUTABLES)
75
76 install:
77 $(foreach filename,$(wildcard bin/*),cp -p "$(filename)" "$(PREFIX)/$(filename)"; )
78
79 clean:
80 rm -rf bin
81
82 bin:
83 mkdir -p bin
84
85 #-----------------------------------------------------------------------------
86 # Bash
87 #-----------------------------------------------------------------------------
88 $(foreach exe,$(BASH_EXECUTABLE_NAMES),$(eval $(call GEN_BASH_EXE_RULE,$(exe))))
89
90 #-----------------------------------------------------------------------------
91 # AWK
92 #-----------------------------------------------------------------------------
93 bin/khatus_bar: \
94 src/awk/exe/bar.awk \
95 src/awk/lib/cache.awk \
96 src/awk/lib/str.awk \
97 src/awk/lib/msg.awk \
98 src/awk/lib/num.awk
99 $(BUILD_AWK_EXE)
100
101 bin/khatus_actuate_alert_to_notify_send: \
102 src/awk/exe/actuate_alert_to_notify_send.awk \
103 src/awk/lib/str.awk \
104 src/awk/lib/msg.awk
105 $(BUILD_AWK_EXE)
106
107 bin/khatus_actuate_device_add_to_automount: \
108 src/awk/exe/actuate_device_add_to_automount.awk \
109 src/awk/lib/str.awk \
110 src/awk/lib/msg.awk
111 $(BUILD_AWK_EXE)
112
113 bin/khatus_actuate_status_bar_to_xsetroot_name: \
114 src/awk/exe/actuate_status_bar_to_xsetroot_name.awk \
115 src/awk/lib/str.awk \
116 src/awk/lib/msg.awk
117 $(BUILD_AWK_EXE)
118
119 bin/khatus_gen_bar_make_status: \
120 src/awk/exe/gen_bar_make_status.awk
121 $(BUILD_AWK_EXE)
122
123 bin/khatus_monitor_devices: \
124 src/awk/exe/monitor_devices.awk \
125 src/awk/lib/str.awk \
126 src/awk/lib/msg.awk
127 $(BUILD_AWK_EXE)
128
129 bin/khatus_monitor_energy: \
130 src/awk/exe/monitor_energy.awk \
131 src/awk/lib/str.awk \
132 src/awk/lib/msg.awk \
133 src/awk/lib/num.awk
134 $(BUILD_AWK_EXE)
135
136 bin/khatus_monitor_errors: \
137 src/awk/exe/monitor_errors.awk \
138 src/awk/lib/str.awk \
139 src/awk/lib/msg.awk
140 $(BUILD_AWK_EXE)
141
142 bin/khatus_parse_bluetoothctl_show: \
143 src/awk/exe/parse_bluetoothctl_show.awk \
144 src/awk/lib/msg.awk
145 $(BUILD_AWK_EXE)
146
147 bin/khatus_parse_df_pcent: \
148 src/awk/exe/parse_df_pcent.awk \
149 src/awk/lib/msg.awk
150 $(BUILD_AWK_EXE)
151
152 bin/khatus_parse_fan_file: \
153 src/awk/exe/parse_fan_file.awk \
154 src/awk/lib/msg.awk
155 $(BUILD_AWK_EXE)
156
157 bin/khatus_parse_free: \
158 src/awk/exe/parse_free.awk \
159 src/awk/lib/msg.awk
160 $(BUILD_AWK_EXE)
161
162 bin/khatus_parse_ip_addr: \
163 src/awk/exe/parse_ip_addr.awk \
164 src/awk/lib/msg.awk
165 $(BUILD_AWK_EXE)
166
167 bin/khatus_parse_iwconfig: \
168 src/awk/exe/parse_iwconfig.awk \
169 src/awk/lib/msg.awk
170 $(BUILD_AWK_EXE)
171
172 bin/khatus_parse_loadavg_file: \
173 src/awk/exe/parse_loadavg_file.awk \
174 src/awk/lib/msg.awk
175 $(BUILD_AWK_EXE)
176
177 bin/khatus_parse_metar_d_output: \
178 src/awk/exe/parse_metar_d_output.awk \
179 src/awk/lib/msg.awk \
180 src/awk/lib/str.awk
181 $(BUILD_AWK_EXE)
182
183 bin/khatus_parse_mpd_status_currentsong: \
184 src/awk/exe/parse_mpd_status_currentsong.awk \
185 src/awk/lib/msg.awk
186 $(BUILD_AWK_EXE)
187
188 bin/khatus_parse_pactl_list_sinks: \
189 src/awk/exe/parse_pactl_list_sinks.awk \
190 src/awk/lib/msg.awk
191 $(BUILD_AWK_EXE)
192
193 bin/khatus_parse_ps: \
194 src/awk/exe/parse_ps.awk \
195 src/awk/lib/msg.awk
196 $(BUILD_AWK_EXE)
197
198 bin/khatus_parse_sys_block_stat: \
199 src/awk/exe/parse_sys_block_stat.awk \
200 src/awk/lib/msg.awk
201 $(BUILD_AWK_EXE)
202
203 bin/khatus_parse_udevadm_monitor_block: \
204 src/awk/exe/parse_udevadm_monitor_block.awk \
205 src/awk/lib/msg.awk
206 $(BUILD_AWK_EXE)
207
208 bin/khatus_parse_upower: \
209 src/awk/exe/parse_upower.awk \
210 src/awk/lib/msg.awk
211 $(BUILD_AWK_EXE)
This page took 0.053805 seconds and 4 git commands to generate.