root / Makefile.am @ e5a246df
History | View | Annotate | Download (21.6 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 | 6e06b36c | Iustin Pop | ACLOCAL_AMFLAGS = -I autotools |
13 | e8230860 | Michael Hanselmann | DOCBOOK_WRAPPER = $(top_srcdir)/autotools/docbook-wrapper |
14 | 4f3d5b76 | Michael Hanselmann | BUILD_BASH_COMPLETION = $(top_srcdir)/autotools/build-bash-completion |
15 | b959138f | Michael Hanselmann | RUN_IN_TEMPDIR = $(top_srcdir)/autotools/run-in-tempdir |
16 | eed5c5df | Michael Hanselmann | CHECK_PYTHON_CODE = $(top_srcdir)/autotools/check-python-code |
17 | a4f12da4 | Michael Hanselmann | CHECK_MAN = $(top_srcdir)/autotools/check-man |
18 | e8230860 | Michael Hanselmann | REPLACE_VARS_SED = autotools/replace_vars.sed |
19 | e8230860 | Michael Hanselmann | |
20 | 2d48a3a2 | Michael Hanselmann | clientdir = $(pkgpythondir)/client |
21 | e8230860 | Michael Hanselmann | hypervisordir = $(pkgpythondir)/hypervisor |
22 | ff9efc03 | Michael Hanselmann | httpdir = $(pkgpythondir)/http |
23 | dc101ecc | Michael Hanselmann | masterddir = $(pkgpythondir)/masterd |
24 | 12426ae1 | Guido Trotter | confddir = $(pkgpythondir)/confd |
25 | 8c229cc7 | Oleksiy Mishchenko | rapidir = $(pkgpythondir)/rapi |
26 | 899c4d2c | Michael Hanselmann | serverdir = $(pkgpythondir)/server |
27 | 9f4bb951 | Michael Hanselmann | watcherdir = $(pkgpythondir)/watcher |
28 | bb44b1ae | Michael Hanselmann | impexpddir = $(pkgpythondir)/impexpd |
29 | e8230860 | Michael Hanselmann | toolsdir = $(pkglibdir)/tools |
30 | e8230860 | Michael Hanselmann | docdir = $(datadir)/doc/$(PACKAGE) |
31 | e8230860 | Michael Hanselmann | |
32 | a4f12da4 | Michael Hanselmann | # Delete output file if an error occurred while building it |
33 | a4f12da4 | Michael Hanselmann | .DELETE_ON_ERROR: |
34 | a4f12da4 | Michael Hanselmann | |
35 | e8230860 | Michael Hanselmann | DIRS = \ |
36 | e8230860 | Michael Hanselmann | autotools \ |
37 | e8230860 | Michael Hanselmann | daemons \ |
38 | e8230860 | Michael Hanselmann | devel \ |
39 | e8230860 | Michael Hanselmann | doc \ |
40 | e8230860 | Michael Hanselmann | doc/examples \ |
41 | d6d9ce45 | Guido Trotter | doc/examples/hooks \ |
42 | c51580b3 | Guido Trotter | doc/examples/gnt-debug \ |
43 | e8230860 | Michael Hanselmann | lib \ |
44 | 2d48a3a2 | Michael Hanselmann | lib/client \ |
45 | f9897b6d | Michael Hanselmann | lib/build \ |
46 | 2f16ea8f | Michael Hanselmann | lib/confd \ |
47 | ff9efc03 | Michael Hanselmann | lib/http \ |
48 | e8230860 | Michael Hanselmann | lib/hypervisor \ |
49 | bb44b1ae | Michael Hanselmann | lib/impexpd \ |
50 | dc101ecc | Michael Hanselmann | lib/masterd \ |
51 | 8c229cc7 | Oleksiy Mishchenko | lib/rapi \ |
52 | 899c4d2c | Michael Hanselmann | lib/server \ |
53 | 9f4bb951 | Michael Hanselmann | lib/watcher \ |
54 | e8230860 | Michael Hanselmann | man \ |
55 | e8230860 | Michael Hanselmann | qa \ |
56 | e8230860 | Michael Hanselmann | test \ |
57 | e8230860 | Michael Hanselmann | test/data \ |
58 | e8230860 | Michael Hanselmann | tools |
59 | e8230860 | Michael Hanselmann | |
60 | 2750b299 | Michael Hanselmann | BUILDTIME_DIR_AUTOCREATE = \ |
61 | c964d962 | Michael Hanselmann | scripts \ |
62 | 6b997854 | Michael Hanselmann | doc/api \ |
63 | 2750b299 | Michael Hanselmann | doc/coverage |
64 | 2750b299 | Michael Hanselmann | |
65 | 2750b299 | Michael Hanselmann | BUILDTIME_DIRS = \ |
66 | 2750b299 | Michael Hanselmann | $(BUILDTIME_DIR_AUTOCREATE) \ |
67 | 6b997854 | Michael Hanselmann | doc/html |
68 | 6b997854 | Michael Hanselmann | |
69 | 6b997854 | Michael Hanselmann | DIRCHECK_EXCLUDE = \ |
70 | 6b997854 | Michael Hanselmann | $(BUILDTIME_DIRS) \ |
71 | 6b997854 | Michael Hanselmann | ganeti-[0-9]*.[0-9]*.[0-9]* \ |
72 | 6b997854 | Michael Hanselmann | doc/html/_* |
73 | 6b997854 | Michael Hanselmann | |
74 | 2750b299 | Michael Hanselmann | all_dirfiles = $(addsuffix /.dir,$(DIRS) $(BUILDTIME_DIR_AUTOCREATE)) |
75 | c964d962 | Michael Hanselmann | |
76 | 2ab2b9f5 | Iustin Pop | MAINTAINERCLEANFILES = \ |
77 | d17e74b4 | Iustin Pop | $(docpng) \ |
78 | b76aac08 | Michael Hanselmann | $(maninput) \ |
79 | cbf3d64b | Michael Hanselmann | doc/install-quick.rst \ |
80 | 84a12e40 | Iustin Pop | doc/news.rst \ |
81 | 84a12e40 | Iustin Pop | vcs-version |
82 | 2ab2b9f5 | Iustin Pop | |
83 | d17e74b4 | Iustin Pop | maintainer-clean-local: |
84 | 6b997854 | Michael Hanselmann | rm -rf $(BUILDTIME_DIRS) |
85 | d17e74b4 | Iustin Pop | |
86 | e8230860 | Michael Hanselmann | CLEANFILES = \ |
87 | 2f16ea8f | Michael Hanselmann | $(addsuffix /*.py[co],$(DIRS)) \ |
88 | c964d962 | Michael Hanselmann | $(all_dirfiles) \ |
89 | 2d48a3a2 | Michael Hanselmann | $(PYTHON_BOOTSTRAP) \ |
90 | e8230860 | Michael Hanselmann | autotools/replace_vars.sed \ |
91 | f154a7a3 | Michael Hanselmann | daemons/daemon-util \ |
92 | 46a8da3b | René Nussbaumer | daemons/ensure-dirs \ |
93 | fc3fd894 | Michael Hanselmann | daemons/ganeti-cleaner \ |
94 | e8230860 | Michael Hanselmann | devel/upload \ |
95 | f72f8622 | Iustin Pop | doc/examples/bash_completion \ |
96 | e8230860 | Michael Hanselmann | doc/examples/ganeti.initd \ |
97 | e8230860 | Michael Hanselmann | doc/examples/ganeti.cron \ |
98 | 679008e7 | Iustin Pop | doc/examples/gnt-config-backup \ |
99 | a2442bf9 | Luca Bigliardi | doc/examples/hooks/ipsec \ |
100 | 2ab2b9f5 | Iustin Pop | $(man_MANS) \ |
101 | 2ab2b9f5 | Iustin Pop | $(manhtml) \ |
102 | dd1dfd9a | Michael Hanselmann | stamp-srclinks \ |
103 | e8230860 | Michael Hanselmann | $(nodist_pkgpython_PYTHON) |
104 | e8230860 | Michael Hanselmann | |
105 | c964d962 | Michael Hanselmann | # BUILT_SOURCES should only be used as a dependency on phony targets. Otherwise |
106 | c964d962 | Michael Hanselmann | # it'll cause the target to rebuild every time. |
107 | dc7d2c49 | Michael Hanselmann | BUILT_SOURCES = \ |
108 | dc7d2c49 | Michael Hanselmann | ganeti \ |
109 | dd1dfd9a | Michael Hanselmann | stamp-srclinks \ |
110 | 2d1f248e | Michael Hanselmann | lib/_autoconf.py \ |
111 | c964d962 | Michael Hanselmann | $(all_dirfiles) \ |
112 | 2d1f248e | Michael Hanselmann | $(PYTHON_BOOTSTRAP) |
113 | 2d1f248e | Michael Hanselmann | |
114 | e8230860 | Michael Hanselmann | nodist_pkgpython_PYTHON = \ |
115 | e8230860 | Michael Hanselmann | lib/_autoconf.py |
116 | e8230860 | Michael Hanselmann | |
117 | f9897b6d | Michael Hanselmann | noinst_PYTHON = \ |
118 | f9897b6d | Michael Hanselmann | lib/build/__init__.py |
119 | f9897b6d | Michael Hanselmann | |
120 | e8230860 | Michael Hanselmann | pkgpython_PYTHON = \ |
121 | e8230860 | Michael Hanselmann | lib/__init__.py \ |
122 | a8a76bc2 | Guido Trotter | lib/asyncnotifier.py \ |
123 | e8230860 | Michael Hanselmann | lib/backend.py \ |
124 | e8230860 | Michael Hanselmann | lib/bdev.py \ |
125 | e8230860 | Michael Hanselmann | lib/bootstrap.py \ |
126 | e8230860 | Michael Hanselmann | lib/cli.py \ |
127 | e8230860 | Michael Hanselmann | lib/cmdlib.py \ |
128 | cea881e5 | Michael Hanselmann | lib/compat.py \ |
129 | e8230860 | Michael Hanselmann | lib/config.py \ |
130 | e8230860 | Michael Hanselmann | lib/constants.py \ |
131 | 821d9e43 | Michael Hanselmann | lib/daemon.py \ |
132 | e8230860 | Michael Hanselmann | lib/errors.py \ |
133 | 62e0e880 | Iustin Pop | lib/ht.py \ |
134 | e8230860 | Michael Hanselmann | lib/jqueue.py \ |
135 | 8b537bb0 | Michael Hanselmann | lib/jstore.py \ |
136 | e8230860 | Michael Hanselmann | lib/locking.py \ |
137 | e8230860 | Michael Hanselmann | lib/luxi.py \ |
138 | e8230860 | Michael Hanselmann | lib/mcpu.py \ |
139 | a744b676 | Manuel Franceschini | lib/netutils.py \ |
140 | e8230860 | Michael Hanselmann | lib/objects.py \ |
141 | e8230860 | Michael Hanselmann | lib/opcodes.py \ |
142 | e8230860 | Michael Hanselmann | lib/rpc.py \ |
143 | f12e1736 | René Nussbaumer | lib/runtime.py \ |
144 | e8230860 | Michael Hanselmann | lib/serializer.py \ |
145 | e8230860 | Michael Hanselmann | lib/ssconf.py \ |
146 | e8230860 | Michael Hanselmann | lib/ssh.py \ |
147 | ac2d0fe4 | Michael Hanselmann | lib/storage.py \ |
148 | 76094e37 | Michael Hanselmann | lib/utils.py \ |
149 | 1338f2b4 | Balazs Lecz | lib/uidpool.py \ |
150 | 76094e37 | Michael Hanselmann | lib/workerpool.py |
151 | e8230860 | Michael Hanselmann | |
152 | 2d48a3a2 | Michael Hanselmann | client_PYTHON = \ |
153 | c2855a12 | Michael Hanselmann | lib/client/__init__.py \ |
154 | 02266fe0 | Michael Hanselmann | lib/client/gnt_backup.py \ |
155 | 7b3e7d41 | Michael Hanselmann | lib/client/gnt_cluster.py \ |
156 | 6d50f5f9 | Michael Hanselmann | lib/client/gnt_debug.py \ |
157 | e792102d | Michael Hanselmann | lib/client/gnt_instance.py \ |
158 | a09b9e3d | Michael Hanselmann | lib/client/gnt_job.py \ |
159 | 37494fa4 | Michael Hanselmann | lib/client/gnt_node.py \ |
160 | 6d50f5f9 | Michael Hanselmann | lib/client/gnt_os.py |
161 | 2d48a3a2 | Michael Hanselmann | |
162 | e8230860 | Michael Hanselmann | hypervisor_PYTHON = \ |
163 | e8230860 | Michael Hanselmann | lib/hypervisor/__init__.py \ |
164 | e8230860 | Michael Hanselmann | lib/hypervisor/hv_base.py \ |
165 | 48297fa2 | Iustin Pop | lib/hypervisor/hv_chroot.py \ |
166 | e8230860 | Michael Hanselmann | lib/hypervisor/hv_fake.py \ |
167 | eb58f9b1 | Guido Trotter | lib/hypervisor/hv_kvm.py \ |
168 | 4b5e40a5 | Iustin Pop | lib/hypervisor/hv_lxc.py \ |
169 | e8230860 | Michael Hanselmann | lib/hypervisor/hv_xen.py |
170 | e8230860 | Michael Hanselmann | |
171 | 8c229cc7 | Oleksiy Mishchenko | rapi_PYTHON = \ |
172 | 8c229cc7 | Oleksiy Mishchenko | lib/rapi/__init__.py \ |
173 | 10b207d4 | Oleksiy Mishchenko | lib/rapi/baserlib.py \ |
174 | 95ab4de9 | David Knowles | lib/rapi/client.py \ |
175 | 20b509de | Michael Hanselmann | lib/rapi/client_utils.py \ |
176 | 10b207d4 | Oleksiy Mishchenko | lib/rapi/connector.py \ |
177 | 10b207d4 | Oleksiy Mishchenko | lib/rapi/rlib2.py |
178 | 8c229cc7 | Oleksiy Mishchenko | |
179 | ff9efc03 | Michael Hanselmann | http_PYTHON = \ |
180 | 02cab3e7 | Michael Hanselmann | lib/http/__init__.py \ |
181 | be500c29 | Michael Hanselmann | lib/http/auth.py \ |
182 | 02cab3e7 | Michael Hanselmann | lib/http/client.py \ |
183 | 02cab3e7 | Michael Hanselmann | lib/http/server.py |
184 | ff9efc03 | Michael Hanselmann | |
185 | 12426ae1 | Guido Trotter | confd_PYTHON = \ |
186 | 71f27d19 | Guido Trotter | lib/confd/__init__.py \ |
187 | e4ccf6cd | Guido Trotter | lib/confd/client.py \ |
188 | 2f16ea8f | Michael Hanselmann | lib/confd/querylib.py \ |
189 | 2f16ea8f | Michael Hanselmann | lib/confd/server.py |
190 | 8c229cc7 | Oleksiy Mishchenko | |
191 | dc101ecc | Michael Hanselmann | masterd_PYTHON = \ |
192 | 033a1d00 | Michael Hanselmann | lib/masterd/__init__.py \ |
193 | 033a1d00 | Michael Hanselmann | lib/masterd/instance.py |
194 | dc101ecc | Michael Hanselmann | |
195 | bb44b1ae | Michael Hanselmann | impexpd_PYTHON = \ |
196 | bb44b1ae | Michael Hanselmann | lib/impexpd/__init__.py |
197 | bb44b1ae | Michael Hanselmann | |
198 | 9f4bb951 | Michael Hanselmann | watcher_PYTHON = \ |
199 | 9f4bb951 | Michael Hanselmann | lib/watcher/__init__.py |
200 | 9f4bb951 | Michael Hanselmann | |
201 | 899c4d2c | Michael Hanselmann | server_PYTHON = \ |
202 | 29d91329 | Michael Hanselmann | lib/server/__init__.py \ |
203 | 5c9c0e0e | Michael Hanselmann | lib/server/confd.py \ |
204 | 5119f2ec | Michael Hanselmann | lib/server/masterd.py \ |
205 | d9c82a4e | Michael Hanselmann | lib/server/noded.py \ |
206 | d9c82a4e | Michael Hanselmann | lib/server/rapi.py |
207 | 899c4d2c | Michael Hanselmann | |
208 | f05c99f3 | Michael Hanselmann | docrst = \ |
209 | ffa6869f | Iustin Pop | doc/admin.rst \ |
210 | 5c0c1eeb | Iustin Pop | doc/design-2.0.rst \ |
211 | 4f366caf | Michael Hanselmann | doc/design-2.1.rst \ |
212 | e56bb0e8 | Guido Trotter | doc/design-2.2.rst \ |
213 | 1eb85930 | Guido Trotter | doc/design-2.3.rst \ |
214 | 1e86ee97 | Marc Schmitt | doc/design-oob.rst \ |
215 | e5a246df | Michael Hanselmann | doc/design-query2.rst \ |
216 | d9bdffc3 | René Nussbaumer | doc/cluster-merge.rst \ |
217 | 62947ebb | Michael Hanselmann | doc/devnotes.rst \ |
218 | e2078d28 | Iustin Pop | doc/glossary.rst \ |
219 | 4d6443f4 | Iustin Pop | doc/hooks.rst \ |
220 | 876860a3 | Iustin Pop | doc/iallocator.rst \ |
221 | d17e74b4 | Iustin Pop | doc/index.rst \ |
222 | cbf3d64b | Michael Hanselmann | doc/install-quick.rst \ |
223 | 28e15341 | Iustin Pop | doc/install.rst \ |
224 | 9725b53d | Michael Hanselmann | doc/locking.rst \ |
225 | 6bf273d5 | Michael Hanselmann | doc/move-instance.rst \ |
226 | c71a1a3d | Iustin Pop | doc/news.rst \ |
227 | 6d81475c | Iustin Pop | doc/rapi.rst \ |
228 | b76aac08 | Michael Hanselmann | doc/security.rst \ |
229 | c71a1a3d | Iustin Pop | doc/walkthrough.rst |
230 | f05c99f3 | Michael Hanselmann | |
231 | c964d962 | Michael Hanselmann | $(RUN_IN_TEMPDIR): | $(all_dirfiles) |
232 | c964d962 | Michael Hanselmann | |
233 | c964d962 | Michael Hanselmann | doc/html/index.html: $(docrst) $(docpng) doc/conf.py configure.ac \ |
234 | 2750b299 | Michael Hanselmann | $(RUN_IN_TEMPDIR) |
235 | d17e74b4 | Iustin Pop | @test -n "$(SPHINX)" || \ |
236 | d17e74b4 | Iustin Pop | { echo 'sphinx-build' not found during configure; exit 1; } |
237 | 2750b299 | Michael Hanselmann | @mkdir_p@ $(dir $@) |
238 | e7f6524c | Michael Hanselmann | PYTHONPATH=. $(RUN_IN_TEMPDIR) $(SPHINX) -q -W -b html \ |
239 | 13de7d59 | Michael Hanselmann | -d . \ |
240 | d17e74b4 | Iustin Pop | -D version="$(VERSION_MAJOR).$(VERSION_MINOR)" \ |
241 | d17e74b4 | Iustin Pop | -D release="$(PACKAGE_VERSION)" \ |
242 | 13de7d59 | Michael Hanselmann | $(abs_top_srcdir)/doc $(CURDIR)/doc/html |
243 | 13de7d59 | Michael Hanselmann | rm -f doc/html/.buildinfo doc/html/objects.inv |
244 | 13de7d59 | Michael Hanselmann | touch $@ |
245 | 13de7d59 | Michael Hanselmann | |
246 | c964d962 | Michael Hanselmann | doc/html: doc/html/index.html |
247 | 2ab2b9f5 | Iustin Pop | |
248 | b76aac08 | Michael Hanselmann | doc/news.rst: NEWS |
249 | b76aac08 | Michael Hanselmann | set -e; \ |
250 | b76aac08 | Michael Hanselmann | { echo '.. This file is automatically updated at build time from $<.'; \ |
251 | b76aac08 | Michael Hanselmann | echo '.. Do not edit.'; \ |
252 | b76aac08 | Michael Hanselmann | echo; \ |
253 | b76aac08 | Michael Hanselmann | cat $<; \ |
254 | b76aac08 | Michael Hanselmann | } > $@ |
255 | b76aac08 | Michael Hanselmann | |
256 | cbf3d64b | Michael Hanselmann | doc/install-quick.rst: INSTALL |
257 | cbf3d64b | Michael Hanselmann | set -e; \ |
258 | cbf3d64b | Michael Hanselmann | { echo '.. This file is automatically updated at build time from $<.'; \ |
259 | cbf3d64b | Michael Hanselmann | echo '.. Do not edit.'; \ |
260 | cbf3d64b | Michael Hanselmann | echo; \ |
261 | cbf3d64b | Michael Hanselmann | cat $<; \ |
262 | cbf3d64b | Michael Hanselmann | } > $@ |
263 | cbf3d64b | Michael Hanselmann | |
264 | b8195800 | Iustin Pop | docdot = \ |
265 | ca9ccea8 | Michael Hanselmann | doc/arch-2.0.dot \ |
266 | ca9ccea8 | Michael Hanselmann | doc/design-2.1-lock-acquire.dot \ |
267 | ca9ccea8 | Michael Hanselmann | doc/design-2.1-lock-release.dot |
268 | b8195800 | Iustin Pop | |
269 | d17e74b4 | Iustin Pop | docpng = $(patsubst %.dot,%.png,$(docdot)) |
270 | e8230860 | Michael Hanselmann | |
271 | 7e1ccbe0 | Michael Hanselmann | # Things to build but not to install (add it to EXTRA_DIST if it should be |
272 | 7e1ccbe0 | Michael Hanselmann | # distributed) |
273 | 7e1ccbe0 | Michael Hanselmann | noinst_DATA = \ |
274 | 7e1ccbe0 | Michael Hanselmann | devel/upload \ |
275 | 7e1ccbe0 | Michael Hanselmann | doc/html \ |
276 | 7e1ccbe0 | Michael Hanselmann | doc/examples/bash_completion \ |
277 | 7e1ccbe0 | Michael Hanselmann | doc/examples/ganeti.cron \ |
278 | 7e1ccbe0 | Michael Hanselmann | doc/examples/ganeti.initd \ |
279 | 679008e7 | Iustin Pop | doc/examples/gnt-config-backup \ |
280 | 7e1ccbe0 | Michael Hanselmann | doc/examples/hooks/ipsec \ |
281 | 7e1ccbe0 | Michael Hanselmann | $(manhtml) |
282 | f29266b4 | Iustin Pop | |
283 | 4f3d5b76 | Michael Hanselmann | gnt_scripts = \ |
284 | e8230860 | Michael Hanselmann | scripts/gnt-backup \ |
285 | e8230860 | Michael Hanselmann | scripts/gnt-cluster \ |
286 | e8230860 | Michael Hanselmann | scripts/gnt-debug \ |
287 | e8230860 | Michael Hanselmann | scripts/gnt-instance \ |
288 | e8230860 | Michael Hanselmann | scripts/gnt-job \ |
289 | e8230860 | Michael Hanselmann | scripts/gnt-node \ |
290 | e8230860 | Michael Hanselmann | scripts/gnt-os |
291 | e8230860 | Michael Hanselmann | |
292 | c2855a12 | Michael Hanselmann | PYTHON_BOOTSTRAP = \ |
293 | 5c9c0e0e | Michael Hanselmann | daemons/ganeti-confd \ |
294 | 29d91329 | Michael Hanselmann | daemons/ganeti-masterd \ |
295 | 5119f2ec | Michael Hanselmann | daemons/ganeti-noded \ |
296 | 9f4bb951 | Michael Hanselmann | daemons/ganeti-watcher \ |
297 | d9c82a4e | Michael Hanselmann | daemons/ganeti-rapi \ |
298 | 02266fe0 | Michael Hanselmann | scripts/gnt-backup \ |
299 | 7b3e7d41 | Michael Hanselmann | scripts/gnt-cluster \ |
300 | 6d50f5f9 | Michael Hanselmann | scripts/gnt-debug \ |
301 | e792102d | Michael Hanselmann | scripts/gnt-instance \ |
302 | a09b9e3d | Michael Hanselmann | scripts/gnt-job \ |
303 | 37494fa4 | Michael Hanselmann | scripts/gnt-node \ |
304 | 6d50f5f9 | Michael Hanselmann | scripts/gnt-os |
305 | 2d48a3a2 | Michael Hanselmann | |
306 | d9c82a4e | Michael Hanselmann | dist_sbin_SCRIPTS = |
307 | 4f3d5b76 | Michael Hanselmann | |
308 | fc3fd894 | Michael Hanselmann | nodist_sbin_SCRIPTS = \ |
309 | 2d48a3a2 | Michael Hanselmann | $(PYTHON_BOOTSTRAP) \ |
310 | fc3fd894 | Michael Hanselmann | daemons/ganeti-cleaner |
311 | fc3fd894 | Michael Hanselmann | |
312 | e8230860 | Michael Hanselmann | dist_tools_SCRIPTS = \ |
313 | e8230860 | Michael Hanselmann | tools/burnin \ |
314 | e8230860 | Michael Hanselmann | tools/cfgshell \ |
315 | e8230860 | Michael Hanselmann | tools/cfgupgrade \ |
316 | b5672ea0 | Iustin Pop | tools/cfgupgrade12 \ |
317 | 1f7d3f7d | René Nussbaumer | tools/cluster-merge \ |
318 | ea5fd476 | Iustin Pop | tools/lvmstrap \ |
319 | 6bf273d5 | Michael Hanselmann | tools/move-instance \ |
320 | 05cd934d | René Nussbaumer | tools/setup-ssh \ |
321 | ea5fd476 | Iustin Pop | tools/sanitize-config |
322 | e8230860 | Michael Hanselmann | |
323 | 2d76b580 | Michael Hanselmann | pkglib_python_scripts = \ |
324 | c6ccba7e | Michael Hanselmann | daemons/import-export \ |
325 | c6ccba7e | Michael Hanselmann | tools/check-cert-expired |
326 | 2d76b580 | Michael Hanselmann | |
327 | f154a7a3 | Michael Hanselmann | pkglib_SCRIPTS = \ |
328 | 2d76b580 | Michael Hanselmann | daemons/daemon-util \ |
329 | 46a8da3b | René Nussbaumer | daemons/ensure-dirs \ |
330 | 2d76b580 | Michael Hanselmann | $(pkglib_python_scripts) |
331 | f154a7a3 | Michael Hanselmann | |
332 | e8230860 | Michael Hanselmann | EXTRA_DIST = \ |
333 | e8230860 | Michael Hanselmann | NEWS \ |
334 | 70c771f6 | Michael Hanselmann | pylintrc \ |
335 | bb46a96c | Michael Hanselmann | autotools/build-bash-completion \ |
336 | eed5c5df | Michael Hanselmann | autotools/check-python-code \ |
337 | a4f12da4 | Michael Hanselmann | autotools/check-man \ |
338 | e627fe09 | Michael Hanselmann | autotools/check-tar \ |
339 | e8230860 | Michael Hanselmann | autotools/docbook-wrapper \ |
340 | 27e336af | Michael Hanselmann | autotools/gen-coverage \ |
341 | e8c8cf1a | Michael Hanselmann | autotools/testrunner \ |
342 | f3313af5 | Guido Trotter | $(RUN_IN_TEMPDIR) \ |
343 | f154a7a3 | Michael Hanselmann | daemons/daemon-util.in \ |
344 | 46a8da3b | René Nussbaumer | daemons/ensure-dirs.in \ |
345 | fc3fd894 | Michael Hanselmann | daemons/ganeti-cleaner.in \ |
346 | 2d76b580 | Michael Hanselmann | $(pkglib_python_scripts) \ |
347 | e8230860 | Michael Hanselmann | devel/upload.in \ |
348 | b8195800 | Iustin Pop | $(docdot) \ |
349 | f727d134 | Michael Hanselmann | $(docpng) \ |
350 | d17e74b4 | Iustin Pop | $(docrst) \ |
351 | d17e74b4 | Iustin Pop | doc/conf.py \ |
352 | d17e74b4 | Iustin Pop | doc/html \ |
353 | e8230860 | Michael Hanselmann | doc/examples/ganeti.initd.in \ |
354 | e8230860 | Michael Hanselmann | doc/examples/ganeti.cron.in \ |
355 | 679008e7 | Iustin Pop | doc/examples/gnt-config-backup.in \ |
356 | e8230860 | Michael Hanselmann | doc/examples/dumb-allocator \ |
357 | 752a8ca8 | Michael Hanselmann | doc/examples/ganeti.default \ |
358 | 752a8ca8 | Michael Hanselmann | doc/examples/ganeti.default-debug \ |
359 | d6d9ce45 | Guido Trotter | doc/examples/hooks/ethers \ |
360 | a2442bf9 | Luca Bigliardi | doc/examples/hooks/ipsec.in \ |
361 | 89c04c2d | Guido Trotter | doc/examples/gnt-debug/README \ |
362 | 89c04c2d | Guido Trotter | doc/examples/gnt-debug/delay0.json \ |
363 | 89c04c2d | Guido Trotter | doc/examples/gnt-debug/delay50.json \ |
364 | e8230860 | Michael Hanselmann | test/testutils.py \ |
365 | e8230860 | Michael Hanselmann | test/mocks.py \ |
366 | e8230860 | Michael Hanselmann | $(dist_TESTS) \ |
367 | e8230860 | Michael Hanselmann | $(TEST_FILES) \ |
368 | e8230860 | Michael Hanselmann | man/footer.sgml \ |
369 | f727d134 | Michael Hanselmann | $(mansgml) \ |
370 | f727d134 | Michael Hanselmann | $(maninput) \ |
371 | e8230860 | Michael Hanselmann | qa/ganeti-qa.py \ |
372 | 39e0d19e | Michael Hanselmann | qa/qa-sample.json \ |
373 | e8230860 | Michael Hanselmann | qa/qa_cluster.py \ |
374 | e8230860 | Michael Hanselmann | qa/qa_config.py \ |
375 | e8230860 | Michael Hanselmann | qa/qa_daemon.py \ |
376 | e8230860 | Michael Hanselmann | qa/qa_env.py \ |
377 | e8230860 | Michael Hanselmann | qa/qa_error.py \ |
378 | e8230860 | Michael Hanselmann | qa/qa_instance.py \ |
379 | e8230860 | Michael Hanselmann | qa/qa_node.py \ |
380 | e8230860 | Michael Hanselmann | qa/qa_os.py \ |
381 | a47f574c | Oleksiy Mishchenko | qa/qa_rapi.py \ |
382 | e8230860 | Michael Hanselmann | qa/qa_tags.py \ |
383 | e8230860 | Michael Hanselmann | qa/qa_utils.py |
384 | e8230860 | Michael Hanselmann | |
385 | e8230860 | Michael Hanselmann | man_MANS = \ |
386 | e8230860 | Michael Hanselmann | man/ganeti.7 \ |
387 | bae7e531 | Michael Hanselmann | man/ganeti-cleaner.8 \ |
388 | b7b7cda6 | Guido Trotter | man/ganeti-confd.8 \ |
389 | 320d986d | Iustin Pop | man/ganeti-masterd.8 \ |
390 | e8230860 | Michael Hanselmann | man/ganeti-noded.8 \ |
391 | e8230860 | Michael Hanselmann | man/ganeti-os-interface.7 \ |
392 | 320d986d | Iustin Pop | man/ganeti-rapi.8 \ |
393 | e8230860 | Michael Hanselmann | man/ganeti-watcher.8 \ |
394 | e8230860 | Michael Hanselmann | man/gnt-backup.8 \ |
395 | e8230860 | Michael Hanselmann | man/gnt-cluster.8 \ |
396 | d3b4cf9f | Iustin Pop | man/gnt-debug.8 \ |
397 | e8230860 | Michael Hanselmann | man/gnt-instance.8 \ |
398 | d3b4cf9f | Iustin Pop | man/gnt-job.8 \ |
399 | e8230860 | Michael Hanselmann | man/gnt-node.8 \ |
400 | e8230860 | Michael Hanselmann | man/gnt-os.8 |
401 | e8230860 | Michael Hanselmann | |
402 | 2ab2b9f5 | Iustin Pop | mansgml = $(patsubst %.7,%.sgml,$(patsubst %.8,%.sgml,$(man_MANS))) |
403 | 2ab2b9f5 | Iustin Pop | manhtml = $(patsubst %.sgml,%.html,$(mansgml)) |
404 | 25c92bc5 | Michael Hanselmann | maninput = \ |
405 | 25c92bc5 | Michael Hanselmann | $(patsubst %.7,%.7.in,$(patsubst %.8,%.8.in,$(man_MANS))) \ |
406 | 25c92bc5 | Michael Hanselmann | $(patsubst %.html,%.html.in,$(manhtml)) |
407 | e8230860 | Michael Hanselmann | |
408 | e8230860 | Michael Hanselmann | TEST_FILES = \ |
409 | 5a672c30 | Manuel Franceschini | test/data/bdev-drbd-8.0.txt \ |
410 | 5a672c30 | Manuel Franceschini | test/data/bdev-drbd-8.3.txt \ |
411 | 5a672c30 | Manuel Franceschini | test/data/bdev-drbd-disk.txt \ |
412 | 5a672c30 | Manuel Franceschini | test/data/bdev-drbd-net-ip4.txt \ |
413 | 5a672c30 | Manuel Franceschini | test/data/bdev-drbd-net-ip6.txt \ |
414 | 27e46076 | Michael Hanselmann | test/data/cert1.pem \ |
415 | d816408a | Iustin Pop | test/data/proc_drbd8.txt \ |
416 | a6ac80db | Iustin Pop | test/data/proc_drbd80-emptyline.txt \ |
417 | 2d76b580 | Michael Hanselmann | test/data/proc_drbd83.txt \ |
418 | 549071a0 | Luca Bigliardi | test/data/sys_drbd_usermode_helper.txt \ |
419 | 2d76b580 | Michael Hanselmann | test/import-export_unittest-helper |
420 | e8230860 | Michael Hanselmann | |
421 | e8c8cf1a | Michael Hanselmann | python_tests = \ |
422 | 17496050 | Guido Trotter | test/ganeti.asyncnotifier_unittest.py \ |
423 | f942a838 | Michael Hanselmann | test/ganeti.backend_unittest.py \ |
424 | 6de7c41d | Iustin Pop | test/ganeti.bdev_unittest.py \ |
425 | 6de7c41d | Iustin Pop | test/ganeti.cli_unittest.py \ |
426 | 1118ec44 | Guido Trotter | test/ganeti.daemon_unittest.py \ |
427 | 6de7c41d | Iustin Pop | test/ganeti.cmdlib_unittest.py \ |
428 | cea881e5 | Michael Hanselmann | test/ganeti.compat_unittest.py \ |
429 | edf7d66e | Iustin Pop | test/ganeti.confd.client_unittest.py \ |
430 | e8230860 | Michael Hanselmann | test/ganeti.config_unittest.py \ |
431 | 6de7c41d | Iustin Pop | test/ganeti.constants_unittest.py \ |
432 | 3bd19c66 | Michael Hanselmann | test/ganeti.errors_unittest.py \ |
433 | e8230860 | Michael Hanselmann | test/ganeti.hooks_unittest.py \ |
434 | 6de7c41d | Iustin Pop | test/ganeti.http_unittest.py \ |
435 | 748e4b5a | Michael Hanselmann | test/ganeti.hypervisor.hv_kvm_unittest.py \ |
436 | bb44b1ae | Michael Hanselmann | test/ganeti.impexpd_unittest.py \ |
437 | 989a8bee | Michael Hanselmann | test/ganeti.jqueue_unittest.py \ |
438 | e8230860 | Michael Hanselmann | test/ganeti.locking_unittest.py \ |
439 | 231db3a5 | Michael Hanselmann | test/ganeti.luxi_unittest.py \ |
440 | 033a1d00 | Michael Hanselmann | test/ganeti.masterd.instance_unittest.py \ |
441 | 407339d0 | Michael Hanselmann | test/ganeti.mcpu_unittest.py \ |
442 | a744b676 | Manuel Franceschini | test/ganeti.netutils_unittest.py \ |
443 | 4c14965f | Guido Trotter | test/ganeti.objects_unittest.py \ |
444 | c32b908e | Michael Hanselmann | test/ganeti.opcodes_unittest.py \ |
445 | 95ab4de9 | David Knowles | test/ganeti.rapi.client_unittest.py \ |
446 | 4cbd4462 | Oleksiy Mishchenko | test/ganeti.rapi.resources_unittest.py \ |
447 | 6395cebb | Michael Hanselmann | test/ganeti.rapi.rlib2_unittest.py \ |
448 | 33231500 | Michael Hanselmann | test/ganeti.rpc_unittest.py \ |
449 | f12e1736 | René Nussbaumer | test/ganeti.runtime_unittest.py \ |
450 | 6de7c41d | Iustin Pop | test/ganeti.serializer_unittest.py \ |
451 | 6de7c41d | Iustin Pop | test/ganeti.ssh_unittest.py \ |
452 | 93be53da | Balazs Lecz | test/ganeti.uidpool_unittest.py \ |
453 | 6de7c41d | Iustin Pop | test/ganeti.utils_unittest.py \ |
454 | 4b6fa0bf | Luca Bigliardi | test/ganeti.utils_mlockall_unittest.py \ |
455 | 3f991867 | Michael Hanselmann | test/ganeti.workerpool_unittest.py \ |
456 | aefbe369 | Michael Hanselmann | test/cfgupgrade_unittest.py \ |
457 | 055f822b | Michael Hanselmann | test/docs_unittest.py \ |
458 | 055f822b | Michael Hanselmann | test/tempfile_fork_unittest.py |
459 | e8230860 | Michael Hanselmann | |
460 | e8c8cf1a | Michael Hanselmann | dist_TESTS = \ |
461 | 7172f605 | Michael Hanselmann | test/check-cert-expired_unittest.bash \ |
462 | 571b34f8 | Michael Hanselmann | test/daemon-util_unittest.bash \ |
463 | 7172f605 | Michael Hanselmann | test/ganeti-cleaner_unittest.bash \ |
464 | 2d76b580 | Michael Hanselmann | test/import-export_unittest.bash \ |
465 | e8c8cf1a | Michael Hanselmann | $(python_tests) |
466 | e8c8cf1a | Michael Hanselmann | |
467 | e8230860 | Michael Hanselmann | nodist_TESTS = |
468 | e8230860 | Michael Hanselmann | |
469 | e8230860 | Michael Hanselmann | TESTS = $(dist_TESTS) $(nodist_TESTS) |
470 | e8230860 | Michael Hanselmann | |
471 | 27e336af | Michael Hanselmann | # Environment for all tests |
472 | 27e336af | Michael Hanselmann | PLAIN_TESTS_ENVIRONMENT = \ |
473 | 27e336af | Michael Hanselmann | PYTHONPATH=. TOP_SRCDIR=$(abs_top_srcdir) PYTHON=$(PYTHON) $(RUN_IN_TEMPDIR) |
474 | 27e336af | Michael Hanselmann | |
475 | 27e336af | Michael Hanselmann | # Environment for tests run by automake |
476 | f848ac00 | Michael Hanselmann | TESTS_ENVIRONMENT = \ |
477 | e8c8cf1a | Michael Hanselmann | $(PLAIN_TESTS_ENVIRONMENT) $(abs_top_srcdir)/autotools/testrunner |
478 | 6e06b36c | Iustin Pop | |
479 | eed5c5df | Michael Hanselmann | all_python_code = \ |
480 | 01a3a718 | Michael Hanselmann | $(dist_sbin_SCRIPTS) \ |
481 | 01a3a718 | Michael Hanselmann | $(dist_tools_SCRIPTS) \ |
482 | 2d76b580 | Michael Hanselmann | $(pkglib_python_scripts) \ |
483 | e8c8cf1a | Michael Hanselmann | $(python_tests) \ |
484 | 01a3a718 | Michael Hanselmann | $(pkgpython_PYTHON) \ |
485 | 2d48a3a2 | Michael Hanselmann | $(client_PYTHON) \ |
486 | 01a3a718 | Michael Hanselmann | $(hypervisor_PYTHON) \ |
487 | 01a3a718 | Michael Hanselmann | $(rapi_PYTHON) \ |
488 | 899c4d2c | Michael Hanselmann | $(server_PYTHON) \ |
489 | 01a3a718 | Michael Hanselmann | $(http_PYTHON) \ |
490 | 01a3a718 | Michael Hanselmann | $(confd_PYTHON) \ |
491 | dc101ecc | Michael Hanselmann | $(masterd_PYTHON) \ |
492 | bb44b1ae | Michael Hanselmann | $(impexpd_PYTHON) \ |
493 | 9f4bb951 | Michael Hanselmann | $(watcher_PYTHON) \ |
494 | 01a3a718 | Michael Hanselmann | $(noinst_PYTHON) |
495 | 01a3a718 | Michael Hanselmann | |
496 | eed5c5df | Michael Hanselmann | srclink_files = \ |
497 | eed5c5df | Michael Hanselmann | man/footer.sgml \ |
498 | 7172f605 | Michael Hanselmann | test/check-cert-expired_unittest.bash \ |
499 | 571b34f8 | Michael Hanselmann | test/daemon-util_unittest.bash \ |
500 | 7172f605 | Michael Hanselmann | test/ganeti-cleaner_unittest.bash \ |
501 | 2d76b580 | Michael Hanselmann | test/import-export_unittest.bash \ |
502 | eed5c5df | Michael Hanselmann | $(all_python_code) |
503 | eed5c5df | Michael Hanselmann | |
504 | eed5c5df | Michael Hanselmann | check_python_code = \ |
505 | e4e7c7df | Michael Hanselmann | $(BUILD_BASH_COMPLETION) \ |
506 | eed5c5df | Michael Hanselmann | $(all_python_code) |
507 | eed5c5df | Michael Hanselmann | |
508 | e4e7c7df | Michael Hanselmann | lint_python_code = \ |
509 | f60d352e | Michael Hanselmann | ganeti \ |
510 | f1763373 | Iustin Pop | ganeti/http/server.py \ |
511 | f60d352e | Michael Hanselmann | $(dist_sbin_SCRIPTS) \ |
512 | f60d352e | Michael Hanselmann | $(dist_tools_SCRIPTS) \ |
513 | 2d76b580 | Michael Hanselmann | $(pkglib_python_scripts) \ |
514 | 2cc8bdd0 | Michael Hanselmann | $(BUILD_BASH_COMPLETION) \ |
515 | 2cc8bdd0 | Michael Hanselmann | $(PYTHON_BOOTSTRAP) |
516 | eed5c5df | Michael Hanselmann | |
517 | 571b34f8 | Michael Hanselmann | test/daemon-util_unittest.bash: daemons/daemon-util |
518 | 571b34f8 | Michael Hanselmann | |
519 | 7172f605 | Michael Hanselmann | test/ganeti-cleaner_unittest.bash: daemons/ganeti-cleaner |
520 | 7172f605 | Michael Hanselmann | |
521 | dbefcc7e | Michael Hanselmann | devel/upload: devel/upload.in $(REPLACE_VARS_SED) |
522 | e8230860 | Michael Hanselmann | sed -f $(REPLACE_VARS_SED) < $< > $@ |
523 | e8230860 | Michael Hanselmann | chmod u+x $@ |
524 | e8230860 | Michael Hanselmann | |
525 | c964d962 | Michael Hanselmann | daemons/%: daemons/%.in $(REPLACE_VARS_SED) |
526 | e8230860 | Michael Hanselmann | sed -f $(REPLACE_VARS_SED) < $< > $@ |
527 | 5c566e17 | Michael Hanselmann | chmod +x $@ |
528 | e8230860 | Michael Hanselmann | |
529 | c964d962 | Michael Hanselmann | doc/examples/%: doc/examples/%.in $(REPLACE_VARS_SED) |
530 | e8230860 | Michael Hanselmann | sed -f $(REPLACE_VARS_SED) < $< > $@ |
531 | e8230860 | Michael Hanselmann | |
532 | c964d962 | Michael Hanselmann | doc/examples/hooks/%: doc/examples/hooks/%.in $(REPLACE_VARS_SED) |
533 | a2442bf9 | Luca Bigliardi | sed -f $(REPLACE_VARS_SED) < $< > $@ |
534 | a2442bf9 | Luca Bigliardi | |
535 | b959138f | Michael Hanselmann | doc/examples/bash_completion: $(BUILD_BASH_COMPLETION) $(RUN_IN_TEMPDIR) \ |
536 | 88a6ca6f | Michael Hanselmann | lib/cli.py $(gnt_scripts) $(client_PYTHON) tools/burnin |
537 | b959138f | Michael Hanselmann | PYTHONPATH=. $(RUN_IN_TEMPDIR) $(CURDIR)/$(BUILD_BASH_COMPLETION) > $@ |
538 | 4f3d5b76 | Michael Hanselmann | |
539 | f86e82ef | Iustin Pop | doc/%.png: doc/%.dot |
540 | 2ab2b9f5 | Iustin Pop | @test -n "$(DOT)" || { echo 'dot' not found during configure; exit 1; } |
541 | f86e82ef | Iustin Pop | $(DOT) -Tpng -o $@ $< |
542 | f86e82ef | Iustin Pop | |
543 | 2ab2b9f5 | Iustin Pop | man/%.7.in man/%.8.in: man/%.sgml man/footer.sgml $(DOCBOOK_WRAPPER) |
544 | 25c92bc5 | Michael Hanselmann | @test -n "$(DOCBOOK2MAN)" || \ |
545 | 25c92bc5 | Michael Hanselmann | { echo 'docbook2man' not found during configure; exit 1; } |
546 | 434c34a5 | Michael Hanselmann | $(DOCBOOK_WRAPPER) "$(DOCBOOK2MAN)" $< $(notdir $(@:.in=)) $@ |
547 | 5f55173b | Iustin Pop | if test -n "$(MAN_HAS_WARNINGS)"; then $(CHECK_MAN) $@; fi |
548 | 2ab2b9f5 | Iustin Pop | |
549 | 2ab2b9f5 | Iustin Pop | man/%.html.in: man/%.sgml man/footer.sgml $(DOCBOOK_WRAPPER) |
550 | 25c92bc5 | Michael Hanselmann | @test -n "$(DOCBOOK2HTML)" || \ |
551 | 25c92bc5 | Michael Hanselmann | { echo 'docbook2html' not found during configure; exit 1; } |
552 | 434c34a5 | Michael Hanselmann | $(DOCBOOK_WRAPPER) "$(DOCBOOK2HTML) --nochunks" $< $(notdir $(@:.in=)) $@ |
553 | 2ab2b9f5 | Iustin Pop | |
554 | dbefcc7e | Michael Hanselmann | man/%.7: man/%.7.in $(REPLACE_VARS_SED) |
555 | 2ab2b9f5 | Iustin Pop | sed -f $(REPLACE_VARS_SED) < $< > $@ |
556 | e8230860 | Michael Hanselmann | |
557 | dbefcc7e | Michael Hanselmann | man/%.8: man/%.8.in $(REPLACE_VARS_SED) |
558 | 2ab2b9f5 | Iustin Pop | sed -f $(REPLACE_VARS_SED) < $< > $@ |
559 | e8230860 | Michael Hanselmann | |
560 | dbefcc7e | Michael Hanselmann | man/%.html: man/%.html.in $(REPLACE_VARS_SED) |
561 | 2ab2b9f5 | Iustin Pop | sed -f $(REPLACE_VARS_SED) < $< > $@ |
562 | f29266b4 | Iustin Pop | |
563 | 84a12e40 | Iustin Pop | vcs-version: |
564 | 84a12e40 | Iustin Pop | if test -d .git; then \ |
565 | 84a12e40 | Iustin Pop | git describe > $@; \ |
566 | 84a12e40 | Iustin Pop | elif test ! -f $@ ; then \ |
567 | 84a12e40 | Iustin Pop | echo "Cannot auto-generate $@ file"; exit 1; \ |
568 | 84a12e40 | Iustin Pop | fi |
569 | 84a12e40 | Iustin Pop | |
570 | 84a12e40 | Iustin Pop | .PHONY: regen-vcs-version |
571 | 84a12e40 | Iustin Pop | regen-vcs-version: |
572 | e8230860 | Michael Hanselmann | set -e; \ |
573 | 84a12e40 | Iustin Pop | cd $(srcdir); \ |
574 | 84a12e40 | Iustin Pop | if test -d .git; then \ |
575 | 84a12e40 | Iustin Pop | rm -f vcs-version; \ |
576 | 84a12e40 | Iustin Pop | $(MAKE) vcs-version; \ |
577 | 84a12e40 | Iustin Pop | fi |
578 | 84a12e40 | Iustin Pop | |
579 | c964d962 | Michael Hanselmann | lib/_autoconf.py: Makefile vcs-version | lib/.dir |
580 | 84a12e40 | Iustin Pop | set -e; \ |
581 | 84a12e40 | Iustin Pop | VCSVER=`cat $(abs_top_srcdir)/vcs-version`; \ |
582 | e8230860 | Michael Hanselmann | { echo '# This file is automatically generated, do not edit!'; \ |
583 | e8230860 | Michael Hanselmann | echo '#'; \ |
584 | 67047322 | Iustin Pop | echo ''; \ |
585 | 67047322 | Iustin Pop | echo '"""Build-time configuration for Ganeti.'; \ |
586 | 67047322 | Iustin Pop | echo '';\ |
587 | 67047322 | Iustin Pop | echo 'This file is autogenerated by the build process.'; \ |
588 | 67047322 | Iustin Pop | echo 'For any changes you need to re-run ./configure (and'; \ |
589 | 67047322 | Iustin Pop | echo 'not edit by hand).'; \ |
590 | 67047322 | Iustin Pop | echo ''; \ |
591 | 67047322 | Iustin Pop | echo '"""'; \ |
592 | 67047322 | Iustin Pop | echo ''; \ |
593 | 0a4e7f24 | Iustin Pop | echo '# pylint: disable-msg=C0301,C0324'; \ |
594 | 0a4e7f24 | Iustin Pop | echo '# because this is autogenerated, we do not want'; \ |
595 | 0a4e7f24 | Iustin Pop | echo '# style warnings' ; \ |
596 | 0a4e7f24 | Iustin Pop | echo ''; \ |
597 | e8230860 | Michael Hanselmann | echo "PACKAGE_VERSION = '$(PACKAGE_VERSION)'"; \ |
598 | e8230860 | Michael Hanselmann | echo "VERSION_MAJOR = '$(VERSION_MAJOR)'"; \ |
599 | e8230860 | Michael Hanselmann | echo "VERSION_MINOR = '$(VERSION_MINOR)'"; \ |
600 | e8230860 | Michael Hanselmann | echo "VERSION_REVISION = '$(VERSION_REVISION)'"; \ |
601 | e8230860 | Michael Hanselmann | echo "VERSION_SUFFIX = '$(VERSION_SUFFIX)'"; \ |
602 | e8230860 | Michael Hanselmann | echo "VERSION_FULL = '$(VERSION_FULL)'"; \ |
603 | e8230860 | Michael Hanselmann | echo "LOCALSTATEDIR = '$(localstatedir)'"; \ |
604 | e8230860 | Michael Hanselmann | echo "SYSCONFDIR = '$(sysconfdir)'"; \ |
605 | 553bd93f | Vitaly Kuznetsov | echo "SSH_CONFIG_DIR = '$(SSH_CONFIG_DIR)'"; \ |
606 | e8230860 | Michael Hanselmann | echo "EXPORT_DIR = '$(EXPORT_DIR)'"; \ |
607 | e8230860 | Michael Hanselmann | echo "OS_SEARCH_PATH = [$(OS_SEARCH_PATH)]"; \ |
608 | 2f2dbb4b | Jun Futagawa | echo "XEN_BOOTLOADER = '$(XEN_BOOTLOADER)'"; \ |
609 | e8230860 | Michael Hanselmann | echo "XEN_KERNEL = '$(XEN_KERNEL)'"; \ |
610 | e8230860 | Michael Hanselmann | echo "XEN_INITRD = '$(XEN_INITRD)'"; \ |
611 | e8230860 | Michael Hanselmann | echo "FILE_STORAGE_DIR = '$(FILE_STORAGE_DIR)'"; \ |
612 | cb7c0198 | Iustin Pop | echo "ENABLE_FILE_STORAGE = $(ENABLE_FILE_STORAGE)"; \ |
613 | e8230860 | Michael Hanselmann | echo "IALLOCATOR_SEARCH_PATH = [$(IALLOCATOR_SEARCH_PATH)]"; \ |
614 | 7e2c5b9e | Guido Trotter | echo "KVM_PATH = '$(KVM_PATH)'"; \ |
615 | fe5b0c42 | Michael Hanselmann | echo "SOCAT_PATH = '$(SOCAT)'"; \ |
616 | fe5b0c42 | Michael Hanselmann | echo "SOCAT_USE_ESCAPE = $(SOCAT_USE_ESCAPE)"; \ |
617 | e90739d6 | Michael Hanselmann | echo "SOCAT_USE_COMPRESS = $(SOCAT_USE_COMPRESS)"; \ |
618 | bea60381 | Michael Hanselmann | echo "LVM_STRIPECOUNT = $(LVM_STRIPECOUNT)"; \ |
619 | bea60381 | Michael Hanselmann | echo "TOOLSDIR = '$(toolsdir)'"; \ |
620 | 4f3d5b76 | Michael Hanselmann | echo "GNT_SCRIPTS = [$(foreach i,$(notdir $(gnt_scripts)),'$(i)',)]"; \ |
621 | f154a7a3 | Michael Hanselmann | echo "PKGLIBDIR = '$(pkglibdir)'"; \ |
622 | 89b70f39 | Iustin Pop | echo "DRBD_BARRIERS = $(DRBD_BARRIERS)"; \ |
623 | 551b6283 | Iustin Pop | echo "SYSLOG_USAGE = '$(SYSLOG_USAGE)'"; \ |
624 | 8b72b05c | René Nussbaumer | echo "DAEMONS_GROUP = '$(DAEMONS_GROUP)'"; \ |
625 | f12e1736 | René Nussbaumer | echo "ADMIN_GROUP = '$(ADMIN_GROUP)'"; \ |
626 | 8b72b05c | René Nussbaumer | echo "MASTERD_USER = '$(MASTERD_USER)'"; \ |
627 | f12e1736 | René Nussbaumer | echo "MASTERD_GROUP = '$(MASTERD_GROUP)'"; \ |
628 | 8b72b05c | René Nussbaumer | echo "RAPI_USER = '$(RAPI_USER)'"; \ |
629 | f12e1736 | René Nussbaumer | echo "RAPI_GROUP = '$(RAPI_GROUP)'"; \ |
630 | f12e1736 | René Nussbaumer | echo "CONFD_USER = '$(CONFD_USER)'"; \ |
631 | f12e1736 | René Nussbaumer | echo "CONFD_GROUP = '$(CONFD_GROUP)'"; \ |
632 | f12e1736 | René Nussbaumer | echo "NODED_USER = '$(NODED_USER)'"; \ |
633 | 84a12e40 | Iustin Pop | echo "VCS_VERSION = '$$VCSVER'"; \ |
634 | e8230860 | Michael Hanselmann | } > $@ |
635 | e8230860 | Michael Hanselmann | |
636 | dbefcc7e | Michael Hanselmann | $(REPLACE_VARS_SED): Makefile |
637 | e8230860 | Michael Hanselmann | set -e; \ |
638 | e8230860 | Michael Hanselmann | { echo 's#@PREFIX@#$(prefix)#g'; \ |
639 | e8230860 | Michael Hanselmann | echo 's#@SYSCONFDIR@#$(sysconfdir)#g'; \ |
640 | e8230860 | Michael Hanselmann | echo 's#@LOCALSTATEDIR@#$(localstatedir)#g'; \ |
641 | 7a2ba406 | Luca Bigliardi | echo 's#@BINDIR@#$(bindir)#g'; \ |
642 | e8230860 | Michael Hanselmann | echo 's#@SBINDIR@#$(sbindir)#g'; \ |
643 | e8230860 | Michael Hanselmann | echo 's#@GANETI_VERSION@#$(PACKAGE_VERSION)#g'; \ |
644 | 2f2dbb4b | Jun Futagawa | echo 's#@CUSTOM_XEN_BOOTLOADER@#$(XEN_BOOTLOADER)#g'; \ |
645 | e8230860 | Michael Hanselmann | echo 's#@CUSTOM_XEN_KERNEL@#$(XEN_KERNEL)#g'; \ |
646 | e8230860 | Michael Hanselmann | echo 's#@CUSTOM_XEN_INITRD@#$(XEN_INITRD)#g'; \ |
647 | d3b4cf9f | Iustin Pop | echo 's#@RPL_FILE_STORAGE_DIR@#$(FILE_STORAGE_DIR)#g'; \ |
648 | 7e1fac25 | Michael Hanselmann | echo 's#@RPL_SSH_INITD_SCRIPT@#$(SSH_INITD_SCRIPT)#g'; \ |
649 | c5159571 | Iustin Pop | echo 's#@PKGLIBDIR@#$(pkglibdir)#g'; \ |
650 | 0d150c50 | René Nussbaumer | echo 's#@GNTMASTERUSER@#$(MASTERD_USER)#g'; \ |
651 | 0d150c50 | René Nussbaumer | echo 's#@GNTRAPIUSER@#$(RAPI_USER)#g'; \ |
652 | 0d150c50 | René Nussbaumer | echo 's#@GNTCONFDUSER@#$(CONFD_USER)#g'; \ |
653 | 0d150c50 | René Nussbaumer | echo 's#@GNTNODEDUSER@#$(NODED_USER)#g'; \ |
654 | 0d150c50 | René Nussbaumer | echo 's#@GNTRAPIGROUP@#$(RAPI_GROUP)#g'; \ |
655 | 0d150c50 | René Nussbaumer | echo 's#@GNTADMINGROUP@#$(ADMIN_GROUP)#g'; \ |
656 | 0d150c50 | René Nussbaumer | echo 's#@GNTCONFDGROUP@#$(CONFD_GROUP)#g'; \ |
657 | 0d150c50 | René Nussbaumer | echo 's#@GNTMASTERDGROUP@#$(MASTERD_GROUP)#g'; \ |
658 | 46a8da3b | René Nussbaumer | echo 's#@GNTDAEMONSGROUP@#$(DAEMONS_GROUP)#g'; \ |
659 | e8230860 | Michael Hanselmann | } > $@ |
660 | e8230860 | Michael Hanselmann | |
661 | 67313146 | Michael Hanselmann | # Using deferred evaluation |
662 | 899c4d2c | Michael Hanselmann | daemons/ganeti-%: MODULE = ganeti.server.$(patsubst ganeti-%,%,$(notdir $@)) |
663 | 9f4bb951 | Michael Hanselmann | daemons/ganeti-watcher: MODULE = ganeti.watcher |
664 | 67313146 | Michael Hanselmann | scripts/%: MODULE = ganeti.client.$(subst -,_,$(notdir $@)) |
665 | 67313146 | Michael Hanselmann | |
666 | c964d962 | Michael Hanselmann | $(PYTHON_BOOTSTRAP): Makefile | $(all_dirfiles) |
667 | 67313146 | Michael Hanselmann | test -n "$(MODULE)" || { echo Missing module; exit 1; } |
668 | 2d48a3a2 | Michael Hanselmann | set -e; \ |
669 | d75e738e | Michael Hanselmann | { echo '#!/usr/bin/python'; \ |
670 | 2d48a3a2 | Michael Hanselmann | echo '# This file is automatically generated, do not edit!'; \ |
671 | 67313146 | Michael Hanselmann | echo "# Edit $(MODULE) instead."; \ |
672 | 2d48a3a2 | Michael Hanselmann | echo; \ |
673 | 67313146 | Michael Hanselmann | echo '"""Bootstrap script for L{$(MODULE)}"""'; \ |
674 | 2d48a3a2 | Michael Hanselmann | echo; \ |
675 | 2d48a3a2 | Michael Hanselmann | echo '# pylint: disable-msg=C0103'; \ |
676 | 2d48a3a2 | Michael Hanselmann | echo '# C0103: Invalid name'; \ |
677 | 2d48a3a2 | Michael Hanselmann | echo; \ |
678 | 2d48a3a2 | Michael Hanselmann | echo 'import sys'; \ |
679 | 67313146 | Michael Hanselmann | echo 'import $(MODULE) as main'; \ |
680 | 2d48a3a2 | Michael Hanselmann | echo; \ |
681 | 2d48a3a2 | Michael Hanselmann | echo '# Temporarily alias commands until bash completion'; \ |
682 | 2d48a3a2 | Michael Hanselmann | echo '# generator is changed'; \ |
683 | 67313146 | Michael Hanselmann | echo 'if hasattr(main, "commands"):'; \ |
684 | 2cc8bdd0 | Michael Hanselmann | echo ' commands = main.commands # pylint: disable-msg=E1101'; \ |
685 | 2d48a3a2 | Michael Hanselmann | echo; \ |
686 | 2d48a3a2 | Michael Hanselmann | echo 'if __name__ == "__main__":'; \ |
687 | 67313146 | Michael Hanselmann | echo ' sys.exit(main.Main())'; \ |
688 | 2d48a3a2 | Michael Hanselmann | } > $@ |
689 | 2d48a3a2 | Michael Hanselmann | chmod u+x $@ |
690 | 2d48a3a2 | Michael Hanselmann | |
691 | e8230860 | Michael Hanselmann | # We need to create symlinks because "make distcheck" will not install Python |
692 | e8230860 | Michael Hanselmann | # files when building. |
693 | c964d962 | Michael Hanselmann | stamp-srclinks: Makefile | $(all_dirfiles) |
694 | e8230860 | Michael Hanselmann | set -e; \ |
695 | 01a3a718 | Michael Hanselmann | for i in $(srclink_files); do \ |
696 | e8230860 | Michael Hanselmann | if test ! -f $$i -a -f $(abs_top_srcdir)/$$i; then \ |
697 | e8230860 | Michael Hanselmann | $(LN_S) $(abs_top_srcdir)/$$i $$i; \ |
698 | e8230860 | Michael Hanselmann | fi; \ |
699 | e8230860 | Michael Hanselmann | done |
700 | dd1dfd9a | Michael Hanselmann | touch $@ |
701 | 97a37b3f | Michael Hanselmann | |
702 | 9ff7e35c | Michael Hanselmann | .PHONY: ganeti |
703 | 9ff7e35c | Michael Hanselmann | ganeti: |
704 | 01f3e7b1 | Iustin Pop | cd $(top_builddir) && test -h "$@" || { rm -f $@ && $(LN_S) lib $@; } |
705 | 9ff7e35c | Michael Hanselmann | |
706 | 6b997854 | Michael Hanselmann | .PHONY: check-dirs |
707 | 6b997854 | Michael Hanselmann | check-dirs: $(BUILT_SOURCES) |
708 | 0c1103d6 | Iustin Pop | @set -e; \ |
709 | 6b997854 | Michael Hanselmann | find . -type d \( \( -name . \) -o \( \ |
710 | 6b997854 | Michael Hanselmann | -name .git -o \ |
711 | 6b997854 | Michael Hanselmann | -name autom4te.cache \ |
712 | 6b997854 | Michael Hanselmann | \) -prune -o -print \) | { \ |
713 | 6b997854 | Michael Hanselmann | error=; \ |
714 | 6b997854 | Michael Hanselmann | while read dir; do \ |
715 | 6b997854 | Michael Hanselmann | case "$$dir" in \ |
716 | 6b997854 | Michael Hanselmann | $(strip $(patsubst %,(./%) ;;,$(DIRCHECK_EXCLUDE) $(DIRS))) \ |
717 | 6b997854 | Michael Hanselmann | *) error=1; echo "Directory $$dir not listed in Makefile" >&2 ;; \ |
718 | 6b997854 | Michael Hanselmann | esac; \ |
719 | 6b997854 | Michael Hanselmann | done; \ |
720 | 6b997854 | Michael Hanselmann | for dir in $(DIRS); do \ |
721 | 6b997854 | Michael Hanselmann | if ! test -d "$$dir"; then \ |
722 | 6b997854 | Michael Hanselmann | echo "Directory $$dir listed in DIRS does not exist" >&2; \ |
723 | 6b997854 | Michael Hanselmann | error=1; \ |
724 | 6b997854 | Michael Hanselmann | fi \ |
725 | 6b997854 | Michael Hanselmann | done; \ |
726 | 6b997854 | Michael Hanselmann | if test -n "$$error"; then exit 1; else exit 0; fi; \ |
727 | 6b997854 | Michael Hanselmann | } |
728 | 6b997854 | Michael Hanselmann | |
729 | 6b997854 | Michael Hanselmann | check-local: check-dirs |
730 | eed5c5df | Michael Hanselmann | $(CHECK_PYTHON_CODE) $(check_python_code) |
731 | eed5c5df | Michael Hanselmann | |
732 | e0098923 | Iustin Pop | .PHONY: lint |
733 | c964d962 | Michael Hanselmann | lint: $(BUILT_SOURCES) |
734 | 6d7cc5ff | Michael Hanselmann | @test -n "$(PYLINT)" || { echo 'pylint' not found during configure; exit 1; } |
735 | 6d7cc5ff | Michael Hanselmann | $(PYLINT) $(LINT_OPTS) $(lint_python_code) |
736 | e0098923 | Iustin Pop | |
737 | 84a12e40 | Iustin Pop | # a dist hook rule for updating the vcs-version file; this is |
738 | 84a12e40 | Iustin Pop | # hardcoded due to where it needs to build the file... |
739 | 84a12e40 | Iustin Pop | dist-hook: |
740 | 84a12e40 | Iustin Pop | $(MAKE) regen-vcs-version && \ |
741 | 84a12e40 | Iustin Pop | rm -f $(top_distdir)/vcs-version && \ |
742 | 84a12e40 | Iustin Pop | cp -p $(srcdir)/vcs-version $(top_distdir) |
743 | 84a12e40 | Iustin Pop | |
744 | 84a12e40 | Iustin Pop | # a distcheck hook rule for catching revision control directories |
745 | b6f2e47f | Iustin Pop | distcheck-hook: |
746 | c6aa0c42 | Michael Hanselmann | if find $(top_distdir) -name .svn -or -name .git | grep .; then \ |
747 | c6aa0c42 | Michael Hanselmann | echo "Found revision control files in final archive." 1>&2; \ |
748 | c6aa0c42 | Michael Hanselmann | exit 1; \ |
749 | c6aa0c42 | Michael Hanselmann | fi |
750 | c6aa0c42 | Michael Hanselmann | if find $(top_distdir) -name '*.py[co]' | grep .; then \ |
751 | c6aa0c42 | Michael Hanselmann | echo "Found Python byte code in final archive." 1>&2; \ |
752 | c6aa0c42 | Michael Hanselmann | exit 1; \ |
753 | c6aa0c42 | Michael Hanselmann | fi |
754 | c6aa0c42 | Michael Hanselmann | if find $(top_distdir) -name '*~' | grep .; then \ |
755 | c6aa0c42 | Michael Hanselmann | echo "Found backup files in final archive." 1>&2; \ |
756 | b6f2e47f | Iustin Pop | exit 1; \ |
757 | b6f2e47f | Iustin Pop | fi |
758 | bf0b21da | Michael Hanselmann | # Empty files or directories should not be distributed. They can cause |
759 | bf0b21da | Michael Hanselmann | # unnecessary warnings for packagers. Directories used by automake during |
760 | bf0b21da | Michael Hanselmann | # distcheck must be excluded. |
761 | bf0b21da | Michael Hanselmann | if find $(top_distdir) -empty -and -not \( \ |
762 | bf0b21da | Michael Hanselmann | -path $(top_distdir)/_build -or \ |
763 | bf0b21da | Michael Hanselmann | -path $(top_distdir)/_inst \) | grep .; then \ |
764 | bf0b21da | Michael Hanselmann | echo "Found empty files or directories in final archive." 1>&2; \ |
765 | bf0b21da | Michael Hanselmann | exit 1; \ |
766 | bf0b21da | Michael Hanselmann | fi |
767 | c7b86f6c | Michael Hanselmann | if test -n "$(BUILD_RELEASE)" && \ |
768 | c7b86f6c | Michael Hanselmann | grep -n -H -E '^\*.*unreleased' $(top_distdir)/NEWS; then \ |
769 | c7b86f6c | Michael Hanselmann | echo "Found unreleased version in NEWS." >&2; \ |
770 | c7b86f6c | Michael Hanselmann | exit 1; \ |
771 | c7b86f6c | Michael Hanselmann | fi |
772 | c7b86f6c | Michael Hanselmann | |
773 | c7b86f6c | Michael Hanselmann | # When building a release, stricter checks should be used |
774 | e627fe09 | Michael Hanselmann | distcheck-release dist-release: export BUILD_RELEASE = 1 |
775 | c7b86f6c | Michael Hanselmann | distcheck-release: distcheck |
776 | b6f2e47f | Iustin Pop | |
777 | e627fe09 | Michael Hanselmann | dist-release: dist |
778 | e627fe09 | Michael Hanselmann | set -e; \ |
779 | e627fe09 | Michael Hanselmann | for i in $(DIST_ARCHIVES); do \ |
780 | e627fe09 | Michael Hanselmann | echo -n "Checking $$i ... "; \ |
781 | e627fe09 | Michael Hanselmann | autotools/check-tar < $$i; \ |
782 | e627fe09 | Michael Hanselmann | echo OK; \ |
783 | e627fe09 | Michael Hanselmann | done |
784 | e627fe09 | Michael Hanselmann | |
785 | 8925faaa | Iustin Pop | install-exec-local: |
786 | 0d93b082 | Michael Hanselmann | @mkdir_p@ "$(DESTDIR)${localstatedir}/lib/ganeti" \ |
787 | 2fa9f1dd | Michael Hanselmann | "$(DESTDIR)${localstatedir}/log/ganeti" \ |
788 | 2fa9f1dd | Michael Hanselmann | "$(DESTDIR)${localstatedir}/run/ganeti" |
789 | e8230860 | Michael Hanselmann | |
790 | c964d962 | Michael Hanselmann | # To avoid conflicts between directory names and other targets, a file inside |
791 | c964d962 | Michael Hanselmann | # the directory is used to ensure its existence. |
792 | c964d962 | Michael Hanselmann | %.dir: |
793 | c964d962 | Michael Hanselmann | @mkdir_p@ $* && touch $@ |
794 | e8230860 | Michael Hanselmann | |
795 | d128fdb6 | Iustin Pop | .PHONY: apidoc |
796 | eb732fb5 | Michael Hanselmann | apidoc: epydoc.conf $(RUN_IN_TEMPDIR) $(BUILT_SOURCES) |
797 | b959138f | Michael Hanselmann | $(RUN_IN_TEMPDIR) epydoc -v \ |
798 | b959138f | Michael Hanselmann | --conf $(CURDIR)/epydoc.conf \ |
799 | b959138f | Michael Hanselmann | --output $(CURDIR)/doc/api |
800 | d128fdb6 | Iustin Pop | |
801 | 13e720f1 | Iustin Pop | .PHONY: TAGS |
802 | eb732fb5 | Michael Hanselmann | TAGS: $(BUILT_SOURCES) |
803 | 13e720f1 | Iustin Pop | rm -f TAGS |
804 | 74fa8200 | Iustin Pop | find . -path './lib/*.py' -o -path './scripts/gnt-*' -o \ |
805 | 74fa8200 | Iustin Pop | -path './daemons/ganeti-*' -o -path './tools/*' -o \ |
806 | 74fa8200 | Iustin Pop | -path './qa/*.py' | \ |
807 | 3bb5c580 | Iustin Pop | etags -l python - |
808 | 13e720f1 | Iustin Pop | |
809 | 27e336af | Michael Hanselmann | .PHONY: coverage |
810 | e8c8cf1a | Michael Hanselmann | coverage: $(BUILT_SOURCES) $(python_tests) |
811 | 27e336af | Michael Hanselmann | set -e; \ |
812 | 27e336af | Michael Hanselmann | COVERAGE_FILE=$(CURDIR)/doc/coverage/data \ |
813 | 27e336af | Michael Hanselmann | TEXT_COVERAGE=$(CURDIR)/doc/coverage/report.txt \ |
814 | 27e336af | Michael Hanselmann | HTML_COVERAGE=$(CURDIR)/doc/coverage \ |
815 | e8c8cf1a | Michael Hanselmann | $(PLAIN_TESTS_ENVIRONMENT) $(abs_top_srcdir)/autotools/gen-coverage \ |
816 | e8c8cf1a | Michael Hanselmann | $(python_tests) |
817 | 27e336af | Michael Hanselmann | |
818 | b341b9ca | Guido Trotter | commit-check: distcheck lint apidoc |
819 | b341b9ca | Guido Trotter | |
820 | 3baa809c | Michael Hanselmann | -include ./Makefile.local |
821 | 3baa809c | Michael Hanselmann | |
822 | e8230860 | Michael Hanselmann | # vim: set noet : |