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