root / Makefile.am @ 8a670753
History | View | Annotate | Download (49 kB)
1 | e8230860 | Michael Hanselmann | # Ganeti makefile |
---|---|---|---|
2 | e8230860 | Michael Hanselmann | # - Indent with tabs only. |
3 | e8230860 | Michael Hanselmann | # - Keep files sorted; one line per file. |
4 | e8230860 | Michael Hanselmann | # - Directories in lib/ must have their own *dir variable (see hypervisor). |
5 | e8230860 | Michael Hanselmann | # - All directories must be listed DIRS. |
6 | 0a7bed64 | Michael Hanselmann | # - Use autogen.sh to generate Makefile.in and configure script. |
7 | e8230860 | Michael Hanselmann | |
8 | e8230860 | Michael Hanselmann | # Automake doesn't export these variables before version 1.10. |
9 | e8230860 | Michael Hanselmann | abs_top_builddir = @abs_top_builddir@ |
10 | e8230860 | Michael Hanselmann | abs_top_srcdir = @abs_top_srcdir@ |
11 | e8230860 | Michael Hanselmann | |
12 | 08366664 | Michael Hanselmann | # Helper values for calling builtin functions |
13 | 08366664 | Michael Hanselmann | empty := |
14 | 08366664 | Michael Hanselmann | space := $(empty) $(empty) |
15 | 08366664 | Michael Hanselmann | comma := , |
16 | 08366664 | Michael Hanselmann | |
17 | a01dd3c6 | Iustin Pop | # Use bash in order to be able to use pipefail |
18 | a01dd3c6 | Iustin Pop | SHELL=/bin/bash |
19 | a01dd3c6 | Iustin Pop | |
20 | 6e06b36c | Iustin Pop | ACLOCAL_AMFLAGS = -I autotools |
21 | 4f3d5b76 | Michael Hanselmann | BUILD_BASH_COMPLETION = $(top_srcdir)/autotools/build-bash-completion |
22 | b959138f | Michael Hanselmann | RUN_IN_TEMPDIR = $(top_srcdir)/autotools/run-in-tempdir |
23 | eed5c5df | Michael Hanselmann | CHECK_PYTHON_CODE = $(top_srcdir)/autotools/check-python-code |
24 | 5d3c30df | Michael Hanselmann | CHECK_HEADER = $(top_srcdir)/autotools/check-header |
25 | c55cc346 | Iustin Pop | CHECK_MAN_DASHES = $(top_srcdir)/autotools/check-man-dashes |
26 | 73d0e218 | Iustin Pop | CHECK_MAN_WARNINGS = $(top_srcdir)/autotools/check-man-warnings |
27 | 96602be4 | Michael Hanselmann | CHECK_VERSION = $(top_srcdir)/autotools/check-version |
28 | 7385c51d | Michael Hanselmann | CHECK_NEWS = $(top_srcdir)/autotools/check-news |
29 | f6cbcc06 | Michael Hanselmann | CHECK_IMPORTS = $(top_srcdir)/autotools/check-imports |
30 | 95eb4188 | Michael Hanselmann | DOCPP = $(top_srcdir)/autotools/docpp |
31 | e8230860 | Michael Hanselmann | REPLACE_VARS_SED = autotools/replace_vars.sed |
32 | d99d1e36 | Iustin Pop | CONVERT_CONSTANTS = $(top_srcdir)/autotools/convert-constants |
33 | d5a2a550 | Michael Hanselmann | BUILD_RPC = $(top_srcdir)/autotools/build-rpc |
34 | 6e3bf290 | Michael Hanselmann | SHELL_ENV_INIT = autotools/shell-env-init |
35 | e8230860 | Michael Hanselmann | |
36 | 22c5390d | Iustin Pop | # Note: these are automake-specific variables, and must be named after |
37 | 22c5390d | Iustin Pop | # the directory + 'dir' suffix |
38 | 2d48a3a2 | Michael Hanselmann | clientdir = $(pkgpythondir)/client |
39 | e8230860 | Michael Hanselmann | hypervisordir = $(pkgpythondir)/hypervisor |
40 | ff9efc03 | Michael Hanselmann | httpdir = $(pkgpythondir)/http |
41 | dc101ecc | Michael Hanselmann | masterddir = $(pkgpythondir)/masterd |
42 | 12426ae1 | Guido Trotter | confddir = $(pkgpythondir)/confd |
43 | 8c229cc7 | Oleksiy Mishchenko | rapidir = $(pkgpythondir)/rapi |
44 | 899c4d2c | Michael Hanselmann | serverdir = $(pkgpythondir)/server |
45 | 9f4bb951 | Michael Hanselmann | watcherdir = $(pkgpythondir)/watcher |
46 | bb44b1ae | Michael Hanselmann | impexpddir = $(pkgpythondir)/impexpd |
47 | c047a981 | Michael Hanselmann | utilsdir = $(pkgpythondir)/utils |
48 | e8230860 | Michael Hanselmann | toolsdir = $(pkglibdir)/tools |
49 | 7617fd6b | Iustin Pop | iallocatorsdir = $(pkglibdir)/iallocators |
50 | 0d2bf835 | René Nussbaumer | pytoolsdir = $(pkgpythondir)/tools |
51 | e8230860 | Michael Hanselmann | docdir = $(datadir)/doc/$(PACKAGE) |
52 | b8fe7ca6 | Iustin Pop | myexeclibdir = $(pkglibdir) |
53 | e8230860 | Michael Hanselmann | |
54 | a4f12da4 | Michael Hanselmann | # Delete output file if an error occurred while building it |
55 | a4f12da4 | Michael Hanselmann | .DELETE_ON_ERROR: |
56 | a4f12da4 | Michael Hanselmann | |
57 | d5506465 | Iustin Pop | HTOOLS_DIRS = \ |
58 | d5506465 | Iustin Pop | htools \ |
59 | d5506465 | Iustin Pop | htools/Ganeti \ |
60 | 358a0a8f | Iustin Pop | htools/Ganeti/Confd \ |
61 | 458a286a | Iustin Pop | htools/Ganeti/HTools \ |
62 | 879d9290 | Iustin Pop | htools/Ganeti/HTools/Backend \ |
63 | 4cbe9bda | Iustin Pop | htools/Ganeti/HTools/Program \ |
64 | f0f3a6df | Iustin Pop | htools/Ganeti/Query \ |
65 | e5a29b6c | Iustin Pop | htest \ |
66 | e5a29b6c | Iustin Pop | htest/Test \ |
67 | 2733df51 | Iustin Pop | htest/Test/Ganeti \ |
68 | aed2325f | Iustin Pop | htest/Test/Ganeti/Confd \ |
69 | e1ee7d5a | Iustin Pop | htest/Test/Ganeti/HTools \ |
70 | 879d9290 | Iustin Pop | htest/Test/Ganeti/HTools/Backend \ |
71 | aed2325f | Iustin Pop | htest/Test/Ganeti/Query |
72 | d5506465 | Iustin Pop | |
73 | e8230860 | Michael Hanselmann | DIRS = \ |
74 | dad26941 | Iustin Pop | $(HTOOLS_DIRS) \ |
75 | e8230860 | Michael Hanselmann | autotools \ |
76 | e8230860 | Michael Hanselmann | daemons \ |
77 | e8230860 | Michael Hanselmann | devel \ |
78 | e8230860 | Michael Hanselmann | doc \ |
79 | e8230860 | Michael Hanselmann | doc/examples \ |
80 | c51580b3 | Guido Trotter | doc/examples/gnt-debug \ |
81 | dad26941 | Iustin Pop | doc/examples/hooks \ |
82 | dad26941 | Iustin Pop | htest/data \ |
83 | dad26941 | Iustin Pop | htest/data/rapi \ |
84 | dad26941 | Iustin Pop | htest/shelltests \ |
85 | e8230860 | Michael Hanselmann | lib \ |
86 | f9897b6d | Michael Hanselmann | lib/build \ |
87 | dad26941 | Iustin Pop | lib/client \ |
88 | 2f16ea8f | Michael Hanselmann | lib/confd \ |
89 | ff9efc03 | Michael Hanselmann | lib/http \ |
90 | e8230860 | Michael Hanselmann | lib/hypervisor \ |
91 | bb44b1ae | Michael Hanselmann | lib/impexpd \ |
92 | dc101ecc | Michael Hanselmann | lib/masterd \ |
93 | 8c229cc7 | Oleksiy Mishchenko | lib/rapi \ |
94 | 899c4d2c | Michael Hanselmann | lib/server \ |
95 | 0d2bf835 | René Nussbaumer | lib/tools \ |
96 | c047a981 | Michael Hanselmann | lib/utils \ |
97 | 9f4bb951 | Michael Hanselmann | lib/watcher \ |
98 | e8230860 | Michael Hanselmann | man \ |
99 | e8230860 | Michael Hanselmann | qa \ |
100 | e8230860 | Michael Hanselmann | test \ |
101 | e8230860 | Michael Hanselmann | test/data \ |
102 | 1e6fab60 | Agata Murawska | test/data/ovfdata \ |
103 | d92518d3 | Agata Murawska | test/data/ovfdata/other \ |
104 | e8230860 | Michael Hanselmann | tools |
105 | e8230860 | Michael Hanselmann | |
106 | 2750b299 | Michael Hanselmann | BUILDTIME_DIR_AUTOCREATE = \ |
107 | c964d962 | Michael Hanselmann | scripts \ |
108 | 22c5390d | Iustin Pop | $(APIDOC_DIR) \ |
109 | 22c5390d | Iustin Pop | $(APIDOC_HS_DIR) \ |
110 | 358a0a8f | Iustin Pop | $(APIDOC_HS_DIR)/Ganeti \ |
111 | 358a0a8f | Iustin Pop | $(APIDOC_HS_DIR)/Ganeti/Confd \ |
112 | 358a0a8f | Iustin Pop | $(APIDOC_HS_DIR)/Ganeti/HTools \ |
113 | 879d9290 | Iustin Pop | $(APIDOC_HS_DIR)/Ganeti/HTools/Backend \ |
114 | 458a286a | Iustin Pop | $(APIDOC_HS_DIR)/Ganeti/HTools/Program \ |
115 | 662de722 | Iustin Pop | $(APIDOC_HS_DIR)/Ganeti/Query \ |
116 | dad26941 | Iustin Pop | $(APIDOC_PY_DIR) \ |
117 | 22c5390d | Iustin Pop | $(COVERAGE_DIR) \ |
118 | 22c5390d | Iustin Pop | $(COVERAGE_HS_DIR) \ |
119 | dad26941 | Iustin Pop | $(COVERAGE_PY_DIR) \ |
120 | b91e9518 | Iustin Pop | .hpc |
121 | 2750b299 | Michael Hanselmann | |
122 | 2750b299 | Michael Hanselmann | BUILDTIME_DIRS = \ |
123 | 2750b299 | Michael Hanselmann | $(BUILDTIME_DIR_AUTOCREATE) \ |
124 | 6b997854 | Michael Hanselmann | doc/html |
125 | 6b997854 | Michael Hanselmann | |
126 | 6b997854 | Michael Hanselmann | DIRCHECK_EXCLUDE = \ |
127 | 6b997854 | Michael Hanselmann | $(BUILDTIME_DIRS) \ |
128 | 6b997854 | Michael Hanselmann | ganeti-[0-9]*.[0-9]*.[0-9]* \ |
129 | 6b997854 | Michael Hanselmann | doc/html/_* |
130 | 6b997854 | Michael Hanselmann | |
131 | 22c5390d | Iustin Pop | # some helper vars |
132 | 22c5390d | Iustin Pop | COVERAGE_DIR = doc/coverage |
133 | 22c5390d | Iustin Pop | COVERAGE_PY_DIR = $(COVERAGE_DIR)/py |
134 | 22c5390d | Iustin Pop | COVERAGE_HS_DIR = $(COVERAGE_DIR)/hs |
135 | 22c5390d | Iustin Pop | APIDOC_DIR = doc/api |
136 | 22c5390d | Iustin Pop | APIDOC_PY_DIR = $(APIDOC_DIR)/py |
137 | 22c5390d | Iustin Pop | APIDOC_HS_DIR = $(APIDOC_DIR)/hs |
138 | 22c5390d | Iustin Pop | |
139 | 2ab2b9f5 | Iustin Pop | MAINTAINERCLEANFILES = \ |
140 | d17e74b4 | Iustin Pop | $(docpng) \ |
141 | b76aac08 | Michael Hanselmann | $(maninput) \ |
142 | cbf3d64b | Michael Hanselmann | doc/install-quick.rst \ |
143 | 84a12e40 | Iustin Pop | doc/news.rst \ |
144 | 7a03d293 | Michael Hanselmann | doc/upgrade.rst \ |
145 | 84a12e40 | Iustin Pop | vcs-version |
146 | 2ab2b9f5 | Iustin Pop | |
147 | d17e74b4 | Iustin Pop | maintainer-clean-local: |
148 | 6b997854 | Michael Hanselmann | rm -rf $(BUILDTIME_DIRS) |
149 | d17e74b4 | Iustin Pop | |
150 | e8230860 | Michael Hanselmann | CLEANFILES = \ |
151 | 2f16ea8f | Michael Hanselmann | $(addsuffix /*.py[co],$(DIRS)) \ |
152 | d5506465 | Iustin Pop | $(addsuffix /*.hi,$(HTOOLS_DIRS)) \ |
153 | d5506465 | Iustin Pop | $(addsuffix /*.o,$(HTOOLS_DIRS)) \ |
154 | 2d48a3a2 | Michael Hanselmann | $(PYTHON_BOOTSTRAP) \ |
155 | f774bd03 | Michael Hanselmann | epydoc.conf \ |
156 | 5098afd1 | Iustin Pop | $(REPLACE_VARS_SED) \ |
157 | 6e3bf290 | Michael Hanselmann | $(SHELL_ENV_INIT) \ |
158 | f154a7a3 | Michael Hanselmann | daemons/daemon-util \ |
159 | fc3fd894 | Michael Hanselmann | daemons/ganeti-cleaner \ |
160 | e8230860 | Michael Hanselmann | devel/upload \ |
161 | 656a7fdf | Iustin Pop | $(BUILT_EXAMPLES) \ |
162 | f72f8622 | Iustin Pop | doc/examples/bash_completion \ |
163 | e80aeb89 | Michael Hanselmann | doc/examples/bash_completion-debug \ |
164 | d5a2a550 | Michael Hanselmann | lib/_generated_rpc.py \ |
165 | 2ab2b9f5 | Iustin Pop | $(man_MANS) \ |
166 | 2ab2b9f5 | Iustin Pop | $(manhtml) \ |
167 | 26916aad | Apollon Oikonomopoulos | tools/kvm-ifup \ |
168 | e5afb848 | Michael Hanselmann | tools/vcluster-setup \ |
169 | 3735787e | Iustin Pop | stamp-directories \ |
170 | dd1dfd9a | Michael Hanselmann | stamp-srclinks \ |
171 | d6159933 | Iustin Pop | $(nodist_pkgpython_PYTHON) \ |
172 | c3f67183 | Iustin Pop | $(HS_ALL_PROGS) $(HS_BUILT_SRCS) \ |
173 | 3096524e | Iustin Pop | $(HS_BUILT_TEST_HELPERS) \ |
174 | b0dcdc10 | Iustin Pop | htools/ganeti-confd \ |
175 | f0f3a6df | Iustin Pop | .hpc/*.mix htools/*.tix htest/*.tix \ |
176 | 191ff68c | Iustin Pop | doc/hs-lint.html |
177 | e8230860 | Michael Hanselmann | |
178 | 4c3d5fb6 | Iustin Pop | GENERATED_FILES = \ |
179 | 5098afd1 | Iustin Pop | $(built_base_sources) \ |
180 | 96a7481d | Michael Hanselmann | $(BUILT_PYTHON_SOURCES) \ |
181 | 96a7481d | Michael Hanselmann | $(PYTHON_BOOTSTRAP) |
182 | 96a7481d | Michael Hanselmann | |
183 | ada0e680 | Iustin Pop | HTOOLS_GENERATED_FILES = |
184 | ada0e680 | Iustin Pop | if WANT_HTOOLS |
185 | ada0e680 | Iustin Pop | HTOOLS_GENERATED_FILES += $(HS_PROGS) |
186 | 04520998 | Iustin Pop | if ENABLE_CONFD |
187 | f8d01158 | Iustin Pop | HTOOLS_GENERATED_FILES += htools/hconfd htools/ganeti-confd |
188 | ada0e680 | Iustin Pop | endif |
189 | ada0e680 | Iustin Pop | endif |
190 | ada0e680 | Iustin Pop | |
191 | 96a7481d | Michael Hanselmann | built_base_sources = \ |
192 | 3735787e | Iustin Pop | stamp-directories \ |
193 | 3735787e | Iustin Pop | stamp-srclinks |
194 | 2d1f248e | Michael Hanselmann | |
195 | 96a7481d | Michael Hanselmann | built_python_base_sources = \ |
196 | 13aeae6a | Iustin Pop | lib/_autoconf.py \ |
197 | 96a7481d | Michael Hanselmann | lib/_vcsversion.py |
198 | 96a7481d | Michael Hanselmann | |
199 | 96a7481d | Michael Hanselmann | BUILT_PYTHON_SOURCES = \ |
200 | 96a7481d | Michael Hanselmann | $(built_python_base_sources) \ |
201 | d5a2a550 | Michael Hanselmann | lib/_generated_rpc.py |
202 | e8230860 | Michael Hanselmann | |
203 | 5098afd1 | Iustin Pop | # Generating the RPC wrappers depends on many things, so make sure |
204 | 5098afd1 | Iustin Pop | # it's built at the end of the built sources |
205 | 96a7481d | Michael Hanselmann | lib/_generated_rpc.py: | $(built_base_sources) $(built_python_base_sources) |
206 | 96a7481d | Michael Hanselmann | |
207 | 656a7fdf | Iustin Pop | # these are all built from the underlying %.in sources |
208 | 656a7fdf | Iustin Pop | BUILT_EXAMPLES = \ |
209 | 656a7fdf | Iustin Pop | doc/examples/ganeti-kvm-poweroff.initd \ |
210 | 656a7fdf | Iustin Pop | doc/examples/ganeti.cron \ |
211 | 656a7fdf | Iustin Pop | doc/examples/ganeti.initd \ |
212 | 656a7fdf | Iustin Pop | doc/examples/gnt-config-backup \ |
213 | 656a7fdf | Iustin Pop | doc/examples/hooks/ipsec |
214 | 656a7fdf | Iustin Pop | |
215 | 08366664 | Michael Hanselmann | nodist_pkgpython_PYTHON = \ |
216 | 08366664 | Michael Hanselmann | $(BUILT_PYTHON_SOURCES) |
217 | 08366664 | Michael Hanselmann | |
218 | f9897b6d | Michael Hanselmann | noinst_PYTHON = \ |
219 | 5f43f393 | Michael Hanselmann | lib/build/__init__.py \ |
220 | dad26941 | Iustin Pop | lib/build/shell_example_lexer.py \ |
221 | dad26941 | Iustin Pop | lib/build/sphinx_ext.py |
222 | f9897b6d | Michael Hanselmann | |
223 | e8230860 | Michael Hanselmann | pkgpython_PYTHON = \ |
224 | e8230860 | Michael Hanselmann | lib/__init__.py \ |
225 | a8a76bc2 | Guido Trotter | lib/asyncnotifier.py \ |
226 | e8230860 | Michael Hanselmann | lib/backend.py \ |
227 | e8230860 | Michael Hanselmann | lib/bdev.py \ |
228 | e8230860 | Michael Hanselmann | lib/bootstrap.py \ |
229 | e8230860 | Michael Hanselmann | lib/cli.py \ |
230 | e8230860 | Michael Hanselmann | lib/cmdlib.py \ |
231 | cea881e5 | Michael Hanselmann | lib/compat.py \ |
232 | e8230860 | Michael Hanselmann | lib/config.py \ |
233 | e8230860 | Michael Hanselmann | lib/constants.py \ |
234 | 821d9e43 | Michael Hanselmann | lib/daemon.py \ |
235 | e8230860 | Michael Hanselmann | lib/errors.py \ |
236 | 62e0e880 | Iustin Pop | lib/ht.py \ |
237 | e8230860 | Michael Hanselmann | lib/jqueue.py \ |
238 | 8b537bb0 | Michael Hanselmann | lib/jstore.py \ |
239 | e8230860 | Michael Hanselmann | lib/locking.py \ |
240 | e8230860 | Michael Hanselmann | lib/luxi.py \ |
241 | e8230860 | Michael Hanselmann | lib/mcpu.py \ |
242 | a744b676 | Manuel Franceschini | lib/netutils.py \ |
243 | e8230860 | Michael Hanselmann | lib/objects.py \ |
244 | 32683096 | René Nussbaumer | lib/objectutils.py \ |
245 | e8230860 | Michael Hanselmann | lib/opcodes.py \ |
246 | ced78a66 | Agata Murawska | lib/ovf.py \ |
247 | 3329f4de | Michael Hanselmann | lib/pathutils.py \ |
248 | a123dc19 | Michael Hanselmann | lib/qlang.py \ |
249 | 4ca96421 | Michael Hanselmann | lib/query.py \ |
250 | e8230860 | Michael Hanselmann | lib/rpc.py \ |
251 | 6648cb36 | Michael Hanselmann | lib/rpc_defs.py \ |
252 | f12e1736 | René Nussbaumer | lib/runtime.py \ |
253 | e8230860 | Michael Hanselmann | lib/serializer.py \ |
254 | e8230860 | Michael Hanselmann | lib/ssconf.py \ |
255 | e8230860 | Michael Hanselmann | lib/ssh.py \ |
256 | ac2d0fe4 | Michael Hanselmann | lib/storage.py \ |
257 | 1338f2b4 | Balazs Lecz | lib/uidpool.py \ |
258 | 05e733b4 | Michael Hanselmann | lib/vcluster.py \ |
259 | 76094e37 | Michael Hanselmann | lib/workerpool.py |
260 | e8230860 | Michael Hanselmann | |
261 | 2d48a3a2 | Michael Hanselmann | client_PYTHON = \ |
262 | c2855a12 | Michael Hanselmann | lib/client/__init__.py \ |
263 | 02266fe0 | Michael Hanselmann | lib/client/gnt_backup.py \ |
264 | 7b3e7d41 | Michael Hanselmann | lib/client/gnt_cluster.py \ |
265 | 6d50f5f9 | Michael Hanselmann | lib/client/gnt_debug.py \ |
266 | 667dbd6b | Adeodato Simo | lib/client/gnt_group.py \ |
267 | e792102d | Michael Hanselmann | lib/client/gnt_instance.py \ |
268 | a09b9e3d | Michael Hanselmann | lib/client/gnt_job.py \ |
269 | 37494fa4 | Michael Hanselmann | lib/client/gnt_node.py \ |
270 | 6d50f5f9 | Michael Hanselmann | lib/client/gnt_os.py |
271 | 2d48a3a2 | Michael Hanselmann | |
272 | e8230860 | Michael Hanselmann | hypervisor_PYTHON = \ |
273 | e8230860 | Michael Hanselmann | lib/hypervisor/__init__.py \ |
274 | e8230860 | Michael Hanselmann | lib/hypervisor/hv_base.py \ |
275 | 48297fa2 | Iustin Pop | lib/hypervisor/hv_chroot.py \ |
276 | e8230860 | Michael Hanselmann | lib/hypervisor/hv_fake.py \ |
277 | eb58f9b1 | Guido Trotter | lib/hypervisor/hv_kvm.py \ |
278 | 4b5e40a5 | Iustin Pop | lib/hypervisor/hv_lxc.py \ |
279 | e8230860 | Michael Hanselmann | lib/hypervisor/hv_xen.py |
280 | e8230860 | Michael Hanselmann | |
281 | 8c229cc7 | Oleksiy Mishchenko | rapi_PYTHON = \ |
282 | 8c229cc7 | Oleksiy Mishchenko | lib/rapi/__init__.py \ |
283 | 10b207d4 | Oleksiy Mishchenko | lib/rapi/baserlib.py \ |
284 | 95ab4de9 | David Knowles | lib/rapi/client.py \ |
285 | 20b509de | Michael Hanselmann | lib/rapi/client_utils.py \ |
286 | 10b207d4 | Oleksiy Mishchenko | lib/rapi/connector.py \ |
287 | a85f23fa | Michael Hanselmann | lib/rapi/rlib2.py \ |
288 | a85f23fa | Michael Hanselmann | lib/rapi/testutils.py |
289 | 8c229cc7 | Oleksiy Mishchenko | |
290 | ff9efc03 | Michael Hanselmann | http_PYTHON = \ |
291 | 02cab3e7 | Michael Hanselmann | lib/http/__init__.py \ |
292 | be500c29 | Michael Hanselmann | lib/http/auth.py \ |
293 | 02cab3e7 | Michael Hanselmann | lib/http/client.py \ |
294 | 02cab3e7 | Michael Hanselmann | lib/http/server.py |
295 | ff9efc03 | Michael Hanselmann | |
296 | 12426ae1 | Guido Trotter | confd_PYTHON = \ |
297 | 71f27d19 | Guido Trotter | lib/confd/__init__.py \ |
298 | b0dcdc10 | Iustin Pop | lib/confd/client.py |
299 | 8c229cc7 | Oleksiy Mishchenko | |
300 | dc101ecc | Michael Hanselmann | masterd_PYTHON = \ |
301 | 033a1d00 | Michael Hanselmann | lib/masterd/__init__.py \ |
302 | 0fcd0cad | René Nussbaumer | lib/masterd/iallocator.py \ |
303 | 033a1d00 | Michael Hanselmann | lib/masterd/instance.py |
304 | dc101ecc | Michael Hanselmann | |
305 | bb44b1ae | Michael Hanselmann | impexpd_PYTHON = \ |
306 | bb44b1ae | Michael Hanselmann | lib/impexpd/__init__.py |
307 | bb44b1ae | Michael Hanselmann | |
308 | 9f4bb951 | Michael Hanselmann | watcher_PYTHON = \ |
309 | 9ca87fb3 | Michael Hanselmann | lib/watcher/__init__.py \ |
310 | adf6301e | Michael Hanselmann | lib/watcher/nodemaint.py \ |
311 | adf6301e | Michael Hanselmann | lib/watcher/state.py |
312 | 9f4bb951 | Michael Hanselmann | |
313 | 899c4d2c | Michael Hanselmann | server_PYTHON = \ |
314 | 29d91329 | Michael Hanselmann | lib/server/__init__.py \ |
315 | 5119f2ec | Michael Hanselmann | lib/server/masterd.py \ |
316 | d9c82a4e | Michael Hanselmann | lib/server/noded.py \ |
317 | d9c82a4e | Michael Hanselmann | lib/server/rapi.py |
318 | 899c4d2c | Michael Hanselmann | |
319 | 0d2bf835 | René Nussbaumer | pytools_PYTHON = \ |
320 | 0d2bf835 | René Nussbaumer | lib/tools/__init__.py \ |
321 | d12b9f66 | Michael Hanselmann | lib/tools/ensure_dirs.py \ |
322 | d12b9f66 | Michael Hanselmann | lib/tools/prepare_node_join.py |
323 | 0d2bf835 | René Nussbaumer | |
324 | c047a981 | Michael Hanselmann | utils_PYTHON = \ |
325 | 4fd029cf | Michael Hanselmann | lib/utils/__init__.py \ |
326 | 79d22269 | Michael Hanselmann | lib/utils/algo.py \ |
327 | 9d1b963f | Michael Hanselmann | lib/utils/filelock.py \ |
328 | f21bb4b7 | Michael Hanselmann | lib/utils/hash.py \ |
329 | 3865ca48 | Michael Hanselmann | lib/utils/io.py \ |
330 | 1ae4c5a1 | Michael Hanselmann | lib/utils/log.py \ |
331 | 8dc76d54 | Guido Trotter | lib/utils/mlock.py \ |
332 | 17b97ab3 | Michael Hanselmann | lib/utils/nodesetup.py \ |
333 | a4ccecf6 | Michael Hanselmann | lib/utils/process.py \ |
334 | 7fcffe27 | Michael Hanselmann | lib/utils/retry.py \ |
335 | 7831fc5f | Michael Hanselmann | lib/utils/text.py \ |
336 | c50645c0 | Michael Hanselmann | lib/utils/wrapper.py \ |
337 | c50645c0 | Michael Hanselmann | lib/utils/x509.py |
338 | c047a981 | Michael Hanselmann | |
339 | f05c99f3 | Michael Hanselmann | docrst = \ |
340 | ffa6869f | Iustin Pop | doc/admin.rst \ |
341 | dad26941 | Iustin Pop | doc/cluster-merge.rst \ |
342 | 5c0c1eeb | Iustin Pop | doc/design-2.0.rst \ |
343 | 4f366caf | Michael Hanselmann | doc/design-2.1.rst \ |
344 | e56bb0e8 | Guido Trotter | doc/design-2.2.rst \ |
345 | 1eb85930 | Guido Trotter | doc/design-2.3.rst \ |
346 | 78b40c5e | Michael Hanselmann | doc/design-2.4.rst \ |
347 | d774ce92 | Michael Hanselmann | doc/design-2.5.rst \ |
348 | 40309ed7 | Michael Hanselmann | doc/design-2.6.rst \ |
349 | 97aac894 | Michael Hanselmann | doc/design-2.7.rst \ |
350 | dad26941 | Iustin Pop | doc/design-autorepair.rst \ |
351 | dad26941 | Iustin Pop | doc/design-bulk-create.rst \ |
352 | dad26941 | Iustin Pop | doc/design-chained-jobs.rst \ |
353 | ae9b5e0f | Tsachy Shacham | doc/design-cpu-pinning.rst \ |
354 | dad26941 | Iustin Pop | doc/design-draft.rst \ |
355 | dad26941 | Iustin Pop | doc/design-htools-2.3.rst \ |
356 | 278ddaa9 | Michael Hanselmann | doc/design-http-server.rst \ |
357 | 1375e1d9 | Michael Hanselmann | doc/design-impexp2.rst \ |
358 | ed9fda24 | Michael Hanselmann | doc/design-lu-generated-jobs.rst \ |
359 | d55b80b0 | Guido Trotter | doc/design-linuxha.rst \ |
360 | 4055b109 | Adeodato Simo | doc/design-multi-reloc.rst \ |
361 | eec83a95 | Apollon Oikonomopoulos | doc/design-network.rst \ |
362 | dad26941 | Iustin Pop | doc/design-oob.rst \ |
363 | 64ea845e | Michael Hanselmann | doc/design-ovf-support.rst \ |
364 | dad26941 | Iustin Pop | doc/design-partitioned.rst \ |
365 | dad26941 | Iustin Pop | doc/design-query-splitting.rst \ |
366 | dad26941 | Iustin Pop | doc/design-query2.rst \ |
367 | 2ff01d78 | Michael Hanselmann | doc/design-remote-commands.rst \ |
368 | d85f01e7 | Iustin Pop | doc/design-resource-model.rst \ |
369 | a997cec5 | Apollon Oikonomopoulos | doc/design-shared-storage.rst \ |
370 | f98efa98 | Michael Hanselmann | doc/design-ssh-setup.rst \ |
371 | 109e07c2 | Guido Trotter | doc/design-monitoring-agent.rst \ |
372 | 6b898285 | Iustin Pop | doc/design-virtual-clusters.rst \ |
373 | dad26941 | Iustin Pop | doc/design-x509-ca.rst \ |
374 | 62947ebb | Michael Hanselmann | doc/devnotes.rst \ |
375 | e2078d28 | Iustin Pop | doc/glossary.rst \ |
376 | 4d6443f4 | Iustin Pop | doc/hooks.rst \ |
377 | 876860a3 | Iustin Pop | doc/iallocator.rst \ |
378 | d17e74b4 | Iustin Pop | doc/index.rst \ |
379 | cbf3d64b | Michael Hanselmann | doc/install-quick.rst \ |
380 | 28e15341 | Iustin Pop | doc/install.rst \ |
381 | 9725b53d | Michael Hanselmann | doc/locking.rst \ |
382 | 6bf273d5 | Michael Hanselmann | doc/move-instance.rst \ |
383 | c71a1a3d | Iustin Pop | doc/news.rst \ |
384 | a47dc554 | René Nussbaumer | doc/ovfconverter.rst \ |
385 | 6d81475c | Iustin Pop | doc/rapi.rst \ |
386 | b76aac08 | Michael Hanselmann | doc/security.rst \ |
387 | 35dd762d | Michael Hanselmann | doc/upgrade.rst \ |
388 | ab171697 | Michael Hanselmann | doc/virtual-cluster.rst \ |
389 | c71a1a3d | Iustin Pop | doc/walkthrough.rst |
390 | f05c99f3 | Michael Hanselmann | |
391 | 0985325d | Iustin Pop | HS_PROGS = htools/htools |
392 | 22e513e7 | Agata Murawska | HS_BIN_ROLES = hbal hscan hspace hinfo hcheck |
393 | ada0e680 | Iustin Pop | HS_HTOOLS_PROGS = $(HS_BIN_ROLES) hail |
394 | d6159933 | Iustin Pop | |
395 | 19e21a6c | Iustin Pop | HS_ALL_PROGS = \ |
396 | 19e21a6c | Iustin Pop | $(HS_PROGS) \ |
397 | 19e21a6c | Iustin Pop | htest/hpc-htools \ |
398 | 19e21a6c | Iustin Pop | htest/test \ |
399 | 19e21a6c | Iustin Pop | htools/hconfd \ |
400 | 19e21a6c | Iustin Pop | htools/rpc-test |
401 | 19e21a6c | Iustin Pop | |
402 | c3f67183 | Iustin Pop | HS_PROG_SRCS = $(patsubst %,%.hs,$(HS_ALL_PROGS)) |
403 | 189b51fa | Iustin Pop | HS_BUILT_TEST_HELPERS = $(HS_BIN_ROLES:%=htest/%) htest/hail |
404 | 3096524e | Iustin Pop | |
405 | 74e60746 | Iustin Pop | HFLAGS = -O -Wall -Werror -fwarn-monomorphism-restriction -fwarn-tabs -ihtools |
406 | 74e60746 | Iustin Pop | # extra flags that can be overriden on the command line (e.g. -Wwarn, etc.) |
407 | d6159933 | Iustin Pop | HEXTRA = |
408 | f0f3a6df | Iustin Pop | # internal extra flags (used for htest/test mainly) |
409 | c7ec3025 | Iustin Pop | HEXTRA_INT = |
410 | b91e9518 | Iustin Pop | # exclude options for coverage reports |
411 | 9822b1dd | Iustin Pop | HPCEXCL = --exclude Main \ |
412 | 98b33d0e | Iustin Pop | --exclude Ganeti.Constants \ |
413 | 9822b1dd | Iustin Pop | --exclude Ganeti.HTools.QC \ |
414 | dad26941 | Iustin Pop | --exclude Ganeti.THH \ |
415 | 2997cb0a | Iustin Pop | --exclude Ganeti.Version \ |
416 | 2733df51 | Iustin Pop | --exclude Test.Ganeti.TestCommon \ |
417 | e1ee7d5a | Iustin Pop | --exclude Test.Ganeti.TestHTools \ |
418 | e1ee7d5a | Iustin Pop | --exclude Test.Ganeti.TestHelper \ |
419 | b88fcdd0 | Iustin Pop | --exclude Test.Ganeti.TestImports \ |
420 | 51309138 | Iustin Pop | $(patsubst htools.%,--exclude Test.%,$(subst /,.,$(patsubst %.hs,%, $(HS_LIB_SRCS)))) |
421 | d6159933 | Iustin Pop | |
422 | c3f67183 | Iustin Pop | HS_LIB_SRCS = \ |
423 | dad26941 | Iustin Pop | htools/Ganeti/BasicTypes.hs \ |
424 | dad26941 | Iustin Pop | htools/Ganeti/Common.hs \ |
425 | dad26941 | Iustin Pop | htools/Ganeti/Compat.hs \ |
426 | dad26941 | Iustin Pop | htools/Ganeti/Confd.hs \ |
427 | dad26941 | Iustin Pop | htools/Ganeti/Confd/Server.hs \ |
428 | dad26941 | Iustin Pop | htools/Ganeti/Confd/Utils.hs \ |
429 | dad26941 | Iustin Pop | htools/Ganeti/Config.hs \ |
430 | dad26941 | Iustin Pop | htools/Ganeti/Daemon.hs \ |
431 | ef3ad027 | Iustin Pop | htools/Ganeti/Errors.hs \ |
432 | 879d9290 | Iustin Pop | htools/Ganeti/HTools/Backend/IAlloc.hs \ |
433 | 879d9290 | Iustin Pop | htools/Ganeti/HTools/Backend/Luxi.hs \ |
434 | 879d9290 | Iustin Pop | htools/Ganeti/HTools/Backend/Rapi.hs \ |
435 | 879d9290 | Iustin Pop | htools/Ganeti/HTools/Backend/Simu.hs \ |
436 | 879d9290 | Iustin Pop | htools/Ganeti/HTools/Backend/Text.hs \ |
437 | d6159933 | Iustin Pop | htools/Ganeti/HTools/CLI.hs \ |
438 | d6159933 | Iustin Pop | htools/Ganeti/HTools/Cluster.hs \ |
439 | d6159933 | Iustin Pop | htools/Ganeti/HTools/Container.hs \ |
440 | d6159933 | Iustin Pop | htools/Ganeti/HTools/ExtLoader.hs \ |
441 | d6159933 | Iustin Pop | htools/Ganeti/HTools/Group.hs \ |
442 | d6159933 | Iustin Pop | htools/Ganeti/HTools/Instance.hs \ |
443 | d6159933 | Iustin Pop | htools/Ganeti/HTools/Loader.hs \ |
444 | d6159933 | Iustin Pop | htools/Ganeti/HTools/Node.hs \ |
445 | d6159933 | Iustin Pop | htools/Ganeti/HTools/PeerMap.hs \ |
446 | 9f13be88 | Iustin Pop | htools/Ganeti/HTools/Program.hs \ |
447 | 458a286a | Iustin Pop | htools/Ganeti/HTools/Program/Hail.hs \ |
448 | 201b6c34 | Iustin Pop | htools/Ganeti/HTools/Program/Hbal.hs \ |
449 | 22e513e7 | Agata Murawska | htools/Ganeti/HTools/Program/Hcheck.hs \ |
450 | 2922d2c5 | René Nussbaumer | htools/Ganeti/HTools/Program/Hinfo.hs \ |
451 | 7b695a0d | Iustin Pop | htools/Ganeti/HTools/Program/Hscan.hs \ |
452 | 1494a4cc | Iustin Pop | htools/Ganeti/HTools/Program/Hspace.hs \ |
453 | dad26941 | Iustin Pop | htools/Ganeti/HTools/Types.hs \ |
454 | 21dc8694 | Iustin Pop | htools/Ganeti/Hash.hs \ |
455 | f3baf5ef | Iustin Pop | htools/Ganeti/JSON.hs \ |
456 | dad26941 | Iustin Pop | htools/Ganeti/Jobs.hs \ |
457 | ba4e38e8 | Iustin Pop | htools/Ganeti/Logging.hs \ |
458 | d6159933 | Iustin Pop | htools/Ganeti/Luxi.hs \ |
459 | b1e81520 | Iustin Pop | htools/Ganeti/Objects.hs \ |
460 | e9aaa3c6 | Iustin Pop | htools/Ganeti/OpCodes.hs \ |
461 | 9eeb0aa5 | Michael Hanselmann | htools/Ganeti/Path.hs \ |
462 | 046fe3f5 | Iustin Pop | htools/Ganeti/Query/Common.hs \ |
463 | 8a65c02b | Iustin Pop | htools/Ganeti/Query/Filter.hs \ |
464 | 40246fa0 | Agata Murawska | htools/Ganeti/Query/Group.hs \ |
465 | 4cab6703 | Iustin Pop | htools/Ganeti/Query/Language.hs \ |
466 | 046fe3f5 | Iustin Pop | htools/Ganeti/Query/Node.hs \ |
467 | 4cbe9bda | Iustin Pop | htools/Ganeti/Query/Query.hs \ |
468 | 4cab6703 | Iustin Pop | htools/Ganeti/Query/Server.hs \ |
469 | 046fe3f5 | Iustin Pop | htools/Ganeti/Query/Types.hs \ |
470 | 4cab6703 | Iustin Pop | htools/Ganeti/Rpc.hs \ |
471 | 7946c25d | Iustin Pop | htools/Ganeti/Runtime.hs \ |
472 | aa3adf35 | Iustin Pop | htools/Ganeti/Ssconf.hs \ |
473 | 26d62e4c | Iustin Pop | htools/Ganeti/THH.hs \ |
474 | 26d62e4c | Iustin Pop | htools/Ganeti/Utils.hs |
475 | 51309138 | Iustin Pop | |
476 | 51309138 | Iustin Pop | HS_TEST_SRCS = \ |
477 | 1493a93b | Iustin Pop | htest/Test/Ganeti/BasicTypes.hs \ |
478 | 51000365 | Iustin Pop | htest/Test/Ganeti/Common.hs \ |
479 | 305e174c | Iustin Pop | htest/Test/Ganeti/Confd/Utils.hs \ |
480 | dad26941 | Iustin Pop | htest/Test/Ganeti/Daemon.hs \ |
481 | ef3ad027 | Iustin Pop | htest/Test/Ganeti/Errors.hs \ |
482 | 879d9290 | Iustin Pop | htest/Test/Ganeti/HTools/Backend/Simu.hs \ |
483 | 879d9290 | Iustin Pop | htest/Test/Ganeti/HTools/Backend/Text.hs \ |
484 | e1ee7d5a | Iustin Pop | htest/Test/Ganeti/HTools/CLI.hs \ |
485 | e1ee7d5a | Iustin Pop | htest/Test/Ganeti/HTools/Cluster.hs \ |
486 | e1ee7d5a | Iustin Pop | htest/Test/Ganeti/HTools/Container.hs \ |
487 | e1ee7d5a | Iustin Pop | htest/Test/Ganeti/HTools/Instance.hs \ |
488 | e1ee7d5a | Iustin Pop | htest/Test/Ganeti/HTools/Loader.hs \ |
489 | e1ee7d5a | Iustin Pop | htest/Test/Ganeti/HTools/Node.hs \ |
490 | e1ee7d5a | Iustin Pop | htest/Test/Ganeti/HTools/PeerMap.hs \ |
491 | e1ee7d5a | Iustin Pop | htest/Test/Ganeti/HTools/Types.hs \ |
492 | 2d87bd0a | Iustin Pop | htest/Test/Ganeti/JSON.hs \ |
493 | 2d87bd0a | Iustin Pop | htest/Test/Ganeti/Jobs.hs \ |
494 | aed2325f | Iustin Pop | htest/Test/Ganeti/Luxi.hs \ |
495 | 2733df51 | Iustin Pop | htest/Test/Ganeti/Objects.hs \ |
496 | aed2325f | Iustin Pop | htest/Test/Ganeti/OpCodes.hs \ |
497 | 90171729 | Iustin Pop | htest/Test/Ganeti/Query/Filter.hs \ |
498 | aed2325f | Iustin Pop | htest/Test/Ganeti/Query/Language.hs \ |
499 | b9bdc10e | Iustin Pop | htest/Test/Ganeti/Query/Query.hs \ |
500 | aed2325f | Iustin Pop | htest/Test/Ganeti/Rpc.hs \ |
501 | e1ee7d5a | Iustin Pop | htest/Test/Ganeti/Ssconf.hs \ |
502 | f51eacf3 | Iustin Pop | htest/Test/Ganeti/THH.hs \ |
503 | e1ee7d5a | Iustin Pop | htest/Test/Ganeti/TestCommon.hs \ |
504 | e1ee7d5a | Iustin Pop | htest/Test/Ganeti/TestHTools.hs \ |
505 | 26d62e4c | Iustin Pop | htest/Test/Ganeti/TestHelper.hs \ |
506 | 26d62e4c | Iustin Pop | htest/Test/Ganeti/Utils.hs |
507 | e4cc4c11 | Iustin Pop | |
508 | 51309138 | Iustin Pop | HS_LIBTEST_SRCS = $(HS_LIB_SRCS) $(HS_TEST_SRCS) |
509 | d6159933 | Iustin Pop | |
510 | b88fcdd0 | Iustin Pop | HS_BUILT_SRCS = \ |
511 | b88fcdd0 | Iustin Pop | htest/Test/Ganeti/TestImports.hs \ |
512 | b88fcdd0 | Iustin Pop | htools/Ganeti/Constants.hs \ |
513 | 2997cb0a | Iustin Pop | htools/Ganeti/Version.hs |
514 | c3f67183 | Iustin Pop | HS_BUILT_SRCS_IN = $(patsubst %,%.in,$(HS_BUILT_SRCS)) |
515 | d6159933 | Iustin Pop | |
516 | 3735787e | Iustin Pop | $(RUN_IN_TEMPDIR): | stamp-directories |
517 | c964d962 | Michael Hanselmann | |
518 | a2d917f3 | Iustin Pop | # Note: we use here an order-only prerequisite, as the contents of |
519 | a2d917f3 | Iustin Pop | # _autoconf.py are not actually influencing the html build output: it |
520 | a2d917f3 | Iustin Pop | # has to exist in order for the sphinx module to be loaded |
521 | a2d917f3 | Iustin Pop | # successfully, but we certainly don't want the docs to be rebuilt if |
522 | a2d917f3 | Iustin Pop | # it changes |
523 | c964d962 | Michael Hanselmann | doc/html/index.html: $(docrst) $(docpng) doc/conf.py configure.ac \ |
524 | 7142485a | Iustin Pop | $(RUN_IN_TEMPDIR) lib/build/sphinx_ext.py \ |
525 | 7142485a | Iustin Pop | lib/build/shell_example_lexer.py lib/opcodes.py lib/ht.py \ |
526 | 08366664 | Michael Hanselmann | | $(BUILT_PYTHON_SOURCES) |
527 | d17e74b4 | Iustin Pop | @test -n "$(SPHINX)" || \ |
528 | d17e74b4 | Iustin Pop | { echo 'sphinx-build' not found during configure; exit 1; } |
529 | 2750b299 | Michael Hanselmann | @mkdir_p@ $(dir $@) |
530 | e7f6524c | Michael Hanselmann | PYTHONPATH=. $(RUN_IN_TEMPDIR) $(SPHINX) -q -W -b html \ |
531 | 13de7d59 | Michael Hanselmann | -d . \ |
532 | d17e74b4 | Iustin Pop | -D version="$(VERSION_MAJOR).$(VERSION_MINOR)" \ |
533 | d17e74b4 | Iustin Pop | -D release="$(PACKAGE_VERSION)" \ |
534 | 13de7d59 | Michael Hanselmann | $(abs_top_srcdir)/doc $(CURDIR)/doc/html |
535 | 13de7d59 | Michael Hanselmann | rm -f doc/html/.buildinfo doc/html/objects.inv |
536 | 13de7d59 | Michael Hanselmann | touch $@ |
537 | 13de7d59 | Michael Hanselmann | |
538 | c964d962 | Michael Hanselmann | doc/html: doc/html/index.html |
539 | 2ab2b9f5 | Iustin Pop | |
540 | cbf3d64b | Michael Hanselmann | doc/install-quick.rst: INSTALL |
541 | b76aac08 | Michael Hanselmann | doc/news.rst: NEWS |
542 | 7a03d293 | Michael Hanselmann | doc/upgrade.rst: UPGRADE |
543 | b76aac08 | Michael Hanselmann | |
544 | e8deef56 | Michael Hanselmann | doc/install-quick.rst doc/news.rst doc/upgrade.rst: |
545 | cbf3d64b | Michael Hanselmann | set -e; \ |
546 | cbf3d64b | Michael Hanselmann | { echo '.. This file is automatically updated at build time from $<.'; \ |
547 | cbf3d64b | Michael Hanselmann | echo '.. Do not edit.'; \ |
548 | cbf3d64b | Michael Hanselmann | echo; \ |
549 | cbf3d64b | Michael Hanselmann | cat $<; \ |
550 | cbf3d64b | Michael Hanselmann | } > $@ |
551 | cbf3d64b | Michael Hanselmann | |
552 | b8195800 | Iustin Pop | docdot = \ |
553 | ca9ccea8 | Michael Hanselmann | doc/arch-2.0.dot \ |
554 | ca9ccea8 | Michael Hanselmann | doc/design-2.1-lock-acquire.dot \ |
555 | ca9ccea8 | Michael Hanselmann | doc/design-2.1-lock-release.dot |
556 | b8195800 | Iustin Pop | |
557 | d17e74b4 | Iustin Pop | docpng = $(patsubst %.dot,%.png,$(docdot)) |
558 | e8230860 | Michael Hanselmann | |
559 | 7e1ccbe0 | Michael Hanselmann | # Things to build but not to install (add it to EXTRA_DIST if it should be |
560 | 7e1ccbe0 | Michael Hanselmann | # distributed) |
561 | 7e1ccbe0 | Michael Hanselmann | noinst_DATA = \ |
562 | 7e1ccbe0 | Michael Hanselmann | devel/upload \ |
563 | 7e1ccbe0 | Michael Hanselmann | doc/html \ |
564 | 656a7fdf | Iustin Pop | $(BUILT_EXAMPLES) \ |
565 | 7e1ccbe0 | Michael Hanselmann | doc/examples/bash_completion \ |
566 | e80aeb89 | Michael Hanselmann | doc/examples/bash_completion-debug \ |
567 | 7e1ccbe0 | Michael Hanselmann | $(manhtml) |
568 | f29266b4 | Iustin Pop | |
569 | 4f3d5b76 | Michael Hanselmann | gnt_scripts = \ |
570 | e8230860 | Michael Hanselmann | scripts/gnt-backup \ |
571 | e8230860 | Michael Hanselmann | scripts/gnt-cluster \ |
572 | e8230860 | Michael Hanselmann | scripts/gnt-debug \ |
573 | 667dbd6b | Adeodato Simo | scripts/gnt-group \ |
574 | e8230860 | Michael Hanselmann | scripts/gnt-instance \ |
575 | e8230860 | Michael Hanselmann | scripts/gnt-job \ |
576 | e8230860 | Michael Hanselmann | scripts/gnt-node \ |
577 | e8230860 | Michael Hanselmann | scripts/gnt-os |
578 | e8230860 | Michael Hanselmann | |
579 | 0d2bf835 | René Nussbaumer | PYTHON_BOOTSTRAP_SBIN = \ |
580 | 29d91329 | Michael Hanselmann | daemons/ganeti-masterd \ |
581 | 5119f2ec | Michael Hanselmann | daemons/ganeti-noded \ |
582 | d9c82a4e | Michael Hanselmann | daemons/ganeti-rapi \ |
583 | dad26941 | Iustin Pop | daemons/ganeti-watcher \ |
584 | 656a7fdf | Iustin Pop | $(gnt_scripts) |
585 | 2d48a3a2 | Michael Hanselmann | |
586 | 0d2bf835 | René Nussbaumer | PYTHON_BOOTSTRAP = \ |
587 | 0d2bf835 | René Nussbaumer | $(PYTHON_BOOTSTRAP_SBIN) \ |
588 | d12b9f66 | Michael Hanselmann | tools/ensure-dirs \ |
589 | d12b9f66 | Michael Hanselmann | tools/prepare-node-join |
590 | 0d2bf835 | René Nussbaumer | |
591 | a8c68e44 | Michael Hanselmann | qa_scripts = \ |
592 | a0c3e726 | Michael Hanselmann | qa/__init__.py \ |
593 | a8c68e44 | Michael Hanselmann | qa/ganeti-qa.py \ |
594 | a8c68e44 | Michael Hanselmann | qa/qa_cluster.py \ |
595 | a8c68e44 | Michael Hanselmann | qa/qa_config.py \ |
596 | a8c68e44 | Michael Hanselmann | qa/qa_daemon.py \ |
597 | a8c68e44 | Michael Hanselmann | qa/qa_env.py \ |
598 | a8c68e44 | Michael Hanselmann | qa/qa_error.py \ |
599 | 21bf2e2e | Andrea Spadaccini | qa/qa_group.py \ |
600 | a8c68e44 | Michael Hanselmann | qa/qa_instance.py \ |
601 | 09470dd8 | Michael Hanselmann | qa/qa_job.py \ |
602 | a8c68e44 | Michael Hanselmann | qa/qa_node.py \ |
603 | a8c68e44 | Michael Hanselmann | qa/qa_os.py \ |
604 | a8c68e44 | Michael Hanselmann | qa/qa_rapi.py \ |
605 | a8c68e44 | Michael Hanselmann | qa/qa_tags.py \ |
606 | a8c68e44 | Michael Hanselmann | qa/qa_utils.py |
607 | a8c68e44 | Michael Hanselmann | |
608 | d6159933 | Iustin Pop | bin_SCRIPTS = |
609 | d6159933 | Iustin Pop | if WANT_HTOOLS |
610 | c3f67183 | Iustin Pop | bin_SCRIPTS += $(filter-out htools/hail,$(HS_PROGS)) |
611 | 458a286a | Iustin Pop | install-exec-hook: |
612 | 458a286a | Iustin Pop | @mkdir_p@ $(DESTDIR)$(iallocatorsdir) |
613 | 7fa52acd | Iustin Pop | # FIXME: this is a hardcoded logic, instead of auto-resolving |
614 | 7fa52acd | Iustin Pop | $(LN_S) -f ../../../bin/htools \ |
615 | 458a286a | Iustin Pop | $(DESTDIR)$(iallocatorsdir)/hail |
616 | 201b6c34 | Iustin Pop | for role in $(HS_BIN_ROLES); do \ |
617 | 7fa52acd | Iustin Pop | $(LN_S) -f htools \ |
618 | 201b6c34 | Iustin Pop | $(DESTDIR)$(bindir)/$$role ; \ |
619 | 201b6c34 | Iustin Pop | done |
620 | d6159933 | Iustin Pop | endif |
621 | d6159933 | Iustin Pop | |
622 | 51309138 | Iustin Pop | $(HS_ALL_PROGS): %: %.hs $(HS_LIBTEST_SRCS) $(HS_BUILT_SRCS) Makefile |
623 | 21a5e56c | Iustin Pop | @if [ "$(notdir $@)" = "test" ] && [ "$(HTOOLS_NODEV)" ]; then \ |
624 | 21a5e56c | Iustin Pop | echo "Error: cannot run unittests without the development" \ |
625 | 21a5e56c | Iustin Pop | " libraries (see devnotes.rst)" 1>&2; \ |
626 | fd0bc853 | Iustin Pop | exit 1; \ |
627 | 49e11c49 | Iustin Pop | fi |
628 | f0f3a6df | Iustin Pop | @rm -f $(notdir $@).tix |
629 | f0f3a6df | Iustin Pop | $(GHC) --make \ |
630 | ef958f2a | Iustin Pop | $(HFLAGS) \ |
631 | 21a5e56c | Iustin Pop | $(HTOOLS_NOCURL) $(HTOOLS_PARALLEL3) $(HTOOLS_REGEX_PCRE) \ |
632 | f0f3a6df | Iustin Pop | -osuf $(notdir $@).o -hisuf $(notdir $@).hi \ |
633 | c7ec3025 | Iustin Pop | $(HEXTRA) $(HEXTRA_INT) $@ |
634 | 70b6c284 | Iustin Pop | @touch "$@" |
635 | 70b6c284 | Iustin Pop | |
636 | f0f3a6df | Iustin Pop | # for the htest/test binary, we need to enable profiling/coverage |
637 | f0f3a6df | Iustin Pop | htest/test: HEXTRA_INT=-fhpc -ihtest |
638 | b91e9518 | Iustin Pop | |
639 | 896b2850 | Iustin Pop | # we compile the hpc-htools binary with the program coverage |
640 | f0f3a6df | Iustin Pop | htest/hpc-htools: HEXTRA_INT=-fhpc |
641 | 25cdf177 | Iustin Pop | |
642 | 04d15e63 | Iustin Pop | # test dependency |
643 | f0f3a6df | Iustin Pop | htest/offline-tests.sh: htest/hpc-htools |
644 | 04d15e63 | Iustin Pop | |
645 | c7ec3025 | Iustin Pop | # rules for building profiling-enabled versions of the haskell |
646 | c7ec3025 | Iustin Pop | # programs: hs-prof does the full two-step build, whereas |
647 | c7ec3025 | Iustin Pop | # hs-prof-quick does only the final rebuild (hs-prof must have been |
648 | c7ec3025 | Iustin Pop | # run before) |
649 | c7ec3025 | Iustin Pop | .PHONY: hs-prof hs-prof-quick |
650 | c7ec3025 | Iustin Pop | hs-prof: |
651 | b0b8458a | Iustin Pop | $(MAKE) $(AM_MAKEFLAGS) clean |
652 | b0b8458a | Iustin Pop | $(MAKE) $(AM_MAKEFLAGS) $(HS_ALL_PROGS) HEXTRA="-osuf .o" |
653 | c7ec3025 | Iustin Pop | rm -f $(HS_ALL_PROGS) |
654 | b0b8458a | Iustin Pop | $(MAKE) $(AM_MAKEFLAGS) hs-prof-quick |
655 | c7ec3025 | Iustin Pop | |
656 | c7ec3025 | Iustin Pop | hs-prof-quick: |
657 | b0b8458a | Iustin Pop | $(MAKE) $(AM_MAKEFLAGS) $(HS_ALL_PROGS) HEXTRA="-osuf .prof_o -prof -auto-all" |
658 | c7ec3025 | Iustin Pop | |
659 | da7e44ee | Michael Hanselmann | dist_sbin_SCRIPTS = \ |
660 | da7e44ee | Michael Hanselmann | tools/ganeti-listrunner |
661 | 4f3d5b76 | Michael Hanselmann | |
662 | fc3fd894 | Michael Hanselmann | nodist_sbin_SCRIPTS = \ |
663 | 0d2bf835 | René Nussbaumer | $(PYTHON_BOOTSTRAP_SBIN) \ |
664 | 46118ed2 | Iustin Pop | daemons/ganeti-cleaner |
665 | fc3fd894 | Michael Hanselmann | |
666 | 04520998 | Iustin Pop | if ENABLE_CONFD |
667 | b0dcdc10 | Iustin Pop | htools/ganeti-confd: htools/hconfd |
668 | b0dcdc10 | Iustin Pop | cp -f $< $@ |
669 | b0dcdc10 | Iustin Pop | |
670 | b0dcdc10 | Iustin Pop | nodist_sbin_SCRIPTS += htools/ganeti-confd |
671 | 73b0fa69 | Iustin Pop | endif |
672 | 73b0fa69 | Iustin Pop | |
673 | cc120286 | Bernardo Dal Seno | python_scripts = \ |
674 | e8230860 | Michael Hanselmann | tools/burnin \ |
675 | e8230860 | Michael Hanselmann | tools/cfgshell \ |
676 | e8230860 | Michael Hanselmann | tools/cfgupgrade \ |
677 | b5672ea0 | Iustin Pop | tools/cfgupgrade12 \ |
678 | 1f7d3f7d | René Nussbaumer | tools/cluster-merge \ |
679 | 4ef0399b | Iustin Pop | tools/confd-client \ |
680 | d62cbd3a | Michael Hanselmann | tools/fmtjson \ |
681 | ea5fd476 | Iustin Pop | tools/lvmstrap \ |
682 | 6bf273d5 | Michael Hanselmann | tools/move-instance \ |
683 | ced78a66 | Agata Murawska | tools/ovfconverter \ |
684 | 8a670753 | Michael Hanselmann | tools/sanitize-config |
685 | e8230860 | Michael Hanselmann | |
686 | 61631293 | Stephen Shirley | dist_tools_SCRIPTS = \ |
687 | cc120286 | Bernardo Dal Seno | $(python_scripts) \ |
688 | 2f4c951e | Stephen Shirley | tools/kvm-console-wrapper \ |
689 | dad26941 | Iustin Pop | tools/master-ip-setup \ |
690 | dad26941 | Iustin Pop | tools/xm-console-wrapper |
691 | 61631293 | Stephen Shirley | |
692 | 29386d3e | Michael Hanselmann | nodist_tools_SCRIPTS = \ |
693 | 29386d3e | Michael Hanselmann | tools/vcluster-setup |
694 | 29386d3e | Michael Hanselmann | |
695 | 2d76b580 | Michael Hanselmann | pkglib_python_scripts = \ |
696 | c6ccba7e | Michael Hanselmann | daemons/import-export \ |
697 | c6ccba7e | Michael Hanselmann | tools/check-cert-expired |
698 | 2d76b580 | Michael Hanselmann | |
699 | 0d2bf835 | René Nussbaumer | nodist_pkglib_python_scripts = \ |
700 | d12b9f66 | Michael Hanselmann | tools/ensure-dirs \ |
701 | d12b9f66 | Michael Hanselmann | tools/prepare-node-join |
702 | 0d2bf835 | René Nussbaumer | |
703 | b8fe7ca6 | Iustin Pop | myexeclib_SCRIPTS = \ |
704 | 2d76b580 | Michael Hanselmann | daemons/daemon-util \ |
705 | 26916aad | Apollon Oikonomopoulos | tools/kvm-ifup \ |
706 | 2d76b580 | Michael Hanselmann | $(pkglib_python_scripts) |
707 | f154a7a3 | Michael Hanselmann | |
708 | b8fe7ca6 | Iustin Pop | nodist_myexeclib_SCRIPTS = \ |
709 | 0d2bf835 | René Nussbaumer | $(nodist_pkglib_python_scripts) |
710 | 0d2bf835 | René Nussbaumer | |
711 | e8230860 | Michael Hanselmann | EXTRA_DIST = \ |
712 | e8230860 | Michael Hanselmann | NEWS \ |
713 | 7a03d293 | Michael Hanselmann | UPGRADE \ |
714 | f774bd03 | Michael Hanselmann | epydoc.conf.in \ |
715 | 70c771f6 | Michael Hanselmann | pylintrc \ |
716 | bb46a96c | Michael Hanselmann | autotools/build-bash-completion \ |
717 | d5a2a550 | Michael Hanselmann | autotools/build-rpc \ |
718 | 5d3c30df | Michael Hanselmann | autotools/check-header \ |
719 | f6cbcc06 | Michael Hanselmann | autotools/check-imports \ |
720 | c55cc346 | Iustin Pop | autotools/check-man-dashes \ |
721 | 73d0e218 | Iustin Pop | autotools/check-man-warnings \ |
722 | c81ed2b2 | Michael Hanselmann | autotools/check-news \ |
723 | dad26941 | Iustin Pop | autotools/check-python-code \ |
724 | e627fe09 | Michael Hanselmann | autotools/check-tar \ |
725 | 96602be4 | Michael Hanselmann | autotools/check-version \ |
726 | d99d1e36 | Iustin Pop | autotools/convert-constants \ |
727 | 95eb4188 | Michael Hanselmann | autotools/docpp \ |
728 | 27e336af | Michael Hanselmann | autotools/gen-coverage \ |
729 | df69e0a0 | Bernardo Dal Seno | autotools/testrunner \ |
730 | 387863a5 | Iustin Pop | autotools/wrong-hardcoded-paths \ |
731 | f3313af5 | Guido Trotter | $(RUN_IN_TEMPDIR) \ |
732 | f154a7a3 | Michael Hanselmann | daemons/daemon-util.in \ |
733 | fc3fd894 | Michael Hanselmann | daemons/ganeti-cleaner.in \ |
734 | 2d76b580 | Michael Hanselmann | $(pkglib_python_scripts) \ |
735 | e8230860 | Michael Hanselmann | devel/upload.in \ |
736 | 26916aad | Apollon Oikonomopoulos | tools/kvm-ifup.in \ |
737 | 29386d3e | Michael Hanselmann | tools/vcluster-setup.in \ |
738 | b8195800 | Iustin Pop | $(docdot) \ |
739 | f727d134 | Michael Hanselmann | $(docpng) \ |
740 | d17e74b4 | Iustin Pop | $(docrst) \ |
741 | d17e74b4 | Iustin Pop | doc/conf.py \ |
742 | d17e74b4 | Iustin Pop | doc/html \ |
743 | 656a7fdf | Iustin Pop | $(BUILT_EXAMPLES:%=%.in) \ |
744 | 752a8ca8 | Michael Hanselmann | doc/examples/ganeti.default \ |
745 | 752a8ca8 | Michael Hanselmann | doc/examples/ganeti.default-debug \ |
746 | d6d9ce45 | Guido Trotter | doc/examples/hooks/ethers \ |
747 | 89c04c2d | Guido Trotter | doc/examples/gnt-debug/README \ |
748 | 89c04c2d | Guido Trotter | doc/examples/gnt-debug/delay0.json \ |
749 | 89c04c2d | Guido Trotter | doc/examples/gnt-debug/delay50.json \ |
750 | e4d452b4 | Michael Hanselmann | test/lockperf.py \ |
751 | e8230860 | Michael Hanselmann | test/testutils.py \ |
752 | e8230860 | Michael Hanselmann | test/mocks.py \ |
753 | e8230860 | Michael Hanselmann | $(dist_TESTS) \ |
754 | e8230860 | Michael Hanselmann | $(TEST_FILES) \ |
755 | 6be8e2bf | Iustin Pop | man/footer.rst \ |
756 | 6be8e2bf | Iustin Pop | $(manrst) \ |
757 | f727d134 | Michael Hanselmann | $(maninput) \ |
758 | 39e0d19e | Michael Hanselmann | qa/qa-sample.json \ |
759 | d6159933 | Iustin Pop | $(qa_scripts) \ |
760 | 51309138 | Iustin Pop | $(HS_LIBTEST_SRCS) $(HS_BUILT_SRCS_IN) \ |
761 | 5a1e31b4 | Iustin Pop | $(HS_PROG_SRCS) \ |
762 | 04d15e63 | Iustin Pop | htools/lint-hints.hs \ |
763 | f0f3a6df | Iustin Pop | htest/cli-tests-defs.sh \ |
764 | 7a07475f | Iustin Pop | htest/offline-test.sh \ |
765 | 7a07475f | Iustin Pop | .ghci |
766 | e8230860 | Michael Hanselmann | |
767 | e8230860 | Michael Hanselmann | man_MANS = \ |
768 | bae7e531 | Michael Hanselmann | man/ganeti-cleaner.8 \ |
769 | b7b7cda6 | Guido Trotter | man/ganeti-confd.8 \ |
770 | da7e44ee | Michael Hanselmann | man/ganeti-listrunner.8 \ |
771 | 320d986d | Iustin Pop | man/ganeti-masterd.8 \ |
772 | e8230860 | Michael Hanselmann | man/ganeti-noded.8 \ |
773 | e8230860 | Michael Hanselmann | man/ganeti-os-interface.7 \ |
774 | 320d986d | Iustin Pop | man/ganeti-rapi.8 \ |
775 | e8230860 | Michael Hanselmann | man/ganeti-watcher.8 \ |
776 | dad26941 | Iustin Pop | man/ganeti.7 \ |
777 | e8230860 | Michael Hanselmann | man/gnt-backup.8 \ |
778 | e8230860 | Michael Hanselmann | man/gnt-cluster.8 \ |
779 | d3b4cf9f | Iustin Pop | man/gnt-debug.8 \ |
780 | 667dbd6b | Adeodato Simo | man/gnt-group.8 \ |
781 | e8230860 | Michael Hanselmann | man/gnt-instance.8 \ |
782 | d3b4cf9f | Iustin Pop | man/gnt-job.8 \ |
783 | e8230860 | Michael Hanselmann | man/gnt-node.8 \ |
784 | 5a19bd35 | Iustin Pop | man/gnt-os.8 \ |
785 | 5a19bd35 | Iustin Pop | man/hail.1 \ |
786 | 5a19bd35 | Iustin Pop | man/hbal.1 \ |
787 | f18e4168 | Iustin Pop | man/hcheck.1 \ |
788 | e2bdaf25 | René Nussbaumer | man/hinfo.1 \ |
789 | 5a19bd35 | Iustin Pop | man/hscan.1 \ |
790 | d26d808a | Iustin Pop | man/hspace.1 \ |
791 | d26d808a | Iustin Pop | man/htools.1 |
792 | e8230860 | Michael Hanselmann | |
793 | 5a19bd35 | Iustin Pop | manrst = $(patsubst %.1,%.rst,$(patsubst %.7,%.rst,$(patsubst %.8,%.rst,$(man_MANS)))) |
794 | 6be8e2bf | Iustin Pop | manhtml = $(patsubst %.rst,%.html,$(manrst)) |
795 | fcdb582d | Michael Hanselmann | mangen = $(patsubst %.rst,%.gen,$(manrst)) |
796 | 25c92bc5 | Michael Hanselmann | maninput = \ |
797 | 5a19bd35 | Iustin Pop | $(patsubst %.1,%.1.in,$(patsubst %.7,%.7.in,$(patsubst %.8,%.8.in,$(man_MANS)))) \ |
798 | de8eea3e | Iustin Pop | $(patsubst %.html,%.html.in,$(manhtml)) \ |
799 | fcdb582d | Michael Hanselmann | man/footer.man man/footer.html $(mangen) |
800 | e8230860 | Michael Hanselmann | |
801 | e8230860 | Michael Hanselmann | TEST_FILES = \ |
802 | dad26941 | Iustin Pop | htest/data/common-suffix.data \ |
803 | dad26941 | Iustin Pop | htest/data/hail-alloc-drbd.json \ |
804 | dad26941 | Iustin Pop | htest/data/hail-change-group.json \ |
805 | dad26941 | Iustin Pop | htest/data/hail-invalid-reloc.json \ |
806 | dad26941 | Iustin Pop | htest/data/hail-node-evac.json \ |
807 | dad26941 | Iustin Pop | htest/data/hail-reloc-drbd.json \ |
808 | 659d769d | Dato Simó | htest/data/hbal-excl-tags.data \ |
809 | dad26941 | Iustin Pop | htest/data/hbal-split-insts.data \ |
810 | dad26941 | Iustin Pop | htest/data/invalid-node.data \ |
811 | dad26941 | Iustin Pop | htest/data/missing-resources.data \ |
812 | dad26941 | Iustin Pop | htest/data/rapi/groups.json \ |
813 | dad26941 | Iustin Pop | htest/data/rapi/info.json \ |
814 | dad26941 | Iustin Pop | htest/data/rapi/instances.json \ |
815 | dad26941 | Iustin Pop | htest/data/rapi/nodes.json \ |
816 | dad26941 | Iustin Pop | htest/shelltests/htools-balancing.test \ |
817 | dad26941 | Iustin Pop | htest/shelltests/htools-basic.test \ |
818 | dad26941 | Iustin Pop | htest/shelltests/htools-dynutil.test \ |
819 | dad26941 | Iustin Pop | htest/shelltests/htools-excl.test \ |
820 | dad26941 | Iustin Pop | htest/shelltests/htools-hail.test \ |
821 | dad26941 | Iustin Pop | htest/shelltests/htools-hspace.test \ |
822 | dad26941 | Iustin Pop | htest/shelltests/htools-invalid.test \ |
823 | dad26941 | Iustin Pop | htest/shelltests/htools-multi-group.test \ |
824 | dad26941 | Iustin Pop | htest/shelltests/htools-no-backend.test \ |
825 | dad26941 | Iustin Pop | htest/shelltests/htools-rapi.test \ |
826 | dad26941 | Iustin Pop | htest/shelltests/htools-single-group.test \ |
827 | dad26941 | Iustin Pop | htest/shelltests/htools-text-backend.test \ |
828 | 5a672c30 | Manuel Franceschini | test/data/bdev-drbd-8.0.txt \ |
829 | 5a672c30 | Manuel Franceschini | test/data/bdev-drbd-8.3.txt \ |
830 | 5a672c30 | Manuel Franceschini | test/data/bdev-drbd-disk.txt \ |
831 | 5a672c30 | Manuel Franceschini | test/data/bdev-drbd-net-ip4.txt \ |
832 | 5a672c30 | Manuel Franceschini | test/data/bdev-drbd-net-ip6.txt \ |
833 | 27e46076 | Michael Hanselmann | test/data/cert1.pem \ |
834 | d12b9f66 | Michael Hanselmann | test/data/cert2.pem \ |
835 | e5d1d1b5 | Andrea Spadaccini | test/data/ip-addr-show-dummy0.txt \ |
836 | e5d1d1b5 | Andrea Spadaccini | test/data/ip-addr-show-lo-ipv4.txt \ |
837 | e5d1d1b5 | Andrea Spadaccini | test/data/ip-addr-show-lo-ipv6.txt \ |
838 | e5d1d1b5 | Andrea Spadaccini | test/data/ip-addr-show-lo-oneline-ipv4.txt \ |
839 | e5d1d1b5 | Andrea Spadaccini | test/data/ip-addr-show-lo-oneline-ipv6.txt \ |
840 | e5d1d1b5 | Andrea Spadaccini | test/data/ip-addr-show-lo-oneline.txt \ |
841 | e5d1d1b5 | Andrea Spadaccini | test/data/ip-addr-show-lo.txt \ |
842 | 585c8187 | Guido Trotter | test/data/kvm_0.12.5_help.txt \ |
843 | dad26941 | Iustin Pop | test/data/kvm_0.15.90_help.txt \ |
844 | 585c8187 | Guido Trotter | test/data/kvm_0.9.1_help.txt \ |
845 | dad26941 | Iustin Pop | test/data/kvm_1.0_help.txt \ |
846 | 1e6fab60 | Agata Murawska | test/data/ovfdata/compr_disk.vmdk.gz \ |
847 | d92518d3 | Agata Murawska | test/data/ovfdata/config.ini \ |
848 | 1e6fab60 | Agata Murawska | test/data/ovfdata/corrupted_resources.ovf \ |
849 | d92518d3 | Agata Murawska | test/data/ovfdata/empty.ini \ |
850 | 1e6fab60 | Agata Murawska | test/data/ovfdata/empty.ovf \ |
851 | 1e6fab60 | Agata Murawska | test/data/ovfdata/ganeti.mf \ |
852 | 1e6fab60 | Agata Murawska | test/data/ovfdata/ganeti.ovf \ |
853 | 1e6fab60 | Agata Murawska | test/data/ovfdata/gzip_disk.ovf \ |
854 | 1e6fab60 | Agata Murawska | test/data/ovfdata/new_disk.vmdk \ |
855 | d92518d3 | Agata Murawska | test/data/ovfdata/no_disk.ini \ |
856 | 1e6fab60 | Agata Murawska | test/data/ovfdata/no_disk_in_ref.ovf \ |
857 | d92518d3 | Agata Murawska | test/data/ovfdata/no_os.ini \ |
858 | 1e6fab60 | Agata Murawska | test/data/ovfdata/no_ovf.ova \ |
859 | dad26941 | Iustin Pop | test/data/ovfdata/other/rawdisk.raw \ |
860 | 1e6fab60 | Agata Murawska | test/data/ovfdata/ova.ova \ |
861 | d92518d3 | Agata Murawska | test/data/ovfdata/rawdisk.raw \ |
862 | dad26941 | Iustin Pop | test/data/ovfdata/second_disk.vmdk \ |
863 | d92518d3 | Agata Murawska | test/data/ovfdata/unsafe_path.ini \ |
864 | 1e6fab60 | Agata Murawska | test/data/ovfdata/virtualbox.ovf \ |
865 | d92518d3 | Agata Murawska | test/data/ovfdata/wrong_config.ini \ |
866 | dad26941 | Iustin Pop | test/data/ovfdata/wrong_extension.ovd \ |
867 | 1e6fab60 | Agata Murawska | test/data/ovfdata/wrong_manifest.mf \ |
868 | 1e6fab60 | Agata Murawska | test/data/ovfdata/wrong_manifest.ovf \ |
869 | 1e6fab60 | Agata Murawska | test/data/ovfdata/wrong_ova.ova \ |
870 | 1e6fab60 | Agata Murawska | test/data/ovfdata/wrong_xml.ovf \ |
871 | dad26941 | Iustin Pop | test/data/proc_drbd8.txt \ |
872 | dad26941 | Iustin Pop | test/data/proc_drbd80-emptyline.txt \ |
873 | dad26941 | Iustin Pop | test/data/proc_drbd83.txt \ |
874 | dad26941 | Iustin Pop | test/data/proc_drbd83_sync.txt \ |
875 | dad26941 | Iustin Pop | test/data/proc_drbd83_sync_krnl2.6.39.txt \ |
876 | dad26941 | Iustin Pop | test/data/sys_drbd_usermode_helper.txt \ |
877 | 1a1e7ab3 | Iustin Pop | test/data/vgreduce-removemissing-2.02.02.txt \ |
878 | 1a1e7ab3 | Iustin Pop | test/data/vgreduce-removemissing-2.02.66-fail.txt \ |
879 | 1a1e7ab3 | Iustin Pop | test/data/vgreduce-removemissing-2.02.66-ok.txt \ |
880 | 1a1e7ab3 | Iustin Pop | test/data/vgs-missing-pvs-2.02.02.txt \ |
881 | 1a1e7ab3 | Iustin Pop | test/data/vgs-missing-pvs-2.02.66.txt \ |
882 | 30f2802f | Iustin Pop | test/ganeti-cli.test \ |
883 | dad26941 | Iustin Pop | test/gnt-cli.test \ |
884 | dad26941 | Iustin Pop | test/import-export_unittest-helper |
885 | e8230860 | Michael Hanselmann | |
886 | e8c8cf1a | Michael Hanselmann | python_tests = \ |
887 | 3ade0e0e | Michael Hanselmann | doc/examples/rapi_testutils.py \ |
888 | dad26941 | Iustin Pop | test/cfgupgrade_unittest.py \ |
889 | dad26941 | Iustin Pop | test/docs_unittest.py \ |
890 | 17496050 | Guido Trotter | test/ganeti.asyncnotifier_unittest.py \ |
891 | f942a838 | Michael Hanselmann | test/ganeti.backend_unittest.py \ |
892 | 6de7c41d | Iustin Pop | test/ganeti.bdev_unittest.py \ |
893 | 6de7c41d | Iustin Pop | test/ganeti.cli_unittest.py \ |
894 | 66d1f035 | René Nussbaumer | test/ganeti.client.gnt_cluster_unittest.py \ |
895 | 25ce3ec4 | Michael Hanselmann | test/ganeti.client.gnt_instance_unittest.py \ |
896 | e1c701e7 | Michael Hanselmann | test/ganeti.client.gnt_job_unittest.py \ |
897 | 6de7c41d | Iustin Pop | test/ganeti.cmdlib_unittest.py \ |
898 | cea881e5 | Michael Hanselmann | test/ganeti.compat_unittest.py \ |
899 | edf7d66e | Iustin Pop | test/ganeti.confd.client_unittest.py \ |
900 | e8230860 | Michael Hanselmann | test/ganeti.config_unittest.py \ |
901 | 6de7c41d | Iustin Pop | test/ganeti.constants_unittest.py \ |
902 | dad26941 | Iustin Pop | test/ganeti.daemon_unittest.py \ |
903 | 3bd19c66 | Michael Hanselmann | test/ganeti.errors_unittest.py \ |
904 | e8230860 | Michael Hanselmann | test/ganeti.hooks_unittest.py \ |
905 | ecdf0398 | Michael Hanselmann | test/ganeti.ht_unittest.py \ |
906 | 6de7c41d | Iustin Pop | test/ganeti.http_unittest.py \ |
907 | 55cc0a44 | Michael Hanselmann | test/ganeti.hypervisor.hv_chroot_unittest.py \ |
908 | 55cc0a44 | Michael Hanselmann | test/ganeti.hypervisor.hv_fake_unittest.py \ |
909 | 748e4b5a | Michael Hanselmann | test/ganeti.hypervisor.hv_kvm_unittest.py \ |
910 | 55cc0a44 | Michael Hanselmann | test/ganeti.hypervisor.hv_lxc_unittest.py \ |
911 | 55cc0a44 | Michael Hanselmann | test/ganeti.hypervisor.hv_xen_unittest.py \ |
912 | dad26941 | Iustin Pop | test/ganeti.hypervisor_unittest.py \ |
913 | bb44b1ae | Michael Hanselmann | test/ganeti.impexpd_unittest.py \ |
914 | 989a8bee | Michael Hanselmann | test/ganeti.jqueue_unittest.py \ |
915 | 6f1aa78d | Michael Hanselmann | test/ganeti.jstore_unittest.py \ |
916 | e8230860 | Michael Hanselmann | test/ganeti.locking_unittest.py \ |
917 | 231db3a5 | Michael Hanselmann | test/ganeti.luxi_unittest.py \ |
918 | 33b4fa9f | René Nussbaumer | test/ganeti.masterd.iallocator_unittest.py \ |
919 | 033a1d00 | Michael Hanselmann | test/ganeti.masterd.instance_unittest.py \ |
920 | 407339d0 | Michael Hanselmann | test/ganeti.mcpu_unittest.py \ |
921 | a744b676 | Manuel Franceschini | test/ganeti.netutils_unittest.py \ |
922 | 4c14965f | Guido Trotter | test/ganeti.objects_unittest.py \ |
923 | 32683096 | René Nussbaumer | test/ganeti.objectutils_unittest.py \ |
924 | c32b908e | Michael Hanselmann | test/ganeti.opcodes_unittest.py \ |
925 | 1e6fab60 | Agata Murawska | test/ganeti.ovf_unittest.py \ |
926 | a123dc19 | Michael Hanselmann | test/ganeti.qlang_unittest.py \ |
927 | 4ca96421 | Michael Hanselmann | test/ganeti.query_unittest.py \ |
928 | cfaeaaf7 | Michael Hanselmann | test/ganeti.rapi.baserlib_unittest.py \ |
929 | 95ab4de9 | David Knowles | test/ganeti.rapi.client_unittest.py \ |
930 | 4cbd4462 | Oleksiy Mishchenko | test/ganeti.rapi.resources_unittest.py \ |
931 | 6395cebb | Michael Hanselmann | test/ganeti.rapi.rlib2_unittest.py \ |
932 | a85f23fa | Michael Hanselmann | test/ganeti.rapi.testutils_unittest.py \ |
933 | 33231500 | Michael Hanselmann | test/ganeti.rpc_unittest.py \ |
934 | f12e1736 | René Nussbaumer | test/ganeti.runtime_unittest.py \ |
935 | 6de7c41d | Iustin Pop | test/ganeti.serializer_unittest.py \ |
936 | 6de7c41d | Iustin Pop | test/ganeti.ssh_unittest.py \ |
937 | 048eeb2b | Iustin Pop | test/ganeti.storage_unittest.py \ |
938 | 0d2bf835 | René Nussbaumer | test/ganeti.tools.ensure_dirs_unittest.py \ |
939 | d12b9f66 | Michael Hanselmann | test/ganeti.tools.prepare_node_join_unittest.py \ |
940 | 93be53da | Balazs Lecz | test/ganeti.uidpool_unittest.py \ |
941 | 4fd029cf | Michael Hanselmann | test/ganeti.utils.algo_unittest.py \ |
942 | 9d1b963f | Michael Hanselmann | test/ganeti.utils.filelock_unittest.py \ |
943 | f21bb4b7 | Michael Hanselmann | test/ganeti.utils.hash_unittest.py \ |
944 | 7ebadeb3 | Bernardo Dal Seno | test/ganeti.utils.io_unittest-runasroot.py \ |
945 | dad26941 | Iustin Pop | test/ganeti.utils.io_unittest.py \ |
946 | b6fa9a44 | Michael Hanselmann | test/ganeti.utils.log_unittest.py \ |
947 | 8dc76d54 | Guido Trotter | test/ganeti.utils.mlock_unittest.py \ |
948 | 17b97ab3 | Michael Hanselmann | test/ganeti.utils.nodesetup_unittest.py \ |
949 | a4ccecf6 | Michael Hanselmann | test/ganeti.utils.process_unittest.py \ |
950 | 79d22269 | Michael Hanselmann | test/ganeti.utils.retry_unittest.py \ |
951 | 7fcffe27 | Michael Hanselmann | test/ganeti.utils.text_unittest.py \ |
952 | 7831fc5f | Michael Hanselmann | test/ganeti.utils.wrapper_unittest.py \ |
953 | c50645c0 | Michael Hanselmann | test/ganeti.utils.x509_unittest.py \ |
954 | 4fd029cf | Michael Hanselmann | test/ganeti.utils_unittest.py \ |
955 | 05e733b4 | Michael Hanselmann | test/ganeti.vcluster_unittest.py \ |
956 | 3f991867 | Michael Hanselmann | test/ganeti.workerpool_unittest.py \ |
957 | 4fd2660d | Michael Hanselmann | test/pycurl_reset_unittest.py \ |
958 | dad26941 | Iustin Pop | test/qa.qa_config_unittest.py \ |
959 | 055f822b | Michael Hanselmann | test/tempfile_fork_unittest.py |
960 | e8230860 | Michael Hanselmann | |
961 | f0f3a6df | Iustin Pop | haskell_tests = htest/test |
962 | b91e9518 | Iustin Pop | |
963 | e8c8cf1a | Michael Hanselmann | dist_TESTS = \ |
964 | 7172f605 | Michael Hanselmann | test/check-cert-expired_unittest.bash \ |
965 | 571b34f8 | Michael Hanselmann | test/daemon-util_unittest.bash \ |
966 | 7172f605 | Michael Hanselmann | test/ganeti-cleaner_unittest.bash \ |
967 | 2d76b580 | Michael Hanselmann | test/import-export_unittest.bash \ |
968 | 30f2802f | Iustin Pop | test/cli-test.bash \ |
969 | 92886204 | Michael Hanselmann | test/bash_completion.bash \ |
970 | e8c8cf1a | Michael Hanselmann | $(python_tests) |
971 | e8c8cf1a | Michael Hanselmann | |
972 | e8230860 | Michael Hanselmann | nodist_TESTS = |
973 | d3cd5a3f | Iustin Pop | check_SCRIPTS = |
974 | d3cd5a3f | Iustin Pop | |
975 | e5f6768c | Iustin Pop | if WANT_HTOOLSTESTS |
976 | b91e9518 | Iustin Pop | nodist_TESTS += $(haskell_tests) |
977 | f0f3a6df | Iustin Pop | dist_TESTS += htest/offline-test.sh |
978 | f0f3a6df | Iustin Pop | check_SCRIPTS += htest/hpc-htools $(HS_BUILT_TEST_HELPERS) |
979 | b91e9518 | Iustin Pop | endif |
980 | e8230860 | Michael Hanselmann | |
981 | e8230860 | Michael Hanselmann | TESTS = $(dist_TESTS) $(nodist_TESTS) |
982 | e8230860 | Michael Hanselmann | |
983 | 27e336af | Michael Hanselmann | # Environment for all tests |
984 | 27e336af | Michael Hanselmann | PLAIN_TESTS_ENVIRONMENT = \ |
985 | 30f2802f | Iustin Pop | PYTHONPATH=. \ |
986 | 30f2802f | Iustin Pop | TOP_SRCDIR=$(abs_top_srcdir) TOP_BUILDDIR=$(abs_top_builddir) \ |
987 | 30f2802f | Iustin Pop | PYTHON=$(PYTHON) FAKEROOT=$(FAKEROOT_PATH) \ |
988 | 30f2802f | Iustin Pop | $(RUN_IN_TEMPDIR) |
989 | 27e336af | Michael Hanselmann | |
990 | 27e336af | Michael Hanselmann | # Environment for tests run by automake |
991 | f848ac00 | Michael Hanselmann | TESTS_ENVIRONMENT = \ |
992 | e8c8cf1a | Michael Hanselmann | $(PLAIN_TESTS_ENVIRONMENT) $(abs_top_srcdir)/autotools/testrunner |
993 | 6e06b36c | Iustin Pop | |
994 | eed5c5df | Michael Hanselmann | all_python_code = \ |
995 | 01a3a718 | Michael Hanselmann | $(dist_sbin_SCRIPTS) \ |
996 | cc120286 | Bernardo Dal Seno | $(python_scripts) \ |
997 | 2d76b580 | Michael Hanselmann | $(pkglib_python_scripts) \ |
998 | 0d2bf835 | René Nussbaumer | $(nodist_pkglib_python_scripts) \ |
999 | e8c8cf1a | Michael Hanselmann | $(python_tests) \ |
1000 | 01a3a718 | Michael Hanselmann | $(pkgpython_PYTHON) \ |
1001 | 2d48a3a2 | Michael Hanselmann | $(client_PYTHON) \ |
1002 | 01a3a718 | Michael Hanselmann | $(hypervisor_PYTHON) \ |
1003 | 01a3a718 | Michael Hanselmann | $(rapi_PYTHON) \ |
1004 | 899c4d2c | Michael Hanselmann | $(server_PYTHON) \ |
1005 | 0d2bf835 | René Nussbaumer | $(pytools_PYTHON) \ |
1006 | 01a3a718 | Michael Hanselmann | $(http_PYTHON) \ |
1007 | 01a3a718 | Michael Hanselmann | $(confd_PYTHON) \ |
1008 | dc101ecc | Michael Hanselmann | $(masterd_PYTHON) \ |
1009 | bb44b1ae | Michael Hanselmann | $(impexpd_PYTHON) \ |
1010 | c047a981 | Michael Hanselmann | $(utils_PYTHON) \ |
1011 | 9f4bb951 | Michael Hanselmann | $(watcher_PYTHON) \ |
1012 | a8c68e44 | Michael Hanselmann | $(noinst_PYTHON) \ |
1013 | a8c68e44 | Michael Hanselmann | $(qa_scripts) |
1014 | 01a3a718 | Michael Hanselmann | |
1015 | eed5c5df | Michael Hanselmann | srclink_files = \ |
1016 | 6be8e2bf | Iustin Pop | man/footer.rst \ |
1017 | 7172f605 | Michael Hanselmann | test/check-cert-expired_unittest.bash \ |
1018 | 571b34f8 | Michael Hanselmann | test/daemon-util_unittest.bash \ |
1019 | 7172f605 | Michael Hanselmann | test/ganeti-cleaner_unittest.bash \ |
1020 | 2d76b580 | Michael Hanselmann | test/import-export_unittest.bash \ |
1021 | 30f2802f | Iustin Pop | test/cli-test.bash \ |
1022 | 92886204 | Michael Hanselmann | test/bash_completion.bash \ |
1023 | f0f3a6df | Iustin Pop | htest/offline-test.sh \ |
1024 | f0f3a6df | Iustin Pop | htest/cli-tests-defs.sh \ |
1025 | d6159933 | Iustin Pop | $(all_python_code) \ |
1026 | 51309138 | Iustin Pop | $(HS_LIBTEST_SRCS) $(HS_PROG_SRCS) |
1027 | eed5c5df | Michael Hanselmann | |
1028 | eed5c5df | Michael Hanselmann | check_python_code = \ |
1029 | e4e7c7df | Michael Hanselmann | $(BUILD_BASH_COMPLETION) \ |
1030 | f6cbcc06 | Michael Hanselmann | $(CHECK_IMPORTS) \ |
1031 | 5d3c30df | Michael Hanselmann | $(CHECK_HEADER) \ |
1032 | 95eb4188 | Michael Hanselmann | $(DOCPP) \ |
1033 | eed5c5df | Michael Hanselmann | $(all_python_code) |
1034 | eed5c5df | Michael Hanselmann | |
1035 | e4e7c7df | Michael Hanselmann | lint_python_code = \ |
1036 | f60d352e | Michael Hanselmann | ganeti \ |
1037 | f1763373 | Iustin Pop | ganeti/http/server.py \ |
1038 | f60d352e | Michael Hanselmann | $(dist_sbin_SCRIPTS) \ |
1039 | cc120286 | Bernardo Dal Seno | $(python_scripts) \ |
1040 | 2d76b580 | Michael Hanselmann | $(pkglib_python_scripts) \ |
1041 | 2cc8bdd0 | Michael Hanselmann | $(BUILD_BASH_COMPLETION) \ |
1042 | f6cbcc06 | Michael Hanselmann | $(CHECK_IMPORTS) \ |
1043 | 5d3c30df | Michael Hanselmann | $(CHECK_HEADER) \ |
1044 | 95eb4188 | Michael Hanselmann | $(DOCPP) \ |
1045 | 2cc8bdd0 | Michael Hanselmann | $(PYTHON_BOOTSTRAP) |
1046 | eed5c5df | Michael Hanselmann | |
1047 | f6cbcc06 | Michael Hanselmann | standalone_python_modules = \ |
1048 | f6cbcc06 | Michael Hanselmann | lib/rapi/client.py \ |
1049 | f6cbcc06 | Michael Hanselmann | tools/ganeti-listrunner |
1050 | f6cbcc06 | Michael Hanselmann | |
1051 | 21bf2e2e | Andrea Spadaccini | pep8_python_code = \ |
1052 | 21bf2e2e | Andrea Spadaccini | ganeti \ |
1053 | 21bf2e2e | Andrea Spadaccini | ganeti/http/server.py \ |
1054 | 21bf2e2e | Andrea Spadaccini | $(dist_sbin_SCRIPTS) \ |
1055 | cc120286 | Bernardo Dal Seno | $(python_scripts) \ |
1056 | 21bf2e2e | Andrea Spadaccini | $(pkglib_python_scripts) \ |
1057 | 21bf2e2e | Andrea Spadaccini | $(BUILD_BASH_COMPLETION) \ |
1058 | 5d3c30df | Michael Hanselmann | $(CHECK_HEADER) \ |
1059 | 21bf2e2e | Andrea Spadaccini | $(DOCPP) \ |
1060 | 21bf2e2e | Andrea Spadaccini | $(PYTHON_BOOTSTRAP) \ |
1061 | 21bf2e2e | Andrea Spadaccini | qa |
1062 | 21bf2e2e | Andrea Spadaccini | |
1063 | 571b34f8 | Michael Hanselmann | test/daemon-util_unittest.bash: daemons/daemon-util |
1064 | 571b34f8 | Michael Hanselmann | |
1065 | 46118ed2 | Iustin Pop | test/ganeti-cleaner_unittest.bash: daemons/ganeti-cleaner |
1066 | 7172f605 | Michael Hanselmann | |
1067 | 92886204 | Michael Hanselmann | test/bash_completion.bash: doc/examples/bash_completion-debug |
1068 | 92886204 | Michael Hanselmann | |
1069 | 26916aad | Apollon Oikonomopoulos | tools/kvm-ifup: tools/kvm-ifup.in $(REPLACE_VARS_SED) |
1070 | 26916aad | Apollon Oikonomopoulos | sed -f $(REPLACE_VARS_SED) < $< > $@ |
1071 | 26916aad | Apollon Oikonomopoulos | chmod +x $@ |
1072 | 26916aad | Apollon Oikonomopoulos | |
1073 | dbefcc7e | Michael Hanselmann | devel/upload: devel/upload.in $(REPLACE_VARS_SED) |
1074 | e8230860 | Michael Hanselmann | sed -f $(REPLACE_VARS_SED) < $< > $@ |
1075 | e8230860 | Michael Hanselmann | chmod u+x $@ |
1076 | e8230860 | Michael Hanselmann | |
1077 | 29386d3e | Michael Hanselmann | tools/vcluster-setup: tools/vcluster-setup.in $(REPLACE_VARS_SED) |
1078 | 29386d3e | Michael Hanselmann | sed -f $(REPLACE_VARS_SED) < $< > $@ |
1079 | 29386d3e | Michael Hanselmann | chmod +x $@ |
1080 | 29386d3e | Michael Hanselmann | |
1081 | 490bec02 | Iustin Pop | daemons/%:: daemons/%.in $(REPLACE_VARS_SED) |
1082 | e8230860 | Michael Hanselmann | sed -f $(REPLACE_VARS_SED) < $< > $@ |
1083 | 5c566e17 | Michael Hanselmann | chmod +x $@ |
1084 | e8230860 | Michael Hanselmann | |
1085 | 490bec02 | Iustin Pop | doc/examples/%:: doc/examples/%.in $(REPLACE_VARS_SED) |
1086 | e8230860 | Michael Hanselmann | sed -f $(REPLACE_VARS_SED) < $< > $@ |
1087 | e8230860 | Michael Hanselmann | |
1088 | e80aeb89 | Michael Hanselmann | doc/examples/bash_completion: BC_ARGS = --compact |
1089 | e80aeb89 | Michael Hanselmann | doc/examples/bash_completion-debug: BC_ARGS = |
1090 | e80aeb89 | Michael Hanselmann | |
1091 | e80aeb89 | Michael Hanselmann | doc/examples/bash_completion doc/examples/bash_completion-debug: \ |
1092 | e80aeb89 | Michael Hanselmann | $(BUILD_BASH_COMPLETION) $(RUN_IN_TEMPDIR) \ |
1093 | 4c3d5fb6 | Iustin Pop | lib/cli.py $(gnt_scripts) $(client_PYTHON) tools/burnin \ |
1094 | 46118ed2 | Iustin Pop | daemons/ganeti-cleaner \ |
1095 | ada0e680 | Iustin Pop | $(GENERATED_FILES) $(HTOOLS_GENERATED_FILES) |
1096 | e80aeb89 | Michael Hanselmann | PYTHONPATH=. $(RUN_IN_TEMPDIR) \ |
1097 | e80aeb89 | Michael Hanselmann | $(CURDIR)/$(BUILD_BASH_COMPLETION) $(BC_ARGS) > $@ |
1098 | 4f3d5b76 | Michael Hanselmann | |
1099 | f86e82ef | Iustin Pop | doc/%.png: doc/%.dot |
1100 | 2ab2b9f5 | Iustin Pop | @test -n "$(DOT)" || { echo 'dot' not found during configure; exit 1; } |
1101 | f86e82ef | Iustin Pop | $(DOT) -Tpng -o $@ $< |
1102 | f86e82ef | Iustin Pop | |
1103 | de8eea3e | Iustin Pop | man/footer.man: man/footer.rst |
1104 | de8eea3e | Iustin Pop | @test -n "$(PANDOC)" || \ |
1105 | de8eea3e | Iustin Pop | { echo 'pandoc' not found during configure; exit 1; } |
1106 | de8eea3e | Iustin Pop | $(PANDOC) -f rst -t man -o $@ $< |
1107 | de8eea3e | Iustin Pop | |
1108 | 6be8e2bf | Iustin Pop | man/footer.html: man/footer.rst |
1109 | 6be8e2bf | Iustin Pop | @test -n "$(PANDOC)" || \ |
1110 | 6be8e2bf | Iustin Pop | { echo 'pandoc' not found during configure; exit 1; } |
1111 | 6be8e2bf | Iustin Pop | $(PANDOC) -f rst -t html -o $@ $< |
1112 | 6be8e2bf | Iustin Pop | |
1113 | 7142485a | Iustin Pop | man/%.gen: man/%.rst lib/query.py lib/build/sphinx_ext.py \ |
1114 | d7772efa | Iustin Pop | lib/build/shell_example_lexer.py \ |
1115 | a13d6911 | Iustin Pop | | $(RUN_IN_TEMPDIR) $(BUILT_PYTHON_SOURCES) |
1116 | 387863a5 | Iustin Pop | @echo "Checking $< for hardcoded paths..." |
1117 | 387863a5 | Iustin Pop | @if grep -nEf autotools/wrong-hardcoded-paths $<; then \ |
1118 | 387863a5 | Iustin Pop | echo "Man page $< has harcoded paths (see above)!" 1>&2 ; \ |
1119 | 387863a5 | Iustin Pop | exit 1; \ |
1120 | 387863a5 | Iustin Pop | fi |
1121 | a13d6911 | Iustin Pop | set -e ; \ |
1122 | a13d6911 | Iustin Pop | trap 'echo auto-removing $@; rm $@' EXIT; \ |
1123 | a13d6911 | Iustin Pop | PYTHONPATH=. $(RUN_IN_TEMPDIR) $(CURDIR)/$(DOCPP) < $< > $@ ;\ |
1124 | a13d6911 | Iustin Pop | trap - EXIT |
1125 | fcdb582d | Michael Hanselmann | |
1126 | 5a19bd35 | Iustin Pop | man/%.7.in man/%.8.in man/%.1.in: man/%.gen man/footer.man |
1127 | 6be8e2bf | Iustin Pop | @test -n "$(PANDOC)" || \ |
1128 | 6be8e2bf | Iustin Pop | { echo 'pandoc' not found during configure; exit 1; } |
1129 | a01dd3c6 | Iustin Pop | set -o pipefail ; \ |
1130 | 9c45babb | Iustin Pop | trap 'echo auto-removing $@; rm $@' EXIT; \ |
1131 | 6be8e2bf | Iustin Pop | $(PANDOC) -s -f rst -t man -A man/footer.man $< | \ |
1132 | 9c45babb | Iustin Pop | sed -e 's/\\@/@/g' > $@; \ |
1133 | 73d0e218 | Iustin Pop | if test -n "$(MAN_HAS_WARNINGS)"; then $(CHECK_MAN_WARNINGS) $@; fi; \ |
1134 | c55cc346 | Iustin Pop | $(CHECK_MAN_DASHES) $@; \ |
1135 | 9c45babb | Iustin Pop | trap - EXIT |
1136 | 9c45babb | Iustin Pop | |
1137 | 2ab2b9f5 | Iustin Pop | |
1138 | fcdb582d | Michael Hanselmann | man/%.html.in: man/%.gen man/footer.html |
1139 | 6be8e2bf | Iustin Pop | @test -n "$(PANDOC)" || \ |
1140 | 6be8e2bf | Iustin Pop | { echo 'pandoc' not found during configure; exit 1; } |
1141 | a01dd3c6 | Iustin Pop | set -o pipefail ; \ |
1142 | 6be8e2bf | Iustin Pop | $(PANDOC) -s -f rst -t html -A man/footer.html $< | \ |
1143 | 6be8e2bf | Iustin Pop | sed -e 's/\\@/@/g' > $@ |
1144 | 6be8e2bf | Iustin Pop | |
1145 | 55398706 | Iustin Pop | man/%: man/%.in $(REPLACE_VARS_SED) |
1146 | 2ab2b9f5 | Iustin Pop | sed -f $(REPLACE_VARS_SED) < $< > $@ |
1147 | f29266b4 | Iustin Pop | |
1148 | fc1282b8 | Iustin Pop | epydoc.conf: epydoc.conf.in $(REPLACE_VARS_SED) |
1149 | fc1282b8 | Iustin Pop | sed -f $(REPLACE_VARS_SED) < $< > $@ |
1150 | f774bd03 | Michael Hanselmann | |
1151 | 84a12e40 | Iustin Pop | vcs-version: |
1152 | 84a12e40 | Iustin Pop | if test -d .git; then \ |
1153 | 84a12e40 | Iustin Pop | git describe > $@; \ |
1154 | 84a12e40 | Iustin Pop | elif test ! -f $@ ; then \ |
1155 | 84a12e40 | Iustin Pop | echo "Cannot auto-generate $@ file"; exit 1; \ |
1156 | 84a12e40 | Iustin Pop | fi |
1157 | 84a12e40 | Iustin Pop | |
1158 | 316dc1ff | Iustin Pop | .PHONY: clean-vcs-version |
1159 | 316dc1ff | Iustin Pop | clean-vcs-version: |
1160 | 316dc1ff | Iustin Pop | rm -f vcs-version |
1161 | 316dc1ff | Iustin Pop | |
1162 | 84a12e40 | Iustin Pop | .PHONY: regen-vcs-version |
1163 | 84a12e40 | Iustin Pop | regen-vcs-version: |
1164 | e8230860 | Michael Hanselmann | set -e; \ |
1165 | 84a12e40 | Iustin Pop | cd $(srcdir); \ |
1166 | 84a12e40 | Iustin Pop | if test -d .git; then \ |
1167 | b0b8458a | Iustin Pop | $(MAKE) $(AM_MAKEFLAGS) clean-vcs-version; \ |
1168 | b0b8458a | Iustin Pop | $(MAKE) $(AM_MAKEFLAGS) vcs-version; \ |
1169 | 84a12e40 | Iustin Pop | fi |
1170 | 84a12e40 | Iustin Pop | |
1171 | 2997cb0a | Iustin Pop | htools/Ganeti/Version.hs: htools/Ganeti/Version.hs.in \ |
1172 | 4c3d5fb6 | Iustin Pop | vcs-version $(built_base_sources) |
1173 | d6159933 | Iustin Pop | set -e; \ |
1174 | d6159933 | Iustin Pop | VCSVER=`cat $(abs_top_srcdir)/vcs-version`; \ |
1175 | d6159933 | Iustin Pop | sed -e "s/%ver%/$$VCSVER/" < $< > $@ |
1176 | d6159933 | Iustin Pop | |
1177 | d99d1e36 | Iustin Pop | htools/Ganeti/Constants.hs: htools/Ganeti/Constants.hs.in \ |
1178 | f11e524b | Iustin Pop | lib/constants.py lib/_autoconf.py lib/luxi.py \ |
1179 | 4c3d5fb6 | Iustin Pop | $(CONVERT_CONSTANTS) $(built_base_sources) \ |
1180 | ef958f2a | Iustin Pop | | lib/_vcsversion.py |
1181 | 11fd5a86 | Iustin Pop | set -e; \ |
1182 | 876f6a5e | Iustin Pop | { cat $< ; PYTHONPATH=. $(CONVERT_CONSTANTS); } > $@ |
1183 | d99d1e36 | Iustin Pop | |
1184 | b88fcdd0 | Iustin Pop | htest/Test/Ganeti/TestImports.hs: htest/Test/Ganeti/TestImports.hs.in \ |
1185 | b88fcdd0 | Iustin Pop | $(built_base_sources) |
1186 | b88fcdd0 | Iustin Pop | set -e; \ |
1187 | b88fcdd0 | Iustin Pop | { cat $< ; \ |
1188 | b88fcdd0 | Iustin Pop | echo ; \ |
1189 | b88fcdd0 | Iustin Pop | for name in $(filter-out Ganeti.THH,$(subst /,.,$(patsubst %.hs,%,$(patsubst htools/%,%,$(HS_LIB_SRCS))))) ; do \ |
1190 | b88fcdd0 | Iustin Pop | echo "import $$name ()" ; \ |
1191 | b88fcdd0 | Iustin Pop | done ; \ |
1192 | b88fcdd0 | Iustin Pop | } > $@ |
1193 | b88fcdd0 | Iustin Pop | |
1194 | 3735787e | Iustin Pop | lib/_autoconf.py: Makefile | stamp-directories |
1195 | 84a12e40 | Iustin Pop | set -e; \ |
1196 | e8230860 | Michael Hanselmann | { echo '# This file is automatically generated, do not edit!'; \ |
1197 | e8230860 | Michael Hanselmann | echo '#'; \ |
1198 | 67047322 | Iustin Pop | echo ''; \ |
1199 | 67047322 | Iustin Pop | echo '"""Build-time configuration for Ganeti.'; \ |
1200 | 67047322 | Iustin Pop | echo '';\ |
1201 | 67047322 | Iustin Pop | echo 'This file is autogenerated by the build process.'; \ |
1202 | 67047322 | Iustin Pop | echo 'For any changes you need to re-run ./configure (and'; \ |
1203 | 67047322 | Iustin Pop | echo 'not edit by hand).'; \ |
1204 | 67047322 | Iustin Pop | echo ''; \ |
1205 | 67047322 | Iustin Pop | echo '"""'; \ |
1206 | 67047322 | Iustin Pop | echo ''; \ |
1207 | 55766d34 | Andrea Spadaccini | echo '# pylint: disable=C0301,C0324'; \ |
1208 | 0a4e7f24 | Iustin Pop | echo '# because this is autogenerated, we do not want'; \ |
1209 | 0a4e7f24 | Iustin Pop | echo '# style warnings' ; \ |
1210 | 0a4e7f24 | Iustin Pop | echo ''; \ |
1211 | e8230860 | Michael Hanselmann | echo "PACKAGE_VERSION = '$(PACKAGE_VERSION)'"; \ |
1212 | e8230860 | Michael Hanselmann | echo "VERSION_MAJOR = '$(VERSION_MAJOR)'"; \ |
1213 | e8230860 | Michael Hanselmann | echo "VERSION_MINOR = '$(VERSION_MINOR)'"; \ |
1214 | e8230860 | Michael Hanselmann | echo "VERSION_REVISION = '$(VERSION_REVISION)'"; \ |
1215 | e8230860 | Michael Hanselmann | echo "VERSION_SUFFIX = '$(VERSION_SUFFIX)'"; \ |
1216 | e8230860 | Michael Hanselmann | echo "VERSION_FULL = '$(VERSION_FULL)'"; \ |
1217 | e8230860 | Michael Hanselmann | echo "LOCALSTATEDIR = '$(localstatedir)'"; \ |
1218 | e8230860 | Michael Hanselmann | echo "SYSCONFDIR = '$(sysconfdir)'"; \ |
1219 | 553bd93f | Vitaly Kuznetsov | echo "SSH_CONFIG_DIR = '$(SSH_CONFIG_DIR)'"; \ |
1220 | 052783ff | Michael Hanselmann | echo "SSH_LOGIN_USER = '$(SSH_LOGIN_USER)'"; \ |
1221 | 052783ff | Michael Hanselmann | echo "SSH_CONSOLE_USER = '$(SSH_CONSOLE_USER)'"; \ |
1222 | e8230860 | Michael Hanselmann | echo "EXPORT_DIR = '$(EXPORT_DIR)'"; \ |
1223 | e8230860 | Michael Hanselmann | echo "OS_SEARCH_PATH = [$(OS_SEARCH_PATH)]"; \ |
1224 | 2f2dbb4b | Jun Futagawa | echo "XEN_BOOTLOADER = '$(XEN_BOOTLOADER)'"; \ |
1225 | e8230860 | Michael Hanselmann | echo "XEN_KERNEL = '$(XEN_KERNEL)'"; \ |
1226 | e8230860 | Michael Hanselmann | echo "XEN_INITRD = '$(XEN_INITRD)'"; \ |
1227 | b8203e1e | Iustin Pop | echo "KVM_KERNEL = '$(KVM_KERNEL)'"; \ |
1228 | e8230860 | Michael Hanselmann | echo "FILE_STORAGE_DIR = '$(FILE_STORAGE_DIR)'"; \ |
1229 | cb7c0198 | Iustin Pop | echo "ENABLE_FILE_STORAGE = $(ENABLE_FILE_STORAGE)"; \ |
1230 | 4b97f902 | Apollon Oikonomopoulos | echo "SHARED_FILE_STORAGE_DIR = '$(SHARED_FILE_STORAGE_DIR)'"; \ |
1231 | 4b97f902 | Apollon Oikonomopoulos | echo "ENABLE_SHARED_FILE_STORAGE = $(ENABLE_SHARED_FILE_STORAGE)"; \ |
1232 | e8230860 | Michael Hanselmann | echo "IALLOCATOR_SEARCH_PATH = [$(IALLOCATOR_SEARCH_PATH)]"; \ |
1233 | 7e2c5b9e | Guido Trotter | echo "KVM_PATH = '$(KVM_PATH)'"; \ |
1234 | c4dfb0b6 | Andrea Spadaccini | echo "IP_PATH = '$(IP_PATH)'"; \ |
1235 | fe5b0c42 | Michael Hanselmann | echo "SOCAT_PATH = '$(SOCAT)'"; \ |
1236 | fe5b0c42 | Michael Hanselmann | echo "SOCAT_USE_ESCAPE = $(SOCAT_USE_ESCAPE)"; \ |
1237 | e90739d6 | Michael Hanselmann | echo "SOCAT_USE_COMPRESS = $(SOCAT_USE_COMPRESS)"; \ |
1238 | bea60381 | Michael Hanselmann | echo "LVM_STRIPECOUNT = $(LVM_STRIPECOUNT)"; \ |
1239 | bea60381 | Michael Hanselmann | echo "TOOLSDIR = '$(toolsdir)'"; \ |
1240 | 4f3d5b76 | Michael Hanselmann | echo "GNT_SCRIPTS = [$(foreach i,$(notdir $(gnt_scripts)),'$(i)',)]"; \ |
1241 | ada0e680 | Iustin Pop | echo "HTOOLS_PROGS = [$(foreach i,$(HS_HTOOLS_PROGS),'$(i)',)]"; \ |
1242 | f154a7a3 | Michael Hanselmann | echo "PKGLIBDIR = '$(pkglibdir)'"; \ |
1243 | 8a69b3a8 | Andrea Spadaccini | echo "DRBD_BARRIERS = '$(DRBD_BARRIERS)'"; \ |
1244 | 8a69b3a8 | Andrea Spadaccini | echo "DRBD_NO_META_FLUSH = $(DRBD_NO_META_FLUSH)"; \ |
1245 | 551b6283 | Iustin Pop | echo "SYSLOG_USAGE = '$(SYSLOG_USAGE)'"; \ |
1246 | 8b72b05c | René Nussbaumer | echo "DAEMONS_GROUP = '$(DAEMONS_GROUP)'"; \ |
1247 | f12e1736 | René Nussbaumer | echo "ADMIN_GROUP = '$(ADMIN_GROUP)'"; \ |
1248 | 8b72b05c | René Nussbaumer | echo "MASTERD_USER = '$(MASTERD_USER)'"; \ |
1249 | f12e1736 | René Nussbaumer | echo "MASTERD_GROUP = '$(MASTERD_GROUP)'"; \ |
1250 | 8b72b05c | René Nussbaumer | echo "RAPI_USER = '$(RAPI_USER)'"; \ |
1251 | f12e1736 | René Nussbaumer | echo "RAPI_GROUP = '$(RAPI_GROUP)'"; \ |
1252 | f12e1736 | René Nussbaumer | echo "CONFD_USER = '$(CONFD_USER)'"; \ |
1253 | f12e1736 | René Nussbaumer | echo "CONFD_GROUP = '$(CONFD_GROUP)'"; \ |
1254 | f12e1736 | René Nussbaumer | echo "NODED_USER = '$(NODED_USER)'"; \ |
1255 | 03881cb0 | René Nussbaumer | echo "NODED_GROUP = '$(NODED_GROUP)'"; \ |
1256 | 3536c792 | Iustin Pop | echo "DISK_SEPARATOR = '$(DISK_SEPARATOR)'"; \ |
1257 | a002ed79 | Agata Murawska | echo "QEMUIMG_PATH = '$(QEMUIMG_PATH)'"; \ |
1258 | 21a5e56c | Iustin Pop | echo "HTOOLS = True"; \ |
1259 | cd8b0072 | Iustin Pop | echo "ENABLE_CONFD = $(ENABLE_CONFD)"; \ |
1260 | 1eb37421 | René Nussbaumer | echo "XEN_CMD = '$(XEN_CMD)'"; \ |
1261 | 42ab9ac4 | Iustin Pop | echo "ENABLE_SPLIT_QUERY = $(ENABLE_SPLIT_QUERY)"; \ |
1262 | e8230860 | Michael Hanselmann | } > $@ |
1263 | e8230860 | Michael Hanselmann | |
1264 | 3735787e | Iustin Pop | lib/_vcsversion.py: Makefile vcs-version | stamp-directories |
1265 | 13aeae6a | Iustin Pop | set -e; \ |
1266 | 13aeae6a | Iustin Pop | VCSVER=`cat $(abs_top_srcdir)/vcs-version`; \ |
1267 | 13aeae6a | Iustin Pop | { echo '# This file is automatically generated, do not edit!'; \ |
1268 | 13aeae6a | Iustin Pop | echo '#'; \ |
1269 | 13aeae6a | Iustin Pop | echo ''; \ |
1270 | 13aeae6a | Iustin Pop | echo '"""Build-time VCS version number for Ganeti.'; \ |
1271 | 13aeae6a | Iustin Pop | echo '';\ |
1272 | 13aeae6a | Iustin Pop | echo 'This file is autogenerated by the build process.'; \ |
1273 | 13aeae6a | Iustin Pop | echo 'For any changes you need to re-run ./configure (and'; \ |
1274 | 13aeae6a | Iustin Pop | echo 'not edit by hand).'; \ |
1275 | 13aeae6a | Iustin Pop | echo ''; \ |
1276 | 13aeae6a | Iustin Pop | echo '"""'; \ |
1277 | 13aeae6a | Iustin Pop | echo ''; \ |
1278 | 55766d34 | Andrea Spadaccini | echo '# pylint: disable=C0301,C0324'; \ |
1279 | 13aeae6a | Iustin Pop | echo '# because this is autogenerated, we do not want'; \ |
1280 | 13aeae6a | Iustin Pop | echo '# style warnings' ; \ |
1281 | 13aeae6a | Iustin Pop | echo ''; \ |
1282 | 13aeae6a | Iustin Pop | echo "VCS_VERSION = '$$VCSVER'"; \ |
1283 | 13aeae6a | Iustin Pop | } > $@ |
1284 | 13aeae6a | Iustin Pop | |
1285 | 96a7481d | Michael Hanselmann | lib/_generated_rpc.py: lib/rpc_defs.py $(BUILD_RPC) |
1286 | 96a7481d | Michael Hanselmann | PYTHONPATH=. $(RUN_IN_TEMPDIR) $(CURDIR)/$(BUILD_RPC) lib/rpc_defs.py > $@ |
1287 | d5a2a550 | Michael Hanselmann | |
1288 | 6e3bf290 | Michael Hanselmann | $(SHELL_ENV_INIT): Makefile stamp-directories |
1289 | 6e3bf290 | Michael Hanselmann | set -e; \ |
1290 | 6e3bf290 | Michael Hanselmann | { echo '# Allow overriding for tests'; \ |
1291 | 6e3bf290 | Michael Hanselmann | echo 'readonly LOCALSTATEDIR=$${LOCALSTATEDIR:-$${GANETI_ROOTDIR:-}$(localstatedir)}'; \ |
1292 | 6e3bf290 | Michael Hanselmann | echo 'readonly SYSCONFDIR=$${SYSCONFDIR:-$${GANETI_ROOTDIR:-}$(sysconfdir)}'; \ |
1293 | 6e3bf290 | Michael Hanselmann | echo; \ |
1294 | 6e3bf290 | Michael Hanselmann | echo 'readonly PKGLIBDIR=$(pkglibdir)'; \ |
1295 | 6e3bf290 | Michael Hanselmann | echo 'readonly LOG_DIR="$$LOCALSTATEDIR/log/ganeti"'; \ |
1296 | 6e3bf290 | Michael Hanselmann | echo 'readonly RUN_DIR="$$LOCALSTATEDIR/run/ganeti"'; \ |
1297 | 6e3bf290 | Michael Hanselmann | echo 'readonly DATA_DIR="$$LOCALSTATEDIR/lib/ganeti"'; \ |
1298 | 6e3bf290 | Michael Hanselmann | echo 'readonly CONF_DIR="$$SYSCONFDIR/ganeti"'; \ |
1299 | 6e3bf290 | Michael Hanselmann | } > $@ |
1300 | 6e3bf290 | Michael Hanselmann | |
1301 | 6e3bf290 | Michael Hanselmann | $(REPLACE_VARS_SED): $(SHELL_ENV_INIT) Makefile stamp-directories |
1302 | e8230860 | Michael Hanselmann | set -e; \ |
1303 | e8230860 | Michael Hanselmann | { echo 's#@PREFIX@#$(prefix)#g'; \ |
1304 | e8230860 | Michael Hanselmann | echo 's#@SYSCONFDIR@#$(sysconfdir)#g'; \ |
1305 | e8230860 | Michael Hanselmann | echo 's#@LOCALSTATEDIR@#$(localstatedir)#g'; \ |
1306 | 7a2ba406 | Luca Bigliardi | echo 's#@BINDIR@#$(bindir)#g'; \ |
1307 | e8230860 | Michael Hanselmann | echo 's#@SBINDIR@#$(sbindir)#g'; \ |
1308 | 335ba60d | Guido Trotter | echo 's#@LIBDIR@#$(libdir)#g'; \ |
1309 | e8230860 | Michael Hanselmann | echo 's#@GANETI_VERSION@#$(PACKAGE_VERSION)#g'; \ |
1310 | 2f2dbb4b | Jun Futagawa | echo 's#@CUSTOM_XEN_BOOTLOADER@#$(XEN_BOOTLOADER)#g'; \ |
1311 | e8230860 | Michael Hanselmann | echo 's#@CUSTOM_XEN_KERNEL@#$(XEN_KERNEL)#g'; \ |
1312 | e8230860 | Michael Hanselmann | echo 's#@CUSTOM_XEN_INITRD@#$(XEN_INITRD)#g'; \ |
1313 | 56956bcb | Iustin Pop | echo 's#@CUSTOM_IALLOCATOR_SEARCH_PATH@#$(IALLOCATOR_SEARCH_PATH)#g'; \ |
1314 | 56956bcb | Iustin Pop | echo 's#@CUSTOM_EXPORT_DIR@#$(EXPORT_DIR)#g'; \ |
1315 | d3b4cf9f | Iustin Pop | echo 's#@RPL_FILE_STORAGE_DIR@#$(FILE_STORAGE_DIR)#g'; \ |
1316 | 7e1fac25 | Michael Hanselmann | echo 's#@RPL_SSH_INITD_SCRIPT@#$(SSH_INITD_SCRIPT)#g'; \ |
1317 | c5159571 | Iustin Pop | echo 's#@PKGLIBDIR@#$(pkglibdir)#g'; \ |
1318 | 0d150c50 | René Nussbaumer | echo 's#@GNTMASTERUSER@#$(MASTERD_USER)#g'; \ |
1319 | 0d150c50 | René Nussbaumer | echo 's#@GNTRAPIUSER@#$(RAPI_USER)#g'; \ |
1320 | 0d150c50 | René Nussbaumer | echo 's#@GNTCONFDUSER@#$(CONFD_USER)#g'; \ |
1321 | 0d150c50 | René Nussbaumer | echo 's#@GNTNODEDUSER@#$(NODED_USER)#g'; \ |
1322 | 0d150c50 | René Nussbaumer | echo 's#@GNTRAPIGROUP@#$(RAPI_GROUP)#g'; \ |
1323 | 0d150c50 | René Nussbaumer | echo 's#@GNTADMINGROUP@#$(ADMIN_GROUP)#g'; \ |
1324 | 0d150c50 | René Nussbaumer | echo 's#@GNTCONFDGROUP@#$(CONFD_GROUP)#g'; \ |
1325 | 0d150c50 | René Nussbaumer | echo 's#@GNTMASTERDGROUP@#$(MASTERD_GROUP)#g'; \ |
1326 | 46a8da3b | René Nussbaumer | echo 's#@GNTDAEMONSGROUP@#$(DAEMONS_GROUP)#g'; \ |
1327 | cd8b0072 | Iustin Pop | echo 's#@CUSTOM_ENABLE_CONFD@#$(ENABLE_CONFD)#g'; \ |
1328 | fc1282b8 | Iustin Pop | echo 's#@MODULES@#$(strip $(lint_python_code))#g'; \ |
1329 | 42ab9ac4 | Iustin Pop | echo 's#@ENABLE_SPLIT_QUERY@#$(ENABLE_SPLIT_QUERY)#g'; \ |
1330 | 6e3bf290 | Michael Hanselmann | echo; \ |
1331 | 6e3bf290 | Michael Hanselmann | echo '/^@SHELL_ENV_INIT@$$/ {'; \ |
1332 | 6e3bf290 | Michael Hanselmann | echo ' r $(SHELL_ENV_INIT)'; \ |
1333 | 6e3bf290 | Michael Hanselmann | echo ' d'; \ |
1334 | 6e3bf290 | Michael Hanselmann | echo '}'; \ |
1335 | e8230860 | Michael Hanselmann | } > $@ |
1336 | e8230860 | Michael Hanselmann | |
1337 | 67313146 | Michael Hanselmann | # Using deferred evaluation |
1338 | 899c4d2c | Michael Hanselmann | daemons/ganeti-%: MODULE = ganeti.server.$(patsubst ganeti-%,%,$(notdir $@)) |
1339 | 9f4bb951 | Michael Hanselmann | daemons/ganeti-watcher: MODULE = ganeti.watcher |
1340 | 67313146 | Michael Hanselmann | scripts/%: MODULE = ganeti.client.$(subst -,_,$(notdir $@)) |
1341 | 0d2bf835 | René Nussbaumer | tools/ensure-dirs: MODULE = ganeti.tools.ensure_dirs |
1342 | d12b9f66 | Michael Hanselmann | tools/prepare-node-join: MODULE = ganeti.tools.prepare_node_join |
1343 | 189b51fa | Iustin Pop | $(HS_BUILT_TEST_HELPERS): TESTROLE = $(patsubst htest/%,%,$@) |
1344 | 67313146 | Michael Hanselmann | |
1345 | 3735787e | Iustin Pop | $(PYTHON_BOOTSTRAP): Makefile | stamp-directories |
1346 | 67313146 | Michael Hanselmann | test -n "$(MODULE)" || { echo Missing module; exit 1; } |
1347 | 2d48a3a2 | Michael Hanselmann | set -e; \ |
1348 | d75e738e | Michael Hanselmann | { echo '#!/usr/bin/python'; \ |
1349 | 2d48a3a2 | Michael Hanselmann | echo '# This file is automatically generated, do not edit!'; \ |
1350 | 67313146 | Michael Hanselmann | echo "# Edit $(MODULE) instead."; \ |
1351 | 2d48a3a2 | Michael Hanselmann | echo; \ |
1352 | 67313146 | Michael Hanselmann | echo '"""Bootstrap script for L{$(MODULE)}"""'; \ |
1353 | 2d48a3a2 | Michael Hanselmann | echo; \ |
1354 | 55766d34 | Andrea Spadaccini | echo '# pylint: disable=C0103'; \ |
1355 | 2d48a3a2 | Michael Hanselmann | echo '# C0103: Invalid name'; \ |
1356 | 2d48a3a2 | Michael Hanselmann | echo; \ |
1357 | 2d48a3a2 | Michael Hanselmann | echo 'import sys'; \ |
1358 | 67313146 | Michael Hanselmann | echo 'import $(MODULE) as main'; \ |
1359 | 2d48a3a2 | Michael Hanselmann | echo; \ |
1360 | 2d48a3a2 | Michael Hanselmann | echo '# Temporarily alias commands until bash completion'; \ |
1361 | 2d48a3a2 | Michael Hanselmann | echo '# generator is changed'; \ |
1362 | 67313146 | Michael Hanselmann | echo 'if hasattr(main, "commands"):'; \ |
1363 | 55766d34 | Andrea Spadaccini | echo ' commands = main.commands # pylint: disable=E1101'; \ |
1364 | 3f42b4f6 | Michael Hanselmann | echo 'if hasattr(main, "aliases"):'; \ |
1365 | 55766d34 | Andrea Spadaccini | echo ' aliases = main.aliases # pylint: disable=E1101'; \ |
1366 | 2d48a3a2 | Michael Hanselmann | echo; \ |
1367 | 2d48a3a2 | Michael Hanselmann | echo 'if __name__ == "__main__":'; \ |
1368 | 67313146 | Michael Hanselmann | echo ' sys.exit(main.Main())'; \ |
1369 | 2d48a3a2 | Michael Hanselmann | } > $@ |
1370 | 2d48a3a2 | Michael Hanselmann | chmod u+x $@ |
1371 | 2d48a3a2 | Michael Hanselmann | |
1372 | 3096524e | Iustin Pop | $(HS_BUILT_TEST_HELPERS): Makefile |
1373 | 3096524e | Iustin Pop | @test -n "$(TESTROLE)" || { echo Missing TESTROLE; exit 1; } |
1374 | 3096524e | Iustin Pop | set -e; \ |
1375 | 3096524e | Iustin Pop | { echo '#!/bin/sh'; \ |
1376 | 3096524e | Iustin Pop | echo '# This file is automatically generated, do not edit!'; \ |
1377 | 3096524e | Iustin Pop | echo "# Edit Makefile.am instead."; \ |
1378 | 3096524e | Iustin Pop | echo; \ |
1379 | f0f3a6df | Iustin Pop | echo "HTOOLS=$(TESTROLE) exec ./htest/hpc-htools \"\$$@\""; \ |
1380 | 3096524e | Iustin Pop | } > $@ |
1381 | 3096524e | Iustin Pop | chmod u+x $@ |
1382 | 3096524e | Iustin Pop | |
1383 | 3735787e | Iustin Pop | stamp-directories: Makefile |
1384 | 924ecd85 | Iustin Pop | $(MAKE) $(AM_MAKEFLAGS) ganeti |
1385 | 3735787e | Iustin Pop | @mkdir_p@ $(DIRS) $(BUILDTIME_DIR_AUTOCREATE) |
1386 | 3735787e | Iustin Pop | touch $@ |
1387 | 3735787e | Iustin Pop | |
1388 | e8230860 | Michael Hanselmann | # We need to create symlinks because "make distcheck" will not install Python |
1389 | e8230860 | Michael Hanselmann | # files when building. |
1390 | 3735787e | Iustin Pop | stamp-srclinks: Makefile | stamp-directories |
1391 | e8230860 | Michael Hanselmann | set -e; \ |
1392 | 01a3a718 | Michael Hanselmann | for i in $(srclink_files); do \ |
1393 | e8230860 | Michael Hanselmann | if test ! -f $$i -a -f $(abs_top_srcdir)/$$i; then \ |
1394 | e8230860 | Michael Hanselmann | $(LN_S) $(abs_top_srcdir)/$$i $$i; \ |
1395 | e8230860 | Michael Hanselmann | fi; \ |
1396 | e8230860 | Michael Hanselmann | done |
1397 | dd1dfd9a | Michael Hanselmann | touch $@ |
1398 | 97a37b3f | Michael Hanselmann | |
1399 | 9ff7e35c | Michael Hanselmann | .PHONY: ganeti |
1400 | 9ff7e35c | Michael Hanselmann | ganeti: |
1401 | 01f3e7b1 | Iustin Pop | cd $(top_builddir) && test -h "$@" || { rm -f $@ && $(LN_S) lib $@; } |
1402 | 9ff7e35c | Michael Hanselmann | |
1403 | 6b997854 | Michael Hanselmann | .PHONY: check-dirs |
1404 | 4c3d5fb6 | Iustin Pop | check-dirs: $(GENERATED_FILES) |
1405 | 0c1103d6 | Iustin Pop | @set -e; \ |
1406 | 6b997854 | Michael Hanselmann | find . -type d \( \( -name . \) -o \( \ |
1407 | 6b997854 | Michael Hanselmann | -name .git -o \ |
1408 | 6b997854 | Michael Hanselmann | -name autom4te.cache \ |
1409 | 6b997854 | Michael Hanselmann | \) -prune -o -print \) | { \ |
1410 | 6b997854 | Michael Hanselmann | error=; \ |
1411 | 6b997854 | Michael Hanselmann | while read dir; do \ |
1412 | 6b997854 | Michael Hanselmann | case "$$dir" in \ |
1413 | 6b997854 | Michael Hanselmann | $(strip $(patsubst %,(./%) ;;,$(DIRCHECK_EXCLUDE) $(DIRS))) \ |
1414 | 6b997854 | Michael Hanselmann | *) error=1; echo "Directory $$dir not listed in Makefile" >&2 ;; \ |
1415 | 6b997854 | Michael Hanselmann | esac; \ |
1416 | 6b997854 | Michael Hanselmann | done; \ |
1417 | 6b997854 | Michael Hanselmann | for dir in $(DIRS); do \ |
1418 | 6b997854 | Michael Hanselmann | if ! test -d "$$dir"; then \ |
1419 | 6b997854 | Michael Hanselmann | echo "Directory $$dir listed in DIRS does not exist" >&2; \ |
1420 | 6b997854 | Michael Hanselmann | error=1; \ |
1421 | 6b997854 | Michael Hanselmann | fi \ |
1422 | 6b997854 | Michael Hanselmann | done; \ |
1423 | 6b997854 | Michael Hanselmann | if test -n "$$error"; then exit 1; else exit 0; fi; \ |
1424 | 6b997854 | Michael Hanselmann | } |
1425 | 6b997854 | Michael Hanselmann | |
1426 | f6cbcc06 | Michael Hanselmann | .PHONY: check-local |
1427 | 4c3d5fb6 | Iustin Pop | check-local: check-dirs $(GENERATED_FILES) |
1428 | eed5c5df | Michael Hanselmann | $(CHECK_PYTHON_CODE) $(check_python_code) |
1429 | 5d3c30df | Michael Hanselmann | PYTHONPATH=. $(CHECK_HEADER) $(check_python_code) |
1430 | 35576615 | Michael Hanselmann | $(CHECK_VERSION) $(VERSION) $(top_srcdir)/NEWS |
1431 | 7385c51d | Michael Hanselmann | $(CHECK_NEWS) < $(top_srcdir)/NEWS |
1432 | 83ea5145 | Michael Hanselmann | PYTHONPATH=. $(RUN_IN_TEMPDIR) $(CURDIR)/$(CHECK_IMPORTS) . $(standalone_python_modules) |
1433 | dad26941 | Iustin Pop | @expver=$(VERSION_MAJOR).$(VERSION_MINOR); \ |
1434 | 154d7ba5 | Michael Hanselmann | if test "`head -n 1 $(top_srcdir)/README`" != "Ganeti $$expver"; then \ |
1435 | 9488fd1d | Michael Hanselmann | echo "Incorrect version in README, expected $$expver"; \ |
1436 | 9488fd1d | Michael Hanselmann | exit 1; \ |
1437 | 7ecb3d0e | Michael Hanselmann | fi; \ |
1438 | 04c998a5 | Michael Hanselmann | for file in doc/iallocator.rst doc/hooks.rst doc/virtual-cluster.rst \ |
1439 | 04c998a5 | Michael Hanselmann | doc/security.rst; do \ |
1440 | d5114fa1 | Michael Hanselmann | if test "`sed -ne '4 p' $(top_srcdir)/$$file`" != \ |
1441 | 9822b1dd | Iustin Pop | "Documents Ganeti version $$expver"; then \ |
1442 | d5114fa1 | Michael Hanselmann | echo "Incorrect version in $$file, expected $$expver"; \ |
1443 | d5114fa1 | Michael Hanselmann | exit 1; \ |
1444 | d5114fa1 | Michael Hanselmann | fi; \ |
1445 | 7a962ecc | Michael Hanselmann | done; \ |
1446 | fc07a14e | Michael Hanselmann | if ! test -f $(top_srcdir)/doc/design-$$expver.rst; then \ |
1447 | fc07a14e | Michael Hanselmann | echo "File $(top_srcdir)/doc/design-$$expver.rst not found"; \ |
1448 | 7a962ecc | Michael Hanselmann | exit 1; \ |
1449 | 7a962ecc | Michael Hanselmann | fi |
1450 | eed5c5df | Michael Hanselmann | |
1451 | 49e11c49 | Iustin Pop | .PHONY: hs-check |
1452 | f0f3a6df | Iustin Pop | hs-check: htest/test htest/hpc-htools $(HS_BUILT_TEST_HELPERS) |
1453 | 49e11c49 | Iustin Pop | @rm -f test.tix |
1454 | f0f3a6df | Iustin Pop | ./htest/test |
1455 | f0f3a6df | Iustin Pop | HBINARY="./htest/hpc-htools" ./htest/offline-test.sh |
1456 | 49e11c49 | Iustin Pop | |
1457 | 08366664 | Michael Hanselmann | # E111: indentation is not a multiple of four |
1458 | 5ae4945a | Iustin Pop | # E121: continuation line indentation is not a multiple of four |
1459 | 5ae4945a | Iustin Pop | # (since our indent level is not 4) |
1460 | 5ae4945a | Iustin Pop | # E125: continuation line does not distinguish itself from next logical line |
1461 | 5ae4945a | Iustin Pop | # (since our indent level is not 4) |
1462 | 5ae4945a | Iustin Pop | # E127: continuation line over-indented for visual indent |
1463 | 5ae4945a | Iustin Pop | # (since our indent level is not 4) |
1464 | 5ae4945a | Iustin Pop | # note: do NOT add E128 here; it's a valid style error in most cases! |
1465 | 5ae4945a | Iustin Pop | # I've seen real errors, but also some cases were we indent wrongly |
1466 | 5ae4945a | Iustin Pop | # due to line length; try to rework the cases where it is triggered, |
1467 | 5ae4945a | Iustin Pop | # instead of silencing it |
1468 | 08366664 | Michael Hanselmann | # E261: at least two spaces before inline comment |
1469 | 08366664 | Michael Hanselmann | # E501: line too long (80 characters) |
1470 | 5ae4945a | Iustin Pop | PEP8_IGNORE = E111,E121,E125,E127,E261,E501 |
1471 | 08366664 | Michael Hanselmann | |
1472 | 08366664 | Michael Hanselmann | # For excluding pep8 expects filenames only, not whole paths |
1473 | 08366664 | Michael Hanselmann | PEP8_EXCLUDE = $(subst $(space),$(comma),$(strip $(notdir $(BUILT_PYTHON_SOURCES)))) |
1474 | 08366664 | Michael Hanselmann | |
1475 | 6e4c8f68 | Iustin Pop | LINT_TARGETS = pylint pylint-qa |
1476 | 6e4c8f68 | Iustin Pop | if HAS_PEP8 |
1477 | 6e4c8f68 | Iustin Pop | LINT_TARGETS += pep8 |
1478 | 6e4c8f68 | Iustin Pop | endif |
1479 | 6e4c8f68 | Iustin Pop | if HAS_HLINT |
1480 | 6e4c8f68 | Iustin Pop | LINT_TARGETS += hlint |
1481 | 6e4c8f68 | Iustin Pop | endif |
1482 | 6e4c8f68 | Iustin Pop | |
1483 | e0098923 | Iustin Pop | .PHONY: lint |
1484 | 6e4c8f68 | Iustin Pop | lint: $(LINT_TARGETS) |
1485 | 6e4c8f68 | Iustin Pop | |
1486 | 6e4c8f68 | Iustin Pop | .PHONY: pylint |
1487 | 4c3d5fb6 | Iustin Pop | pylint: $(GENERATED_FILES) |
1488 | 6d7cc5ff | Michael Hanselmann | @test -n "$(PYLINT)" || { echo 'pylint' not found during configure; exit 1; } |
1489 | 6d7cc5ff | Michael Hanselmann | $(PYLINT) $(LINT_OPTS) $(lint_python_code) |
1490 | 6e4c8f68 | Iustin Pop | |
1491 | 6e4c8f68 | Iustin Pop | .PHONY: pylint-qa |
1492 | 4c3d5fb6 | Iustin Pop | pylint-qa: $(GENERATED_FILES) |
1493 | 6e4c8f68 | Iustin Pop | @test -n "$(PYLINT)" || { echo 'pylint' not found during configure; exit 1; } |
1494 | 3582eef6 | Iustin Pop | cd $(top_srcdir)/qa && \ |
1495 | 3582eef6 | Iustin Pop | PYTHONPATH=$(abs_top_srcdir) $(PYLINT) $(LINT_OPTS) \ |
1496 | 3582eef6 | Iustin Pop | --rcfile ../pylintrc $(patsubst qa/%.py,%,$(qa_scripts)) |
1497 | e0098923 | Iustin Pop | |
1498 | 6e4c8f68 | Iustin Pop | .PHONY: pep8 |
1499 | 4c3d5fb6 | Iustin Pop | pep8: $(GENERATED_FILES) |
1500 | 6e4c8f68 | Iustin Pop | @test -n "$(PEP8)" || { echo 'pep8' not found during configure; exit 1; } |
1501 | 6e4c8f68 | Iustin Pop | $(PEP8) --ignore='$(PEP8_IGNORE)' --exclude='$(PEP8_EXCLUDE)' \ |
1502 | 6e4c8f68 | Iustin Pop | --repeat $(pep8_python_code) |
1503 | 6e4c8f68 | Iustin Pop | |
1504 | 2cdaf225 | Iustin Pop | # FIXME: remove ignore "Use void" when GHC 6.x is deprecated |
1505 | 191ff68c | Iustin Pop | .PHONY: hlint |
1506 | 5a1e31b4 | Iustin Pop | hlint: $(HS_BUILT_SRCS) htools/lint-hints.hs |
1507 | 6e4c8f68 | Iustin Pop | @test -n "$(HLINT)" || { echo 'hlint' not found during configure; exit 1; } |
1508 | 191ff68c | Iustin Pop | if tty -s; then C="-c"; else C=""; fi; \ |
1509 | 6e4c8f68 | Iustin Pop | $(HLINT) --report=doc/hs-lint.html --cross $$C \ |
1510 | 3603605a | Iustin Pop | --ignore "Use first" \ |
1511 | 3603605a | Iustin Pop | --ignore "Use comparing" \ |
1512 | 3603605a | Iustin Pop | --ignore "Use on" \ |
1513 | 3603605a | Iustin Pop | --ignore "Reduce duplication" \ |
1514 | 2cdaf225 | Iustin Pop | --ignore "Use &&&" \ |
1515 | 2cdaf225 | Iustin Pop | --ignore "Use void" \ |
1516 | 5a1e31b4 | Iustin Pop | --hint htools/lint-hints \ |
1517 | 4ab40ed5 | Iustin Pop | $(filter-out htools/Ganeti/THH.hs,$(HS_LIBTEST_SRCS) $(HS_PROG_SRCS)) |
1518 | 191ff68c | Iustin Pop | |
1519 | 84a12e40 | Iustin Pop | # a dist hook rule for updating the vcs-version file; this is |
1520 | 84a12e40 | Iustin Pop | # hardcoded due to where it needs to build the file... |
1521 | 84a12e40 | Iustin Pop | dist-hook: |
1522 | b0b8458a | Iustin Pop | $(MAKE) $(AM_MAKEFLAGS) regen-vcs-version |
1523 | 316dc1ff | Iustin Pop | rm -f $(top_distdir)/vcs-version |
1524 | 84a12e40 | Iustin Pop | cp -p $(srcdir)/vcs-version $(top_distdir) |
1525 | 84a12e40 | Iustin Pop | |
1526 | 84a12e40 | Iustin Pop | # a distcheck hook rule for catching revision control directories |
1527 | b6f2e47f | Iustin Pop | distcheck-hook: |
1528 | c6aa0c42 | Michael Hanselmann | if find $(top_distdir) -name .svn -or -name .git | grep .; then \ |
1529 | c6aa0c42 | Michael Hanselmann | echo "Found revision control files in final archive." 1>&2; \ |
1530 | c6aa0c42 | Michael Hanselmann | exit 1; \ |
1531 | c6aa0c42 | Michael Hanselmann | fi |
1532 | c6aa0c42 | Michael Hanselmann | if find $(top_distdir) -name '*.py[co]' | grep .; then \ |
1533 | c6aa0c42 | Michael Hanselmann | echo "Found Python byte code in final archive." 1>&2; \ |
1534 | c6aa0c42 | Michael Hanselmann | exit 1; \ |
1535 | c6aa0c42 | Michael Hanselmann | fi |
1536 | c6aa0c42 | Michael Hanselmann | if find $(top_distdir) -name '*~' | grep .; then \ |
1537 | c6aa0c42 | Michael Hanselmann | echo "Found backup files in final archive." 1>&2; \ |
1538 | b6f2e47f | Iustin Pop | exit 1; \ |
1539 | b6f2e47f | Iustin Pop | fi |
1540 | bf0b21da | Michael Hanselmann | # Empty files or directories should not be distributed. They can cause |
1541 | bf0b21da | Michael Hanselmann | # unnecessary warnings for packagers. Directories used by automake during |
1542 | bf0b21da | Michael Hanselmann | # distcheck must be excluded. |
1543 | bf0b21da | Michael Hanselmann | if find $(top_distdir) -empty -and -not \( \ |
1544 | bf0b21da | Michael Hanselmann | -path $(top_distdir)/_build -or \ |
1545 | bf0b21da | Michael Hanselmann | -path $(top_distdir)/_inst \) | grep .; then \ |
1546 | bf0b21da | Michael Hanselmann | echo "Found empty files or directories in final archive." 1>&2; \ |
1547 | bf0b21da | Michael Hanselmann | exit 1; \ |
1548 | bf0b21da | Michael Hanselmann | fi |
1549 | c7b86f6c | Michael Hanselmann | if test -n "$(BUILD_RELEASE)" && \ |
1550 | c7b86f6c | Michael Hanselmann | grep -n -H -E '^\*.*unreleased' $(top_distdir)/NEWS; then \ |
1551 | c7b86f6c | Michael Hanselmann | echo "Found unreleased version in NEWS." >&2; \ |
1552 | c7b86f6c | Michael Hanselmann | exit 1; \ |
1553 | c7b86f6c | Michael Hanselmann | fi |
1554 | c7b86f6c | Michael Hanselmann | |
1555 | c7b86f6c | Michael Hanselmann | # When building a release, stricter checks should be used |
1556 | e627fe09 | Michael Hanselmann | distcheck-release dist-release: export BUILD_RELEASE = 1 |
1557 | c7b86f6c | Michael Hanselmann | distcheck-release: distcheck |
1558 | b6f2e47f | Iustin Pop | |
1559 | 7213dded | René Nussbaumer | distrebuildcheck: dist |
1560 | 7213dded | René Nussbaumer | set -e; \ |
1561 | 7213dded | René Nussbaumer | builddir=$$(mktemp -d $(abs_srcdir)/distrebuildcheck.XXXXXXX); \ |
1562 | 7213dded | René Nussbaumer | trap "echo Removing $$builddir; cd $(abs_srcdir); rm -rf $$builddir" EXIT; \ |
1563 | 7213dded | René Nussbaumer | cd $$builddir; \ |
1564 | 7213dded | René Nussbaumer | tar xzf $(abs_srcdir)/$(distdir).tar.gz; \ |
1565 | 7213dded | René Nussbaumer | cd $(distdir); \ |
1566 | 7213dded | René Nussbaumer | ./configure; \ |
1567 | 7213dded | René Nussbaumer | $(MAKE) maintainer-clean; \ |
1568 | 7213dded | René Nussbaumer | cp $(abs_srcdir)/vcs-version .; \ |
1569 | 7213dded | René Nussbaumer | ./configure; \ |
1570 | 7213dded | René Nussbaumer | $(MAKE) $(AM_MAKEFLAGS) |
1571 | 7213dded | René Nussbaumer | |
1572 | e627fe09 | Michael Hanselmann | dist-release: dist |
1573 | e627fe09 | Michael Hanselmann | set -e; \ |
1574 | e627fe09 | Michael Hanselmann | for i in $(DIST_ARCHIVES); do \ |
1575 | e627fe09 | Michael Hanselmann | echo -n "Checking $$i ... "; \ |
1576 | e627fe09 | Michael Hanselmann | autotools/check-tar < $$i; \ |
1577 | e627fe09 | Michael Hanselmann | echo OK; \ |
1578 | e627fe09 | Michael Hanselmann | done |
1579 | e627fe09 | Michael Hanselmann | |
1580 | 8925faaa | Iustin Pop | install-exec-local: |
1581 | 0d93b082 | Michael Hanselmann | @mkdir_p@ "$(DESTDIR)${localstatedir}/lib/ganeti" \ |
1582 | 2fa9f1dd | Michael Hanselmann | "$(DESTDIR)${localstatedir}/log/ganeti" \ |
1583 | 2fa9f1dd | Michael Hanselmann | "$(DESTDIR)${localstatedir}/run/ganeti" |
1584 | e8230860 | Michael Hanselmann | |
1585 | d128fdb6 | Iustin Pop | .PHONY: apidoc |
1586 | a38bfce5 | Iustin Pop | if WANT_HTOOLSAPIDOC |
1587 | a38bfce5 | Iustin Pop | apidoc: py-apidoc hs-apidoc |
1588 | a38bfce5 | Iustin Pop | else |
1589 | a38bfce5 | Iustin Pop | apidoc: py-apidoc |
1590 | a38bfce5 | Iustin Pop | endif |
1591 | a38bfce5 | Iustin Pop | |
1592 | a38bfce5 | Iustin Pop | .PHONY: py-apidoc |
1593 | 4c3d5fb6 | Iustin Pop | py-apidoc: epydoc.conf $(RUN_IN_TEMPDIR) $(GENERATED_FILES) |
1594 | b959138f | Michael Hanselmann | $(RUN_IN_TEMPDIR) epydoc -v \ |
1595 | b959138f | Michael Hanselmann | --conf $(CURDIR)/epydoc.conf \ |
1596 | 22c5390d | Iustin Pop | --output $(CURDIR)/$(APIDOC_PY_DIR) |
1597 | a38bfce5 | Iustin Pop | |
1598 | a38bfce5 | Iustin Pop | .PHONY: hs-apidoc |
1599 | c3f67183 | Iustin Pop | hs-apidoc: $(HS_BUILT_SRCS) |
1600 | a38bfce5 | Iustin Pop | @test -n "$(HSCOLOUR)" || \ |
1601 | a38bfce5 | Iustin Pop | { echo 'HsColour' not found during configure; exit 1; } |
1602 | a38bfce5 | Iustin Pop | @test -n "$(HADDOCK)" || \ |
1603 | a38bfce5 | Iustin Pop | { echo 'haddock' not found during configure; exit 1; } |
1604 | 22c5390d | Iustin Pop | rm -rf $(APIDOC_HS_DIR)/* |
1605 | 879d9290 | Iustin Pop | @mkdir_p@ $(APIDOC_HS_DIR)/Ganeti/HTools/Backend |
1606 | 458a286a | Iustin Pop | @mkdir_p@ $(APIDOC_HS_DIR)/Ganeti/HTools/Program |
1607 | 358a0a8f | Iustin Pop | @mkdir_p@ $(APIDOC_HS_DIR)/Ganeti/Confd |
1608 | 4cbe9bda | Iustin Pop | @mkdir_p@ $(APIDOC_HS_DIR)/Ganeti/Query |
1609 | 22c5390d | Iustin Pop | $(HSCOLOUR) -print-css > $(APIDOC_HS_DIR)/Ganeti/hscolour.css |
1610 | 82888134 | Michael Hanselmann | $(LN_S) ../hscolour.css $(APIDOC_HS_DIR)/Ganeti/HTools/hscolour.css |
1611 | 358a0a8f | Iustin Pop | $(LN_S) ../hscolour.css $(APIDOC_HS_DIR)/Ganeti/Confd/hscolour.css |
1612 | a38bfce5 | Iustin Pop | set -e ; \ |
1613 | a38bfce5 | Iustin Pop | cd htools; \ |
1614 | c478f837 | Iustin Pop | if [ "$(HTOOLS_NOCURL)" ]; \ |
1615 | c478f837 | Iustin Pop | then OPTGHC="--optghc=$(HTOOLS_NOCURL)"; \ |
1616 | c478f837 | Iustin Pop | else OPTGHC=""; \ |
1617 | c478f837 | Iustin Pop | fi; \ |
1618 | 1adec4be | Iustin Pop | if [ "$(HTOOLS_PARALLEL3)" ]; \ |
1619 | 1adec4be | Iustin Pop | then OPTGHC="$$OPTGHC --optghc=$(HTOOLS_PARALLEL3)"; \ |
1620 | 1adec4be | Iustin Pop | fi; \ |
1621 | 21a5e56c | Iustin Pop | if [ "$(HTOOLS_REGEX_PCRE)" ]; \ |
1622 | 21a5e56c | Iustin Pop | then OPTGHC="$$OPTGHC --optghc=$(HTOOLS_REGEX_PCRE)"; \ |
1623 | 21a5e56c | Iustin Pop | fi; \ |
1624 | b88fcdd0 | Iustin Pop | RELSRCS="$(HS_LIB_SRCS:htools/%=%) $(patsubst htools/%,%,$(filter htools/%,$(HS_BUILT_SRCS)))"; \ |
1625 | a38bfce5 | Iustin Pop | for file in $$RELSRCS; do \ |
1626 | a38bfce5 | Iustin Pop | hfile=`echo $$file|sed 's/\\.hs$$//'`.html; \ |
1627 | 22c5390d | Iustin Pop | $(HSCOLOUR) -css -anchor $$file > ../$(APIDOC_HS_DIR)/$$hfile ; \ |
1628 | a38bfce5 | Iustin Pop | done ; \ |
1629 | 22c5390d | Iustin Pop | $(HADDOCK) --odir ../$(APIDOC_HS_DIR) --html --ignore-all-exports -w \ |
1630 | 18049dad | Iustin Pop | -t ganeti -p haddock-prologue \ |
1631 | a38bfce5 | Iustin Pop | --source-module="%{MODULE/.//}.html" \ |
1632 | a38bfce5 | Iustin Pop | --source-entity="%{MODULE/.//}.html#%{NAME}" \ |
1633 | c478f837 | Iustin Pop | $$OPTGHC \ |
1634 | c3f67183 | Iustin Pop | $(filter-out Ganeti/HTools/ExtLoader.hs,$(HS_LIB_SRCS:htools/%=%)) |
1635 | d128fdb6 | Iustin Pop | |
1636 | 13e720f1 | Iustin Pop | .PHONY: TAGS |
1637 | 4c3d5fb6 | Iustin Pop | TAGS: $(GENERATED_FILES) |
1638 | 13e720f1 | Iustin Pop | rm -f TAGS |
1639 | 6b84f036 | Iustin Pop | $(GHC) -e ":etags" -v0 \ |
1640 | 6b84f036 | Iustin Pop | $(filter-out -O -Werror,$(HFLAGS)) \ |
1641 | 21a5e56c | Iustin Pop | $(HTOOLS_NOCURL) $(HTOOLS_PARALLEL3) $(HTOOLS_REGEX_PCRE) \ |
1642 | 6b84f036 | Iustin Pop | $(HS_LIBTEST_SRCS) |
1643 | 74fa8200 | Iustin Pop | find . -path './lib/*.py' -o -path './scripts/gnt-*' -o \ |
1644 | 74fa8200 | Iustin Pop | -path './daemons/ganeti-*' -o -path './tools/*' -o \ |
1645 | 74fa8200 | Iustin Pop | -path './qa/*.py' | \ |
1646 | 2db53645 | Iustin Pop | etags -l python -a - |
1647 | 13e720f1 | Iustin Pop | |
1648 | 27e336af | Michael Hanselmann | .PHONY: coverage |
1649 | b91e9518 | Iustin Pop | if WANT_HTOOLS |
1650 | b91e9518 | Iustin Pop | coverage: py-coverage hs-coverage |
1651 | b91e9518 | Iustin Pop | else |
1652 | b91e9518 | Iustin Pop | coverage: py-coverage |
1653 | b91e9518 | Iustin Pop | endif |
1654 | b91e9518 | Iustin Pop | |
1655 | b91e9518 | Iustin Pop | .PHONY: py-coverage |
1656 | 4c3d5fb6 | Iustin Pop | py-coverage: $(GENERATED_FILES) $(python_tests) |
1657 | 141c8421 | Michael Hanselmann | @test -n "$(PYCOVERAGE)" || \ |
1658 | 141c8421 | Michael Hanselmann | { echo 'python-coverage' not found during configure; exit 1; } |
1659 | 27e336af | Michael Hanselmann | set -e; \ |
1660 | 141c8421 | Michael Hanselmann | COVERAGE=$(PYCOVERAGE) \ |
1661 | 22c5390d | Iustin Pop | COVERAGE_FILE=$(CURDIR)/$(COVERAGE_PY_DIR)/data \ |
1662 | 22c5390d | Iustin Pop | TEXT_COVERAGE=$(CURDIR)/$(COVERAGE_PY_DIR)/report.txt \ |
1663 | 22c5390d | Iustin Pop | HTML_COVERAGE=$(CURDIR)/$(COVERAGE_PY_DIR) \ |
1664 | e8c8cf1a | Michael Hanselmann | $(PLAIN_TESTS_ENVIRONMENT) $(abs_top_srcdir)/autotools/gen-coverage \ |
1665 | e8c8cf1a | Michael Hanselmann | $(python_tests) |
1666 | 27e336af | Michael Hanselmann | |
1667 | b91e9518 | Iustin Pop | .PHONY: hs-coverage |
1668 | f0f3a6df | Iustin Pop | hs-coverage: $(haskell_tests) htest/hpc-htools |
1669 | 316dc1ff | Iustin Pop | rm -f *.tix |
1670 | b0b8458a | Iustin Pop | $(MAKE) $(AM_MAKEFLAGS) hs-check |
1671 | 48f12e73 | Iustin Pop | @mkdir_p@ $(COVERAGE_HS_DIR) |
1672 | 96eccc1f | Iustin Pop | hpc combine --union $(HPCEXCL) \ |
1673 | 96eccc1f | Iustin Pop | test.tix hpc-htools.tix > coverage-htools.tix |
1674 | 896b2850 | Iustin Pop | hpc markup --destdir=$(COVERAGE_HS_DIR) coverage-htools.tix |
1675 | 896b2850 | Iustin Pop | hpc report coverage-htools.tix |
1676 | 82888134 | Michael Hanselmann | $(LN_S) -f hpc_index.html $(COVERAGE_HS_DIR)/index.html |
1677 | b91e9518 | Iustin Pop | |
1678 | ec8379bd | Iustin Pop | # Special "kind-of-QA" target for htools, needs special setup (all |
1679 | ec8379bd | Iustin Pop | # tools compiled with -fhpc) |
1680 | ec8379bd | Iustin Pop | .PHONY: live-test |
1681 | ec8379bd | Iustin Pop | live-test: all |
1682 | ec8379bd | Iustin Pop | set -e ; \ |
1683 | ec8379bd | Iustin Pop | cd htools; \ |
1684 | 82888134 | Michael Hanselmann | rm -f .hpc; $(LN_S) ../.hpc .hpc; \ |
1685 | ec8379bd | Iustin Pop | rm -f *.tix *.mix; \ |
1686 | ec8379bd | Iustin Pop | ./live-test.sh; \ |
1687 | c3f67183 | Iustin Pop | hpc sum --union $(HPCEXCL) $(addsuffix .tix,$(HS_PROGS:htools/%=%)) \ |
1688 | ec8379bd | Iustin Pop | --output=live-test.tix ; \ |
1689 | 22c5390d | Iustin Pop | @mkdir_p@ ../$(COVERAGE_HS_DIR) ; \ |
1690 | 22c5390d | Iustin Pop | hpc markup --destdir=../$(COVERAGE_HS_DIR) live-test \ |
1691 | ec8379bd | Iustin Pop | --srcdir=.. $(HPCEXCL) ; \ |
1692 | ec8379bd | Iustin Pop | hpc report --srcdir=.. live-test $(HPCEXCL) |
1693 | b91e9518 | Iustin Pop | |
1694 | b341b9ca | Guido Trotter | commit-check: distcheck lint apidoc |
1695 | b341b9ca | Guido Trotter | |
1696 | 6438e259 | Iustin Pop | .PHONY: gitignore-check |
1697 | 6438e259 | Iustin Pop | gitignore-check: |
1698 | 6438e259 | Iustin Pop | @if [ -n "`git status --short`" ]; then \ |
1699 | 6438e259 | Iustin Pop | echo "Git status is not clean!" 1>&2 ; \ |
1700 | 6438e259 | Iustin Pop | git status --short; \ |
1701 | 6438e259 | Iustin Pop | exit 1; \ |
1702 | 6438e259 | Iustin Pop | fi |
1703 | 6438e259 | Iustin Pop | |
1704 | 37519c09 | Iustin Pop | # Target that builds all binaries (including those that are not |
1705 | 37519c09 | Iustin Pop | # rebuilt except when running the tests) |
1706 | 37519c09 | Iustin Pop | .PHONY: really-all |
1707 | 37519c09 | Iustin Pop | really-all: all $(check_SCRIPTS) $(haskell_tests) |
1708 | 37519c09 | Iustin Pop | |
1709 | 1d45f7a0 | Iustin Pop | # we don't need the ancient implicit rules: |
1710 | 1d45f7a0 | Iustin Pop | %: %,v |
1711 | 1d45f7a0 | Iustin Pop | %: RCS/%,v |
1712 | 1d45f7a0 | Iustin Pop | %: RCS/% |
1713 | 1d45f7a0 | Iustin Pop | %: s.% |
1714 | 1d45f7a0 | Iustin Pop | %: SCCS/s.% |
1715 | 1d45f7a0 | Iustin Pop | |
1716 | 3baa809c | Michael Hanselmann | -include ./Makefile.local |
1717 | 3baa809c | Michael Hanselmann | |
1718 | e8230860 | Michael Hanselmann | # vim: set noet : |