54353de9b6c8510ca872666257faeb35836811f1
[khatus.git] / Makefile
1 PREFIX := $(HOME)
2 PATH_TO_AWK := /usr/bin/awk
3 AWK_EXECUTABLES := \
4 bin/khatus_bar \
5 bin/khatus_actuate_alert_to_notify_send \
6 bin/khatus_actuate_device_add_to_automount \
7 bin/khatus_actuate_status_bar_to_xsetroot_name \
8 bin/khatus_monitor_devices \
9 bin/khatus_monitor_energy \
10 bin/khatus_monitor_errors \
11 bin/khatus_parse_bluetoothctl_show \
12 bin/khatus_parse_df_pcent \
13 bin/khatus_parse_fan_file \
14 bin/khatus_parse_free \
15 bin/khatus_parse_ip_addr \
16 bin/khatus_parse_iwconfig \
17 bin/khatus_parse_loadavg_file \
18 bin/khatus_parse_metar_d_output \
19 bin/khatus_parse_mpd_status_currentsong \
20 bin/khatus_parse_pactl_list_sinks \
21 bin/khatus_parse_ps \
22 bin/khatus_parse_sys_block_stat \
23 bin/khatus_parse_udevadm_monitor_block \
24 bin/khatus_parse_upower
25 OCAML_EXECUTABLES := \
26 bin/khatus_dashboard
27
28 define BUILD_AWK_EXE
29 echo '#! $(PATH_TO_AWK) -f' > $@ && \
30 echo 'BEGIN {Node = Node ? Node : "$(shell hostname)"}' >> $@ && \
31 echo 'BEGIN {Module = "$(notdir $@)"}' >> $@ && \
32 cat $^ >> $@ && \
33 chmod +x $@
34 endef
35
36 .PHONY: \
37 build \
38 install \
39 clean
40
41 build: $(AWK_EXECUTABLES) $(OCAML_EXECUTABLES)
42
43 install:
44 $(foreach filename,$(wildcard bin/*),cp -p "$(filename)" "$(PREFIX)/$(filename)"; )
45
46 clean:
47 rm -f $(AWK_EXECUTABLES)
48 rm -f $(OCAML_EXECUTABLES)
49
50 #-----------------------------------------------------------------------------
51 # AWK
52 #-----------------------------------------------------------------------------
53 bin/khatus_bar: \
54 src/awk/exe/bar.awk \
55 src/awk/lib/cache.awk \
56 src/awk/lib/str.awk \
57 src/awk/lib/msg_in.awk \
58 src/awk/lib/msg_out.awk \
59 src/awk/lib/num.awk
60 $(BUILD_AWK_EXE)
61
62 bin/khatus_actuate_alert_to_notify_send: \
63 src/awk/exe/actuate_alert_to_notify_send.awk \
64 src/awk/lib/str.awk \
65 src/awk/lib/msg_in.awk
66 $(BUILD_AWK_EXE)
67
68 bin/khatus_actuate_device_add_to_automount: \
69 src/awk/exe/actuate_device_add_to_automount.awk \
70 src/awk/lib/str.awk \
71 src/awk/lib/msg_in.awk \
72 src/awk/lib/msg_out.awk
73 $(BUILD_AWK_EXE)
74
75 bin/khatus_actuate_status_bar_to_xsetroot_name: \
76 src/awk/exe/actuate_status_bar_to_xsetroot_name.awk \
77 src/awk/lib/str.awk \
78 src/awk/lib/msg_in.awk
79 $(BUILD_AWK_EXE)
80
81 bin/khatus_monitor_devices: \
82 src/awk/exe/monitor_devices.awk \
83 src/awk/lib/str.awk \
84 src/awk/lib/msg_in.awk \
85 src/awk/lib/msg_out.awk
86 $(BUILD_AWK_EXE)
87
88 bin/khatus_monitor_energy: \
89 src/awk/exe/monitor_energy.awk \
90 src/awk/lib/str.awk \
91 src/awk/lib/msg_in.awk \
92 src/awk/lib/msg_out.awk \
93 src/awk/lib/num.awk
94 $(BUILD_AWK_EXE)
95
96 bin/khatus_monitor_errors: \
97 src/awk/exe/monitor_errors.awk \
98 src/awk/lib/str.awk \
99 src/awk/lib/msg_in.awk \
100 src/awk/lib/msg_out.awk
101 $(BUILD_AWK_EXE)
102
103 bin/khatus_parse_bluetoothctl_show: \
104 src/awk/exe/parse_bluetoothctl_show.awk \
105 src/awk/lib/msg_out.awk
106 $(BUILD_AWK_EXE)
107
108 bin/khatus_parse_df_pcent: \
109 src/awk/exe/parse_df_pcent.awk \
110 src/awk/lib/msg_out.awk
111 $(BUILD_AWK_EXE)
112
113 bin/khatus_parse_fan_file: \
114 src/awk/exe/parse_fan_file.awk \
115 src/awk/lib/msg_out.awk
116 $(BUILD_AWK_EXE)
117
118 bin/khatus_parse_free: \
119 src/awk/exe/parse_free.awk \
120 src/awk/lib/msg_out.awk
121 $(BUILD_AWK_EXE)
122
123 bin/khatus_parse_ip_addr: \
124 src/awk/exe/parse_ip_addr.awk \
125 src/awk/lib/msg_out.awk
126 $(BUILD_AWK_EXE)
127
128 bin/khatus_parse_iwconfig: \
129 src/awk/exe/parse_iwconfig.awk \
130 src/awk/lib/msg_out.awk
131 $(BUILD_AWK_EXE)
132
133 bin/khatus_parse_loadavg_file: \
134 src/awk/exe/parse_loadavg_file.awk \
135 src/awk/lib/msg_out.awk
136 $(BUILD_AWK_EXE)
137
138 bin/khatus_parse_metar_d_output: \
139 src/awk/exe/parse_metar_d_output.awk \
140 src/awk/lib/msg_out.awk \
141 src/awk/lib/str.awk
142 $(BUILD_AWK_EXE)
143
144 bin/khatus_parse_mpd_status_currentsong: \
145 src/awk/exe/parse_mpd_status_currentsong.awk \
146 src/awk/lib/msg_out.awk
147 $(BUILD_AWK_EXE)
148
149 bin/khatus_parse_pactl_list_sinks: \
150 src/awk/exe/parse_pactl_list_sinks.awk \
151 src/awk/lib/msg_out.awk
152 $(BUILD_AWK_EXE)
153
154 bin/khatus_parse_ps: \
155 src/awk/exe/parse_ps.awk \
156 src/awk/lib/msg_out.awk
157 $(BUILD_AWK_EXE)
158
159 bin/khatus_parse_sys_block_stat: \
160 src/awk/exe/parse_sys_block_stat.awk \
161 src/awk/lib/msg_out.awk
162 $(BUILD_AWK_EXE)
163
164 bin/khatus_parse_udevadm_monitor_block: \
165 src/awk/exe/parse_udevadm_monitor_block.awk \
166 src/awk/lib/msg_out.awk
167 $(BUILD_AWK_EXE)
168
169 bin/khatus_parse_upower: \
170 src/awk/exe/parse_upower.awk \
171 src/awk/lib/msg_out.awk
172 $(BUILD_AWK_EXE)
173
174 #-----------------------------------------------------------------------------
175 # OCaml
176 #-----------------------------------------------------------------------------
177 bin/khatus_cache_dumper: src/ocaml/exe/khatus_cache_dumper.ml
178 ocamlbuild -cflags '-w A' -pkg unix -I src/ocaml/exe -I src/ocaml/lib khatus_cache_dumper.byte
179 mv _build/src/ocaml/exe/khatus_cache_dumper.byte bin/khatus_cache_dumper
180 rm -f khatus_cache_dumper.byte
This page took 0.066511 seconds and 3 git commands to generate.