Reimplement net status as checking carrier rather than addr
[khatus.git] / x2 / Makefile
CommitLineData
91ee40f3
SK
1MAKEFLAGS := --no-builtin-rules
2
3ad4dbbb 3PREFIX := $(HOME)
03c229bf
SK
4PATH_TO_AWK := /usr/bin/awk
5AWK_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 \
7dc9c797 10 bin/khatus_gen_bar_make_status \
03c229bf
SK
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 \
57ed1a64 21 bin/khatus_parse_noaa_api \
03c229bf
SK
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
91ee40f3
SK
28BASH_EXECUTABLE_NAMES := \
29 khatus \
91ee40f3
SK
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 \
01da02dd 41 khatus_sensor_net_carrier \
91ee40f3
SK
42 khatus_sensor_net_wifi_status \
43 khatus_sensor_procs \
44 khatus_sensor_screen_brightness \
45 khatus_sensor_temperature \
46 khatus_sensor_volume \
47 khatus_sensor_weather
48BASH_EXECUTABLES := $(foreach exe,$(BASH_EXECUTABLE_NAMES),bin/$(exe))
53d24ad6 49EXECUTABLES := $(AWK_EXECUTABLES) $(BASH_EXECUTABLES)
03c229bf 50
82dcdacc 51define BUILD_AWK_EXE
8482fea6
SK
52 echo '#! $(PATH_TO_AWK) -f' > $@ && \
53 echo 'BEGIN {Node = Node ? Node : "$(shell hostname)"}' >> $@ && \
54 echo 'BEGIN {Module = "$(notdir $@)"}' >> $@ && \
55 cat $^ >> $@ && \
82dcdacc
SK
56 chmod +x $@
57endef
58
91ee40f3
SK
59define BUILD_BASH_EXE
60 cat $^ > $@ && \
61 chmod +x $@
62endef
63
64define GEN_BASH_EXE_RULE
65bin/$(1) : src/bash/exe/$(1).sh
66 $$(BUILD_BASH_EXE)
67endef
68
03c229bf
SK
69.PHONY: \
70 build \
862ac48f 71 rebuild \
3ad4dbbb 72 install \
86eb090e
SK
73 uninstall \
74 reinstall \
03c229bf
SK
75 clean
76
91ee40f3
SK
77build: | bin
78build: $(EXECUTABLES)
03c229bf 79
3ad4dbbb 80install:
86eb090e
SK
81 @$(foreach filename,$(wildcard bin/*),cp -p "$(filename)" "$(PREFIX)/$(filename)"; )
82
83uninstall:
84 @$(foreach filename,$(wildcard $(PREFIX)/bin/khatus*),rm "$(filename)"; )
85
86reinstall:
87 @$(MAKE) -s uninstall
88 @$(MAKE) -s install
3ad4dbbb 89
862ac48f
SK
90rebuild:
91 @$(MAKE) -s clean
92 @$(MAKE) -s build
93
03c229bf 94clean:
91ee40f3
SK
95 rm -rf bin
96
97bin:
98 mkdir -p bin
99
100#-----------------------------------------------------------------------------
101# Bash
102#-----------------------------------------------------------------------------
103$(foreach exe,$(BASH_EXECUTABLE_NAMES),$(eval $(call GEN_BASH_EXE_RULE,$(exe))))
03c229bf 104
c6a7396e
SK
105#-----------------------------------------------------------------------------
106# AWK
107#-----------------------------------------------------------------------------
03c229bf
SK
108bin/khatus_bar: \
109 src/awk/exe/bar.awk \
110 src/awk/lib/cache.awk \
8482fea6 111 src/awk/lib/str.awk \
81336934 112 src/awk/lib/msg.awk \
8482fea6 113 src/awk/lib/num.awk
82dcdacc 114 $(BUILD_AWK_EXE)
03c229bf
SK
115
116bin/khatus_actuate_alert_to_notify_send: \
117 src/awk/exe/actuate_alert_to_notify_send.awk \
8482fea6 118 src/awk/lib/str.awk \
81336934 119 src/awk/lib/msg.awk
82dcdacc 120 $(BUILD_AWK_EXE)
03c229bf
SK
121
122bin/khatus_actuate_device_add_to_automount: \
123 src/awk/exe/actuate_device_add_to_automount.awk \
8482fea6 124 src/awk/lib/str.awk \
81336934 125 src/awk/lib/msg.awk
82dcdacc 126 $(BUILD_AWK_EXE)
03c229bf
SK
127
128bin/khatus_actuate_status_bar_to_xsetroot_name: \
129 src/awk/exe/actuate_status_bar_to_xsetroot_name.awk \
8482fea6 130 src/awk/lib/str.awk \
81336934 131 src/awk/lib/msg.awk
82dcdacc 132 $(BUILD_AWK_EXE)
03c229bf 133
7dc9c797
SK
134bin/khatus_gen_bar_make_status: \
135 src/awk/exe/gen_bar_make_status.awk
136 $(BUILD_AWK_EXE)
137
03c229bf
SK
138bin/khatus_monitor_devices: \
139 src/awk/exe/monitor_devices.awk \
8482fea6 140 src/awk/lib/str.awk \
81336934 141 src/awk/lib/msg.awk
82dcdacc 142 $(BUILD_AWK_EXE)
03c229bf
SK
143
144bin/khatus_monitor_energy: \
145 src/awk/exe/monitor_energy.awk \
8482fea6 146 src/awk/lib/str.awk \
81336934 147 src/awk/lib/msg.awk \
8482fea6 148 src/awk/lib/num.awk
82dcdacc 149 $(BUILD_AWK_EXE)
03c229bf
SK
150
151bin/khatus_monitor_errors: \
152 src/awk/exe/monitor_errors.awk \
8482fea6 153 src/awk/lib/str.awk \
81336934 154 src/awk/lib/msg.awk
82dcdacc 155 $(BUILD_AWK_EXE)
03c229bf
SK
156
157bin/khatus_parse_bluetoothctl_show: \
158 src/awk/exe/parse_bluetoothctl_show.awk \
81336934 159 src/awk/lib/msg.awk
82dcdacc 160 $(BUILD_AWK_EXE)
03c229bf
SK
161
162bin/khatus_parse_df_pcent: \
163 src/awk/exe/parse_df_pcent.awk \
81336934 164 src/awk/lib/msg.awk
82dcdacc 165 $(BUILD_AWK_EXE)
03c229bf
SK
166
167bin/khatus_parse_fan_file: \
168 src/awk/exe/parse_fan_file.awk \
81336934 169 src/awk/lib/msg.awk
82dcdacc 170 $(BUILD_AWK_EXE)
03c229bf
SK
171
172bin/khatus_parse_free: \
173 src/awk/exe/parse_free.awk \
81336934 174 src/awk/lib/msg.awk
82dcdacc 175 $(BUILD_AWK_EXE)
03c229bf
SK
176
177bin/khatus_parse_ip_addr: \
178 src/awk/exe/parse_ip_addr.awk \
81336934 179 src/awk/lib/msg.awk
82dcdacc 180 $(BUILD_AWK_EXE)
03c229bf
SK
181
182bin/khatus_parse_iwconfig: \
183 src/awk/exe/parse_iwconfig.awk \
81336934 184 src/awk/lib/msg.awk
82dcdacc 185 $(BUILD_AWK_EXE)
03c229bf
SK
186
187bin/khatus_parse_loadavg_file: \
188 src/awk/exe/parse_loadavg_file.awk \
81336934 189 src/awk/lib/msg.awk
82dcdacc 190 $(BUILD_AWK_EXE)
03c229bf 191
57ed1a64
SK
192# Order of dependencies is important for khatus_parse_noaa_api!
193# parse_hxpipe MUST appear before parse_noaa_api, because the order in
194# which they match lines matters!
195bin/khatus_parse_noaa_api: \
196 src/awk/lib/parse_hxpipe.awk \
197 src/awk/exe/parse_noaa_api.awk \
81336934 198 src/awk/lib/msg.awk \
8482fea6 199 src/awk/lib/str.awk
82dcdacc 200 $(BUILD_AWK_EXE)
03c229bf
SK
201
202bin/khatus_parse_mpd_status_currentsong: \
203 src/awk/exe/parse_mpd_status_currentsong.awk \
81336934 204 src/awk/lib/msg.awk
82dcdacc 205 $(BUILD_AWK_EXE)
03c229bf
SK
206
207bin/khatus_parse_pactl_list_sinks: \
208 src/awk/exe/parse_pactl_list_sinks.awk \
81336934 209 src/awk/lib/msg.awk
82dcdacc 210 $(BUILD_AWK_EXE)
03c229bf
SK
211
212bin/khatus_parse_ps: \
213 src/awk/exe/parse_ps.awk \
81336934 214 src/awk/lib/msg.awk
82dcdacc 215 $(BUILD_AWK_EXE)
03c229bf
SK
216
217bin/khatus_parse_sys_block_stat: \
218 src/awk/exe/parse_sys_block_stat.awk \
81336934 219 src/awk/lib/msg.awk
82dcdacc 220 $(BUILD_AWK_EXE)
03c229bf
SK
221
222bin/khatus_parse_udevadm_monitor_block: \
223 src/awk/exe/parse_udevadm_monitor_block.awk \
81336934 224 src/awk/lib/msg.awk
82dcdacc 225 $(BUILD_AWK_EXE)
03c229bf
SK
226
227bin/khatus_parse_upower: \
228 src/awk/exe/parse_upower.awk \
81336934 229 src/awk/lib/msg.awk
82dcdacc 230 $(BUILD_AWK_EXE)
This page took 0.040471 seconds and 4 git commands to generate.