root / Makefile.am @ 2f523522
History | View | Annotate | Download (75.3 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 | 7ddd8e4c | Iustin Pop | # Helper function to strip src/ and test/hs/ from a list |
18 | 7ddd8e4c | Iustin Pop | strip_hsroot = $(patsubst src/%,%,$(patsubst test/hs/%,%,$(1))) |
19 | 7ddd8e4c | Iustin Pop | |
20 | a01dd3c6 | Iustin Pop | # Use bash in order to be able to use pipefail |
21 | a01dd3c6 | Iustin Pop | SHELL=/bin/bash |
22 | a01dd3c6 | Iustin Pop | |
23 | 5f7d4181 | Jose A. Lopes | # Enable colors in shelltest |
24 | 5f7d4181 | Jose A. Lopes | SHELLTESTARGS = "-c" |
25 | 5f7d4181 | Jose A. Lopes | |
26 | 6e06b36c | Iustin Pop | ACLOCAL_AMFLAGS = -I autotools |
27 | 4f3d5b76 | Michael Hanselmann | BUILD_BASH_COMPLETION = $(top_srcdir)/autotools/build-bash-completion |
28 | b959138f | Michael Hanselmann | RUN_IN_TEMPDIR = $(top_srcdir)/autotools/run-in-tempdir |
29 | eed5c5df | Michael Hanselmann | CHECK_PYTHON_CODE = $(top_srcdir)/autotools/check-python-code |
30 | 5d3c30df | Michael Hanselmann | CHECK_HEADER = $(top_srcdir)/autotools/check-header |
31 | c55cc346 | Iustin Pop | CHECK_MAN_DASHES = $(top_srcdir)/autotools/check-man-dashes |
32 | 58997abb | Michael Hanselmann | CHECK_MAN_REFERENCES = $(top_srcdir)/autotools/check-man-references |
33 | 73d0e218 | Iustin Pop | CHECK_MAN_WARNINGS = $(top_srcdir)/autotools/check-man-warnings |
34 | 96602be4 | Michael Hanselmann | CHECK_VERSION = $(top_srcdir)/autotools/check-version |
35 | 7385c51d | Michael Hanselmann | CHECK_NEWS = $(top_srcdir)/autotools/check-news |
36 | f6cbcc06 | Michael Hanselmann | CHECK_IMPORTS = $(top_srcdir)/autotools/check-imports |
37 | 95eb4188 | Michael Hanselmann | DOCPP = $(top_srcdir)/autotools/docpp |
38 | e8230860 | Michael Hanselmann | REPLACE_VARS_SED = autotools/replace_vars.sed |
39 | d99d1e36 | Iustin Pop | CONVERT_CONSTANTS = $(top_srcdir)/autotools/convert-constants |
40 | d5a2a550 | Michael Hanselmann | BUILD_RPC = $(top_srcdir)/autotools/build-rpc |
41 | 6e3bf290 | Michael Hanselmann | SHELL_ENV_INIT = autotools/shell-env-init |
42 | e8230860 | Michael Hanselmann | |
43 | 780060cb | Klaus Aehlig | # starting as of Ganeti 2.10, all files are stored in two directories, |
44 | 667e9959 | Klaus Aehlig | # with only symbolic links added at other places. |
45 | 780060cb | Klaus Aehlig | # |
46 | 780060cb | Klaus Aehlig | # $(versiondir) contains most of Ganeti and all architecture-dependent files |
47 | 780060cb | Klaus Aehlig | # $(versionedsharedir) contains only architecture-independent files; all python |
48 | 780060cb | Klaus Aehlig | # executables need to go directly to $(versionedsharedir), as all ganeti python |
49 | 780060cb | Klaus Aehlig | # mdules are installed outside the usual python path, i.e., as private modules. |
50 | 780060cb | Klaus Aehlig | # |
51 | 780060cb | Klaus Aehlig | # $(defaultversiondir) and $(defaultversionedsharedir) are the corresponding |
52 | 780060cb | Klaus Aehlig | # directories for "the currently running" version of Ganeti. We never install |
53 | 780060cb | Klaus Aehlig | # there, but all symbolic links go there, rather than directory to $(versiondir) |
54 | 780060cb | Klaus Aehlig | # or $(versionedsharedir). Note that all links to $(default*dir) need to be stable; |
55 | 780060cb | Klaus Aehlig | # so, if some currently architecture-independent executable is replaced by an |
56 | 780060cb | Klaus Aehlig | # architecture-dependent one (and hence has to go under $(versiondir)), add a link |
57 | 780060cb | Klaus Aehlig | # under $(versionedsharedir) but do not change the external links. |
58 | 838d26ef | Klaus Aehlig | if USE_VERSION_FULL |
59 | 838d26ef | Klaus Aehlig | DIRVERSION=VERSION_FULL |
60 | 838d26ef | Klaus Aehlig | else |
61 | 838d26ef | Klaus Aehlig | DIRVERSION=$(VERSION_MAJOR).$(VERSION_MINOR) |
62 | 838d26ef | Klaus Aehlig | endif |
63 | 838d26ef | Klaus Aehlig | versiondir = $(libdir)/ganeti/$(DIRVERSION) |
64 | eb875ff1 | Klaus Aehlig | defaultversiondir = $(libdir)/ganeti/default |
65 | 838d26ef | Klaus Aehlig | versionedsharedir = $(prefix)/share/ganeti/$(DIRVERSION) |
66 | eb875ff1 | Klaus Aehlig | defaultversionedsharedir = $(prefix)/share/ganeti/default |
67 | eb875ff1 | Klaus Aehlig | |
68 | 667e9959 | Klaus Aehlig | |
69 | 22c5390d | Iustin Pop | # Note: these are automake-specific variables, and must be named after |
70 | 22c5390d | Iustin Pop | # the directory + 'dir' suffix |
71 | 667e9959 | Klaus Aehlig | pkglibdir = $(versiondir)$(libdir)/ganeti |
72 | 667e9959 | Klaus Aehlig | myexeclibdir = $(pkglibdir) |
73 | 667e9959 | Klaus Aehlig | bindir = $(versiondir)$(exec_prefix)/bin |
74 | 667e9959 | Klaus Aehlig | sbindir = $(versiondir)$(exec_prefix)/sbin |
75 | 780060cb | Klaus Aehlig | mandir = $(versionedsharedir)$(datarootdir)/man |
76 | 780060cb | Klaus Aehlig | pkgpythondir = $(versionedsharedir)/ganeti |
77 | 780060cb | Klaus Aehlig | gntpythondir = $(versionedsharedir) |
78 | 780060cb | Klaus Aehlig | pkgpython_bindir = $(versionedsharedir) |
79 | 780060cb | Klaus Aehlig | gnt_python_sbindir = $(versionedsharedir) |
80 | 780060cb | Klaus Aehlig | tools_pythondir = $(versionedsharedir) |
81 | 667e9959 | Klaus Aehlig | |
82 | 2d48a3a2 | Michael Hanselmann | clientdir = $(pkgpythondir)/client |
83 | 1da489e2 | Guido Trotter | cmdlibdir = $(pkgpythondir)/cmdlib |
84 | e8230860 | Michael Hanselmann | hypervisordir = $(pkgpythondir)/hypervisor |
85 | cde49218 | Helga Velroyen | storagedir = $(pkgpythondir)/storage |
86 | ff9efc03 | Michael Hanselmann | httpdir = $(pkgpythondir)/http |
87 | dc101ecc | Michael Hanselmann | masterddir = $(pkgpythondir)/masterd |
88 | 12426ae1 | Guido Trotter | confddir = $(pkgpythondir)/confd |
89 | 8c229cc7 | Oleksiy Mishchenko | rapidir = $(pkgpythondir)/rapi |
90 | 899c4d2c | Michael Hanselmann | serverdir = $(pkgpythondir)/server |
91 | 9f4bb951 | Michael Hanselmann | watcherdir = $(pkgpythondir)/watcher |
92 | bb44b1ae | Michael Hanselmann | impexpddir = $(pkgpythondir)/impexpd |
93 | c047a981 | Michael Hanselmann | utilsdir = $(pkgpythondir)/utils |
94 | e8230860 | Michael Hanselmann | toolsdir = $(pkglibdir)/tools |
95 | 7617fd6b | Iustin Pop | iallocatorsdir = $(pkglibdir)/iallocators |
96 | 0d2bf835 | René Nussbaumer | pytoolsdir = $(pkgpythondir)/tools |
97 | 667e9959 | Klaus Aehlig | docdir = $(versiondir)$(datadir)/doc/$(PACKAGE) |
98 | 667e9959 | Klaus Aehlig | |
99 | 9cf292af | Klaus Aehlig | SYMLINK_TARGET_DIRS = \ |
100 | eb875ff1 | Klaus Aehlig | $(sysconfdir)/ganeti \ |
101 | 9cf292af | Klaus Aehlig | $(libdir)/ganeti/iallocators \ |
102 | eb875ff1 | Klaus Aehlig | $(libdir)/ganeti/tools \ |
103 | eb875ff1 | Klaus Aehlig | $(prefix)/share/ganeti \ |
104 | 9cf292af | Klaus Aehlig | $(exec_prefix)/bin \ |
105 | 9cf292af | Klaus Aehlig | $(exec_prefix)/sbin \ |
106 | 9cf292af | Klaus Aehlig | $(datarootdir)/man/man1 \ |
107 | 9cf292af | Klaus Aehlig | $(datarootdir)/man/man7 \ |
108 | 9cf292af | Klaus Aehlig | $(datarootdir)/man/man8 |
109 | e8230860 | Michael Hanselmann | |
110 | a4f12da4 | Michael Hanselmann | # Delete output file if an error occurred while building it |
111 | a4f12da4 | Michael Hanselmann | .DELETE_ON_ERROR: |
112 | a4f12da4 | Michael Hanselmann | |
113 | d9a900dc | Iustin Pop | HS_DIRS = \ |
114 | 3add7574 | Iustin Pop | src \ |
115 | 3add7574 | Iustin Pop | src/Ganeti \ |
116 | 3add7574 | Iustin Pop | src/Ganeti/Confd \ |
117 | cc40185c | Iustin Pop | src/Ganeti/Curl \ |
118 | f6d4b52d | Spyros Trigazis | src/Ganeti/Cpu \ |
119 | 3add7574 | Iustin Pop | src/Ganeti/DataCollectors \ |
120 | f3e38e89 | Jose A. Lopes | src/Ganeti/Hs2Py \ |
121 | 3add7574 | Iustin Pop | src/Ganeti/HTools \ |
122 | 3add7574 | Iustin Pop | src/Ganeti/HTools/Backend \ |
123 | 3add7574 | Iustin Pop | src/Ganeti/HTools/Program \ |
124 | b8585908 | Michele Tartara | src/Ganeti/Hypervisor \ |
125 | b8585908 | Michele Tartara | src/Ganeti/Hypervisor/Xen \ |
126 | 13cc7b84 | Michele Tartara | src/Ganeti/Monitoring \ |
127 | 3add7574 | Iustin Pop | src/Ganeti/Query \ |
128 | c5f6cba2 | Helga Velroyen | src/Ganeti/Storage \ |
129 | c5f6cba2 | Helga Velroyen | src/Ganeti/Storage/Diskstats \ |
130 | c5f6cba2 | Helga Velroyen | src/Ganeti/Storage/Drbd \ |
131 | bdf51a05 | Michele Tartara | src/Ganeti/Storage/Lvm \ |
132 | 83846468 | Iustin Pop | test/hs \ |
133 | 83846468 | Iustin Pop | test/hs/Test \ |
134 | 83846468 | Iustin Pop | test/hs/Test/Ganeti \ |
135 | c5f6cba2 | Helga Velroyen | test/hs/Test/Ganeti/Storage \ |
136 | c5f6cba2 | Helga Velroyen | test/hs/Test/Ganeti/Storage/Diskstats \ |
137 | c5f6cba2 | Helga Velroyen | test/hs/Test/Ganeti/Storage/Drbd \ |
138 | 0cf8edad | Michele Tartara | test/hs/Test/Ganeti/Storage/Lvm \ |
139 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/Confd \ |
140 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/HTools \ |
141 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/HTools/Backend \ |
142 | b8585908 | Michele Tartara | test/hs/Test/Ganeti/Hypervisor \ |
143 | b8585908 | Michele Tartara | test/hs/Test/Ganeti/Hypervisor/Xen \ |
144 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/Query |
145 | d5506465 | Iustin Pop | |
146 | 7ddd8e4c | Iustin Pop | # Haskell directories without the roots (src, test/hs) |
147 | 7ddd8e4c | Iustin Pop | HS_DIRS_NOROOT = $(filter-out src,$(filter-out test/hs,$(HS_DIRS))) |
148 | 7ddd8e4c | Iustin Pop | |
149 | e8230860 | Michael Hanselmann | DIRS = \ |
150 | d9a900dc | Iustin Pop | $(HS_DIRS) \ |
151 | e8230860 | Michael Hanselmann | autotools \ |
152 | e8230860 | Michael Hanselmann | daemons \ |
153 | e8230860 | Michael Hanselmann | devel \ |
154 | 8b3f1f42 | Michele Tartara | devel/data \ |
155 | e8230860 | Michael Hanselmann | doc \ |
156 | 596f913e | Michael Hanselmann | doc/css \ |
157 | e8230860 | Michael Hanselmann | doc/examples \ |
158 | c51580b3 | Guido Trotter | doc/examples/gnt-debug \ |
159 | dad26941 | Iustin Pop | doc/examples/hooks \ |
160 | d2f465dc | Klaus Aehlig | doc/users \ |
161 | 83846468 | Iustin Pop | test/data/htools \ |
162 | 83846468 | Iustin Pop | test/data/htools/rapi \ |
163 | 83846468 | Iustin Pop | test/hs/shelltests \ |
164 | 00734cae | Michele Tartara | test/autotools \ |
165 | e8230860 | Michael Hanselmann | lib \ |
166 | f9897b6d | Michael Hanselmann | lib/build \ |
167 | dad26941 | Iustin Pop | lib/client \ |
168 | 1da489e2 | Guido Trotter | lib/cmdlib \ |
169 | 2f16ea8f | Michael Hanselmann | lib/confd \ |
170 | ff9efc03 | Michael Hanselmann | lib/http \ |
171 | e8230860 | Michael Hanselmann | lib/hypervisor \ |
172 | bb44b1ae | Michael Hanselmann | lib/impexpd \ |
173 | dc101ecc | Michael Hanselmann | lib/masterd \ |
174 | 8c229cc7 | Oleksiy Mishchenko | lib/rapi \ |
175 | 899c4d2c | Michael Hanselmann | lib/server \ |
176 | cde49218 | Helga Velroyen | lib/storage \ |
177 | 0d2bf835 | René Nussbaumer | lib/tools \ |
178 | c047a981 | Michael Hanselmann | lib/utils \ |
179 | 9f4bb951 | Michael Hanselmann | lib/watcher \ |
180 | e8230860 | Michael Hanselmann | man \ |
181 | e8230860 | Michael Hanselmann | qa \ |
182 | e8230860 | Michael Hanselmann | test \ |
183 | e8230860 | Michael Hanselmann | test/data \ |
184 | 2e076ede | Stratos Psomadakis | test/data/bdev-rbd \ |
185 | 1e6fab60 | Agata Murawska | test/data/ovfdata \ |
186 | d92518d3 | Agata Murawska | test/data/ovfdata/other \ |
187 | 90066780 | Iustin Pop | test/py \ |
188 | 3efa7659 | Thomas Thrainer | test/py/cmdlib \ |
189 | 3efa7659 | Thomas Thrainer | test/py/cmdlib/testsupport \ |
190 | e8230860 | Michael Hanselmann | tools |
191 | e8230860 | Michael Hanselmann | |
192 | cbcd9144 | Michele Tartara | ALL_APIDOC_HS_DIRS = \ |
193 | 22c5390d | Iustin Pop | $(APIDOC_HS_DIR) \ |
194 | 7ddd8e4c | Iustin Pop | $(patsubst %,$(APIDOC_HS_DIR)/%,$(call strip_hsroot,$(HS_DIRS_NOROOT))) |
195 | cbcd9144 | Michele Tartara | |
196 | cbcd9144 | Michele Tartara | BUILDTIME_DIR_AUTOCREATE = \ |
197 | cbcd9144 | Michele Tartara | scripts \ |
198 | cbcd9144 | Michele Tartara | $(APIDOC_DIR) \ |
199 | cbcd9144 | Michele Tartara | $(ALL_APIDOC_HS_DIRS) \ |
200 | dad26941 | Iustin Pop | $(APIDOC_PY_DIR) \ |
201 | 22c5390d | Iustin Pop | $(COVERAGE_DIR) \ |
202 | 22c5390d | Iustin Pop | $(COVERAGE_HS_DIR) \ |
203 | dad26941 | Iustin Pop | $(COVERAGE_PY_DIR) \ |
204 | b91e9518 | Iustin Pop | .hpc |
205 | 2750b299 | Michael Hanselmann | |
206 | 2750b299 | Michael Hanselmann | BUILDTIME_DIRS = \ |
207 | 2750b299 | Michael Hanselmann | $(BUILDTIME_DIR_AUTOCREATE) \ |
208 | 41806ef4 | Michael Hanselmann | doc/html \ |
209 | 41806ef4 | Michael Hanselmann | doc/man-html |
210 | 6b997854 | Michael Hanselmann | |
211 | 6b997854 | Michael Hanselmann | DIRCHECK_EXCLUDE = \ |
212 | 6b997854 | Michael Hanselmann | $(BUILDTIME_DIRS) \ |
213 | 6b997854 | Michael Hanselmann | ganeti-[0-9]*.[0-9]*.[0-9]* \ |
214 | a2d7ea09 | Iustin Pop | doc/html/_* \ |
215 | 41806ef4 | Michael Hanselmann | doc/man-html/_* \ |
216 | a2d7ea09 | Iustin Pop | autom4te.cache |
217 | 6b997854 | Michael Hanselmann | |
218 | 22c5390d | Iustin Pop | # some helper vars |
219 | 22c5390d | Iustin Pop | COVERAGE_DIR = doc/coverage |
220 | 22c5390d | Iustin Pop | COVERAGE_PY_DIR = $(COVERAGE_DIR)/py |
221 | 22c5390d | Iustin Pop | COVERAGE_HS_DIR = $(COVERAGE_DIR)/hs |
222 | 22c5390d | Iustin Pop | APIDOC_DIR = doc/api |
223 | 22c5390d | Iustin Pop | APIDOC_PY_DIR = $(APIDOC_DIR)/py |
224 | 22c5390d | Iustin Pop | APIDOC_HS_DIR = $(APIDOC_DIR)/hs |
225 | 22c5390d | Iustin Pop | |
226 | 2ab2b9f5 | Iustin Pop | MAINTAINERCLEANFILES = \ |
227 | b76aac08 | Michael Hanselmann | $(maninput) \ |
228 | cbf3d64b | Michael Hanselmann | doc/install-quick.rst \ |
229 | 84a12e40 | Iustin Pop | doc/news.rst \ |
230 | 7a03d293 | Michael Hanselmann | doc/upgrade.rst \ |
231 | 84a12e40 | Iustin Pop | vcs-version |
232 | 2ab2b9f5 | Iustin Pop | |
233 | d17e74b4 | Iustin Pop | maintainer-clean-local: |
234 | 6b997854 | Michael Hanselmann | rm -rf $(BUILDTIME_DIRS) |
235 | d17e74b4 | Iustin Pop | |
236 | e8230860 | Michael Hanselmann | CLEANFILES = \ |
237 | 2f16ea8f | Michael Hanselmann | $(addsuffix /*.py[co],$(DIRS)) \ |
238 | d9a900dc | Iustin Pop | $(addsuffix /*.hi,$(HS_DIRS)) \ |
239 | d9a900dc | Iustin Pop | $(addsuffix /*.o,$(HS_DIRS)) \ |
240 | 2d48a3a2 | Michael Hanselmann | $(PYTHON_BOOTSTRAP) \ |
241 | 780060cb | Klaus Aehlig | $(gnt_python_sbin_SCRIPTS) \ |
242 | f774bd03 | Michael Hanselmann | epydoc.conf \ |
243 | 5098afd1 | Iustin Pop | $(REPLACE_VARS_SED) \ |
244 | 6e3bf290 | Michael Hanselmann | $(SHELL_ENV_INIT) \ |
245 | f154a7a3 | Michael Hanselmann | daemons/daemon-util \ |
246 | fc3fd894 | Michael Hanselmann | daemons/ganeti-cleaner \ |
247 | 8b3f1f42 | Michele Tartara | devel/squeeze-amd64.tar.gz \ |
248 | 8b3f1f42 | Michele Tartara | devel/squeeze-amd64.conf \ |
249 | 41806ef4 | Michael Hanselmann | $(mandocrst) \ |
250 | 41806ef4 | Michael Hanselmann | doc/manpages-enabled.rst \ |
251 | 656a7fdf | Iustin Pop | $(BUILT_EXAMPLES) \ |
252 | f72f8622 | Iustin Pop | doc/examples/bash_completion \ |
253 | e80aeb89 | Michael Hanselmann | doc/examples/bash_completion-debug \ |
254 | d2f465dc | Klaus Aehlig | $(userspecs) \ |
255 | d5a2a550 | Michael Hanselmann | lib/_generated_rpc.py \ |
256 | 2ab2b9f5 | Iustin Pop | $(man_MANS) \ |
257 | 2ab2b9f5 | Iustin Pop | $(manhtml) \ |
258 | 26916aad | Apollon Oikonomopoulos | tools/kvm-ifup \ |
259 | 4855760b | Dimitris Aragiorgis | tools/vif-ganeti \ |
260 | 4855760b | Dimitris Aragiorgis | tools/net-common \ |
261 | cdd27f7f | Michele Tartara | tools/users-setup \ |
262 | e5afb848 | Michael Hanselmann | tools/vcluster-setup \ |
263 | 3735787e | Iustin Pop | stamp-directories \ |
264 | dd1dfd9a | Michael Hanselmann | stamp-srclinks \ |
265 | d6159933 | Iustin Pop | $(nodist_pkgpython_PYTHON) \ |
266 | 780060cb | Klaus Aehlig | $(gnt_scripts) \ |
267 | c3f67183 | Iustin Pop | $(HS_ALL_PROGS) $(HS_BUILT_SRCS) \ |
268 | 3096524e | Iustin Pop | $(HS_BUILT_TEST_HELPERS) \ |
269 | 3add7574 | Iustin Pop | src/ganeti-confd \ |
270 | 3695a4e0 | Thomas Thrainer | src/ganeti-luxid \ |
271 | 13cc7b84 | Michele Tartara | src/ganeti-mond \ |
272 | 1b2adaa6 | Jose A. Lopes | src/hs2py-constants \ |
273 | 3e5b34c3 | Klaus Aehlig | .hpc/*.mix src/*.tix test/hs/*.tix *.tix \ |
274 | 191ff68c | Iustin Pop | doc/hs-lint.html |
275 | e8230860 | Michael Hanselmann | |
276 | 4c3d5fb6 | Iustin Pop | GENERATED_FILES = \ |
277 | 5098afd1 | Iustin Pop | $(built_base_sources) \ |
278 | 96a7481d | Michael Hanselmann | $(BUILT_PYTHON_SOURCES) \ |
279 | 2f523522 | Klaus Aehlig | $(PYTHON_BOOTSTRAP) \ |
280 | 2f523522 | Klaus Aehlig | $(gnt_python_sbin_SCRIPTS) |
281 | 96a7481d | Michael Hanselmann | |
282 | d9a900dc | Iustin Pop | HS_GENERATED_FILES = |
283 | ada0e680 | Iustin Pop | if WANT_HTOOLS |
284 | d9a900dc | Iustin Pop | HS_GENERATED_FILES += $(HS_PROGS) |
285 | 04520998 | Iustin Pop | if ENABLE_CONFD |
286 | 3695a4e0 | Thomas Thrainer | HS_GENERATED_FILES += src/hconfd src/ganeti-confd src/hluxid src/ganeti-luxid |
287 | ada0e680 | Iustin Pop | endif |
288 | 13cc7b84 | Michele Tartara | |
289 | 13cc7b84 | Michele Tartara | if ENABLE_MOND |
290 | 13cc7b84 | Michele Tartara | HS_GENERATED_FILES += src/ganeti-mond |
291 | 13cc7b84 | Michele Tartara | endif |
292 | ada0e680 | Iustin Pop | endif |
293 | ada0e680 | Iustin Pop | |
294 | 96a7481d | Michael Hanselmann | built_base_sources = \ |
295 | 3735787e | Iustin Pop | stamp-directories \ |
296 | 3735787e | Iustin Pop | stamp-srclinks |
297 | 2d1f248e | Michael Hanselmann | |
298 | 96a7481d | Michael Hanselmann | built_python_base_sources = \ |
299 | 13aeae6a | Iustin Pop | lib/_autoconf.py \ |
300 | 1b2adaa6 | Jose A. Lopes | lib/_constants.py \ |
301 | 580b1fdd | Jose A. Lopes | lib/_vcsversion.py \ |
302 | 580b1fdd | Jose A. Lopes | lib/opcodes.py |
303 | 96a7481d | Michael Hanselmann | |
304 | 96a7481d | Michael Hanselmann | BUILT_PYTHON_SOURCES = \ |
305 | 96a7481d | Michael Hanselmann | $(built_python_base_sources) \ |
306 | d5a2a550 | Michael Hanselmann | lib/_generated_rpc.py |
307 | e8230860 | Michael Hanselmann | |
308 | 5098afd1 | Iustin Pop | # Generating the RPC wrappers depends on many things, so make sure |
309 | 5098afd1 | Iustin Pop | # it's built at the end of the built sources |
310 | 96a7481d | Michael Hanselmann | lib/_generated_rpc.py: | $(built_base_sources) $(built_python_base_sources) |
311 | 96a7481d | Michael Hanselmann | |
312 | 656a7fdf | Iustin Pop | # these are all built from the underlying %.in sources |
313 | 656a7fdf | Iustin Pop | BUILT_EXAMPLES = \ |
314 | 656a7fdf | Iustin Pop | doc/examples/ganeti-kvm-poweroff.initd \ |
315 | 656a7fdf | Iustin Pop | doc/examples/ganeti.cron \ |
316 | 656a7fdf | Iustin Pop | doc/examples/ganeti.initd \ |
317 | e48c3613 | Apollon Oikonomopoulos | doc/examples/ganeti.logrotate \ |
318 | aa75500a | Guido Trotter | doc/examples/ganeti-master-role.ocf \ |
319 | 17071597 | Guido Trotter | doc/examples/ganeti-node-role.ocf \ |
320 | 656a7fdf | Iustin Pop | doc/examples/gnt-config-backup \ |
321 | 656a7fdf | Iustin Pop | doc/examples/hooks/ipsec |
322 | 656a7fdf | Iustin Pop | |
323 | 08366664 | Michael Hanselmann | nodist_pkgpython_PYTHON = \ |
324 | 08366664 | Michael Hanselmann | $(BUILT_PYTHON_SOURCES) |
325 | 08366664 | Michael Hanselmann | |
326 | 780060cb | Klaus Aehlig | nodist_pkgpython_bin_SCRIPTS = \ |
327 | 780060cb | Klaus Aehlig | $(nodist_pkglib_python_scripts) |
328 | 780060cb | Klaus Aehlig | |
329 | 780060cb | Klaus Aehlig | pkgpython_bin_SCRIPTS = \ |
330 | 780060cb | Klaus Aehlig | $(pkglib_python_scripts) |
331 | 780060cb | Klaus Aehlig | |
332 | f9897b6d | Michael Hanselmann | noinst_PYTHON = \ |
333 | 5f43f393 | Michael Hanselmann | lib/build/__init__.py \ |
334 | dad26941 | Iustin Pop | lib/build/shell_example_lexer.py \ |
335 | dad26941 | Iustin Pop | lib/build/sphinx_ext.py |
336 | f9897b6d | Michael Hanselmann | |
337 | e8230860 | Michael Hanselmann | pkgpython_PYTHON = \ |
338 | e8230860 | Michael Hanselmann | lib/__init__.py \ |
339 | a8a76bc2 | Guido Trotter | lib/asyncnotifier.py \ |
340 | e8230860 | Michael Hanselmann | lib/backend.py \ |
341 | e8230860 | Michael Hanselmann | lib/bootstrap.py \ |
342 | e8230860 | Michael Hanselmann | lib/cli.py \ |
343 | cea881e5 | Michael Hanselmann | lib/compat.py \ |
344 | e8230860 | Michael Hanselmann | lib/config.py \ |
345 | e8230860 | Michael Hanselmann | lib/constants.py \ |
346 | 821d9e43 | Michael Hanselmann | lib/daemon.py \ |
347 | e8230860 | Michael Hanselmann | lib/errors.py \ |
348 | 68d95757 | Guido Trotter | lib/hooksmaster.py \ |
349 | 62e0e880 | Iustin Pop | lib/ht.py \ |
350 | e8230860 | Michael Hanselmann | lib/jqueue.py \ |
351 | 8b537bb0 | Michael Hanselmann | lib/jstore.py \ |
352 | e8230860 | Michael Hanselmann | lib/locking.py \ |
353 | e8230860 | Michael Hanselmann | lib/luxi.py \ |
354 | e8230860 | Michael Hanselmann | lib/mcpu.py \ |
355 | a744b676 | Manuel Franceschini | lib/netutils.py \ |
356 | e8230860 | Michael Hanselmann | lib/objects.py \ |
357 | 580b1fdd | Jose A. Lopes | lib/opcodes_base.py \ |
358 | 473d87a3 | Iustin Pop | lib/outils.py \ |
359 | ced78a66 | Agata Murawska | lib/ovf.py \ |
360 | 3329f4de | Michael Hanselmann | lib/pathutils.py \ |
361 | a123dc19 | Michael Hanselmann | lib/qlang.py \ |
362 | 4ca96421 | Michael Hanselmann | lib/query.py \ |
363 | e8230860 | Michael Hanselmann | lib/rpc.py \ |
364 | 6648cb36 | Michael Hanselmann | lib/rpc_defs.py \ |
365 | f12e1736 | René Nussbaumer | lib/runtime.py \ |
366 | e8230860 | Michael Hanselmann | lib/serializer.py \ |
367 | e8230860 | Michael Hanselmann | lib/ssconf.py \ |
368 | e8230860 | Michael Hanselmann | lib/ssh.py \ |
369 | 1338f2b4 | Balazs Lecz | lib/uidpool.py \ |
370 | 05e733b4 | Michael Hanselmann | lib/vcluster.py \ |
371 | 4e4b6b7a | Apollon Oikonomopoulos | lib/network.py \ |
372 | 76094e37 | Michael Hanselmann | lib/workerpool.py |
373 | e8230860 | Michael Hanselmann | |
374 | 2d48a3a2 | Michael Hanselmann | client_PYTHON = \ |
375 | c2855a12 | Michael Hanselmann | lib/client/__init__.py \ |
376 | 02266fe0 | Michael Hanselmann | lib/client/gnt_backup.py \ |
377 | 7b3e7d41 | Michael Hanselmann | lib/client/gnt_cluster.py \ |
378 | 6d50f5f9 | Michael Hanselmann | lib/client/gnt_debug.py \ |
379 | 667dbd6b | Adeodato Simo | lib/client/gnt_group.py \ |
380 | e792102d | Michael Hanselmann | lib/client/gnt_instance.py \ |
381 | a09b9e3d | Michael Hanselmann | lib/client/gnt_job.py \ |
382 | 37494fa4 | Michael Hanselmann | lib/client/gnt_node.py \ |
383 | 4e4b6b7a | Apollon Oikonomopoulos | lib/client/gnt_network.py \ |
384 | b954f097 | Constantinos Venetsanopoulos | lib/client/gnt_os.py \ |
385 | b954f097 | Constantinos Venetsanopoulos | lib/client/gnt_storage.py |
386 | 2d48a3a2 | Michael Hanselmann | |
387 | 1da489e2 | Guido Trotter | cmdlib_PYTHON = \ |
388 | 1a732a74 | Thomas Thrainer | lib/cmdlib/__init__.py \ |
389 | aad242d2 | Thomas Thrainer | lib/cmdlib/backup.py \ |
390 | fb3891d0 | Thomas Thrainer | lib/cmdlib/base.py \ |
391 | 7352d33b | Thomas Thrainer | lib/cmdlib/cluster.py \ |
392 | aad242d2 | Thomas Thrainer | lib/cmdlib/common.py \ |
393 | f380d53c | Thomas Thrainer | lib/cmdlib/group.py \ |
394 | 22b7f6f8 | Thomas Thrainer | lib/cmdlib/instance.py \ |
395 | 87e25be1 | Thomas Thrainer | lib/cmdlib/instance_migration.py \ |
396 | 13f6af81 | Thomas Thrainer | lib/cmdlib/instance_operation.py \ |
397 | 8aa8f6b1 | Thomas Thrainer | lib/cmdlib/instance_query.py \ |
398 | aad242d2 | Thomas Thrainer | lib/cmdlib/instance_storage.py \ |
399 | 22b7f6f8 | Thomas Thrainer | lib/cmdlib/instance_utils.py \ |
400 | aad242d2 | Thomas Thrainer | lib/cmdlib/misc.py \ |
401 | aad242d2 | Thomas Thrainer | lib/cmdlib/network.py \ |
402 | aad242d2 | Thomas Thrainer | lib/cmdlib/node.py \ |
403 | 1be6b00e | Thomas Thrainer | lib/cmdlib/operating_system.py \ |
404 | aad242d2 | Thomas Thrainer | lib/cmdlib/query.py \ |
405 | 37dc17e3 | Thomas Thrainer | lib/cmdlib/tags.py \ |
406 | 1d870e0d | Thomas Thrainer | lib/cmdlib/test.py |
407 | 1da489e2 | Guido Trotter | |
408 | e8230860 | Michael Hanselmann | hypervisor_PYTHON = \ |
409 | e8230860 | Michael Hanselmann | lib/hypervisor/__init__.py \ |
410 | e8230860 | Michael Hanselmann | lib/hypervisor/hv_base.py \ |
411 | 48297fa2 | Iustin Pop | lib/hypervisor/hv_chroot.py \ |
412 | e8230860 | Michael Hanselmann | lib/hypervisor/hv_fake.py \ |
413 | eb58f9b1 | Guido Trotter | lib/hypervisor/hv_kvm.py \ |
414 | 4b5e40a5 | Iustin Pop | lib/hypervisor/hv_lxc.py \ |
415 | e8230860 | Michael Hanselmann | lib/hypervisor/hv_xen.py |
416 | e8230860 | Michael Hanselmann | |
417 | cde49218 | Helga Velroyen | storage_PYTHON = \ |
418 | cde49218 | Helga Velroyen | lib/storage/__init__.py \ |
419 | cde49218 | Helga Velroyen | lib/storage/bdev.py \ |
420 | cde49218 | Helga Velroyen | lib/storage/base.py \ |
421 | 8f096849 | Helga Velroyen | lib/storage/container.py \ |
422 | cde49218 | Helga Velroyen | lib/storage/drbd.py \ |
423 | cde49218 | Helga Velroyen | lib/storage/drbd_info.py \ |
424 | 820bade9 | Helga Velroyen | lib/storage/drbd_cmdgen.py \ |
425 | 820bade9 | Helga Velroyen | lib/storage/filestorage.py |
426 | ce9283c1 | Thomas Thrainer | |
427 | 8c229cc7 | Oleksiy Mishchenko | rapi_PYTHON = \ |
428 | 8c229cc7 | Oleksiy Mishchenko | lib/rapi/__init__.py \ |
429 | 10b207d4 | Oleksiy Mishchenko | lib/rapi/baserlib.py \ |
430 | 95ab4de9 | David Knowles | lib/rapi/client.py \ |
431 | 20b509de | Michael Hanselmann | lib/rapi/client_utils.py \ |
432 | 10b207d4 | Oleksiy Mishchenko | lib/rapi/connector.py \ |
433 | a85f23fa | Michael Hanselmann | lib/rapi/rlib2.py \ |
434 | a85f23fa | Michael Hanselmann | lib/rapi/testutils.py |
435 | 8c229cc7 | Oleksiy Mishchenko | |
436 | ff9efc03 | Michael Hanselmann | http_PYTHON = \ |
437 | 02cab3e7 | Michael Hanselmann | lib/http/__init__.py \ |
438 | be500c29 | Michael Hanselmann | lib/http/auth.py \ |
439 | 02cab3e7 | Michael Hanselmann | lib/http/client.py \ |
440 | 02cab3e7 | Michael Hanselmann | lib/http/server.py |
441 | ff9efc03 | Michael Hanselmann | |
442 | 12426ae1 | Guido Trotter | confd_PYTHON = \ |
443 | 71f27d19 | Guido Trotter | lib/confd/__init__.py \ |
444 | b0dcdc10 | Iustin Pop | lib/confd/client.py |
445 | 8c229cc7 | Oleksiy Mishchenko | |
446 | dc101ecc | Michael Hanselmann | masterd_PYTHON = \ |
447 | 033a1d00 | Michael Hanselmann | lib/masterd/__init__.py \ |
448 | 0fcd0cad | René Nussbaumer | lib/masterd/iallocator.py \ |
449 | 033a1d00 | Michael Hanselmann | lib/masterd/instance.py |
450 | dc101ecc | Michael Hanselmann | |
451 | bb44b1ae | Michael Hanselmann | impexpd_PYTHON = \ |
452 | bb44b1ae | Michael Hanselmann | lib/impexpd/__init__.py |
453 | bb44b1ae | Michael Hanselmann | |
454 | 9f4bb951 | Michael Hanselmann | watcher_PYTHON = \ |
455 | 9ca87fb3 | Michael Hanselmann | lib/watcher/__init__.py \ |
456 | adf6301e | Michael Hanselmann | lib/watcher/nodemaint.py \ |
457 | adf6301e | Michael Hanselmann | lib/watcher/state.py |
458 | 9f4bb951 | Michael Hanselmann | |
459 | 899c4d2c | Michael Hanselmann | server_PYTHON = \ |
460 | 29d91329 | Michael Hanselmann | lib/server/__init__.py \ |
461 | 5119f2ec | Michael Hanselmann | lib/server/masterd.py \ |
462 | d9c82a4e | Michael Hanselmann | lib/server/noded.py \ |
463 | d9c82a4e | Michael Hanselmann | lib/server/rapi.py |
464 | 899c4d2c | Michael Hanselmann | |
465 | 0d2bf835 | René Nussbaumer | pytools_PYTHON = \ |
466 | 0d2bf835 | René Nussbaumer | lib/tools/__init__.py \ |
467 | 8e55e20f | Michael Hanselmann | lib/tools/burnin.py \ |
468 | d12b9f66 | Michael Hanselmann | lib/tools/ensure_dirs.py \ |
469 | d5fe5fa9 | Michael Hanselmann | lib/tools/node_cleanup.py \ |
470 | 69e5fefc | Michael Hanselmann | lib/tools/node_daemon_setup.py \ |
471 | d12b9f66 | Michael Hanselmann | lib/tools/prepare_node_join.py |
472 | 0d2bf835 | René Nussbaumer | |
473 | c047a981 | Michael Hanselmann | utils_PYTHON = \ |
474 | 4fd029cf | Michael Hanselmann | lib/utils/__init__.py \ |
475 | 79d22269 | Michael Hanselmann | lib/utils/algo.py \ |
476 | 9d1b963f | Michael Hanselmann | lib/utils/filelock.py \ |
477 | f21bb4b7 | Michael Hanselmann | lib/utils/hash.py \ |
478 | 3865ca48 | Michael Hanselmann | lib/utils/io.py \ |
479 | 1ae4c5a1 | Michael Hanselmann | lib/utils/log.py \ |
480 | 59726e15 | Bernardo Dal Seno | lib/utils/lvm.py \ |
481 | 8dc76d54 | Guido Trotter | lib/utils/mlock.py \ |
482 | 17b97ab3 | Michael Hanselmann | lib/utils/nodesetup.py \ |
483 | a4ccecf6 | Michael Hanselmann | lib/utils/process.py \ |
484 | 7fcffe27 | Michael Hanselmann | lib/utils/retry.py \ |
485 | 59ef0f15 | Helga Velroyen | lib/utils/storage.py \ |
486 | 7831fc5f | Michael Hanselmann | lib/utils/text.py \ |
487 | c50645c0 | Michael Hanselmann | lib/utils/wrapper.py \ |
488 | c50645c0 | Michael Hanselmann | lib/utils/x509.py |
489 | c047a981 | Michael Hanselmann | |
490 | 7cf58cad | Michael Hanselmann | docinput = \ |
491 | 7cf58cad | Michael Hanselmann | doc/conf.py \ |
492 | 7cf58cad | Michael Hanselmann | doc/css/style.css \ |
493 | ffa6869f | Iustin Pop | doc/admin.rst \ |
494 | dad26941 | Iustin Pop | doc/cluster-merge.rst \ |
495 | 5c0c1eeb | Iustin Pop | doc/design-2.0.rst \ |
496 | 4f366caf | Michael Hanselmann | doc/design-2.1.rst \ |
497 | e56bb0e8 | Guido Trotter | doc/design-2.2.rst \ |
498 | 1eb85930 | Guido Trotter | doc/design-2.3.rst \ |
499 | 78b40c5e | Michael Hanselmann | doc/design-2.4.rst \ |
500 | d774ce92 | Michael Hanselmann | doc/design-2.5.rst \ |
501 | 40309ed7 | Michael Hanselmann | doc/design-2.6.rst \ |
502 | 97aac894 | Michael Hanselmann | doc/design-2.7.rst \ |
503 | fab0cf66 | Michele Tartara | doc/design-2.8.rst \ |
504 | 036744e2 | Klaus Aehlig | doc/design-2.9.rst \ |
505 | dad26941 | Iustin Pop | doc/design-autorepair.rst \ |
506 | dad26941 | Iustin Pop | doc/design-bulk-create.rst \ |
507 | dad26941 | Iustin Pop | doc/design-chained-jobs.rst \ |
508 | ae9b5e0f | Tsachy Shacham | doc/design-cpu-pinning.rst \ |
509 | f1a84264 | Christos Stavrakakis | doc/design-device-uuid-name.rst \ |
510 | dad26941 | Iustin Pop | doc/design-draft.rst \ |
511 | 3798b89a | Dimitris Aragiorgis | doc/design-hotplug.rst \ |
512 | dad26941 | Iustin Pop | doc/design-htools-2.3.rst \ |
513 | 278ddaa9 | Michael Hanselmann | doc/design-http-server.rst \ |
514 | 1375e1d9 | Michael Hanselmann | doc/design-impexp2.rst \ |
515 | ca93ea0a | Michele Tartara | doc/design-internal-shutdown.rst \ |
516 | ed9fda24 | Michael Hanselmann | doc/design-lu-generated-jobs.rst \ |
517 | d55b80b0 | Guido Trotter | doc/design-linuxha.rst \ |
518 | 4055b109 | Adeodato Simo | doc/design-multi-reloc.rst \ |
519 | eec83a95 | Apollon Oikonomopoulos | doc/design-network.rst \ |
520 | 7742b03c | Michael Hanselmann | doc/design-node-add.rst \ |
521 | dad26941 | Iustin Pop | doc/design-oob.rst \ |
522 | 64ea845e | Michael Hanselmann | doc/design-ovf-support.rst \ |
523 | 0cc3f0d7 | Michael Hanselmann | doc/design-opportunistic-locking.rst \ |
524 | e408eb8a | Klaus Aehlig | doc/design-optables.rst \ |
525 | dad26941 | Iustin Pop | doc/design-partitioned.rst \ |
526 | dad26941 | Iustin Pop | doc/design-query-splitting.rst \ |
527 | dad26941 | Iustin Pop | doc/design-query2.rst \ |
528 | 6d2e1c12 | Michele Tartara | doc/design-reason-trail.rst \ |
529 | d85f01e7 | Iustin Pop | doc/design-resource-model.rst \ |
530 | 45bc4635 | Iustin Pop | doc/design-restricted-commands.rst \ |
531 | a997cec5 | Apollon Oikonomopoulos | doc/design-shared-storage.rst \ |
532 | 109e07c2 | Guido Trotter | doc/design-monitoring-agent.rst \ |
533 | 6b898285 | Iustin Pop | doc/design-virtual-clusters.rst \ |
534 | dad26941 | Iustin Pop | doc/design-x509-ca.rst \ |
535 | 4b11adcc | Guido Trotter | doc/design-hroller.rst \ |
536 | a0eb7c36 | Guido Trotter | doc/design-storagetypes.rst \ |
537 | cf9f3b92 | Klaus Aehlig | doc/design-upgrade.rst \ |
538 | 62947ebb | Michael Hanselmann | doc/devnotes.rst \ |
539 | e2078d28 | Iustin Pop | doc/glossary.rst \ |
540 | 4d6443f4 | Iustin Pop | doc/hooks.rst \ |
541 | 876860a3 | Iustin Pop | doc/iallocator.rst \ |
542 | d17e74b4 | Iustin Pop | doc/index.rst \ |
543 | cbf3d64b | Michael Hanselmann | doc/install-quick.rst \ |
544 | 28e15341 | Iustin Pop | doc/install.rst \ |
545 | 9725b53d | Michael Hanselmann | doc/locking.rst \ |
546 | 41806ef4 | Michael Hanselmann | doc/manpages-disabled.rst \ |
547 | 4a52945f | Apollon Oikonomopoulos | doc/monitoring-query-format.rst \ |
548 | 6bf273d5 | Michael Hanselmann | doc/move-instance.rst \ |
549 | c71a1a3d | Iustin Pop | doc/news.rst \ |
550 | a47dc554 | René Nussbaumer | doc/ovfconverter.rst \ |
551 | 6d81475c | Iustin Pop | doc/rapi.rst \ |
552 | b76aac08 | Michael Hanselmann | doc/security.rst \ |
553 | 35dd762d | Michael Hanselmann | doc/upgrade.rst \ |
554 | ab171697 | Michael Hanselmann | doc/virtual-cluster.rst \ |
555 | c71a1a3d | Iustin Pop | doc/walkthrough.rst |
556 | f05c99f3 | Michael Hanselmann | |
557 | 41806ef4 | Michael Hanselmann | # Generates file names such as "doc/man-gnt-instance.rst" |
558 | 41806ef4 | Michael Hanselmann | mandocrst = $(addprefix doc/man-,$(notdir $(manrst))) |
559 | 41806ef4 | Michael Hanselmann | |
560 | 6249f1c2 | Michele Tartara | # Haskell programs to be installed in $PREFIX/bin |
561 | 6249f1c2 | Michele Tartara | HS_BIN_PROGS=src/htools |
562 | 6249f1c2 | Michele Tartara | |
563 | 6249f1c2 | Michele Tartara | # Haskell programs to be installed in the MYEXECLIB dir |
564 | bcba4e01 | Michele Tartara | if ENABLE_MOND |
565 | 6249f1c2 | Michele Tartara | HS_MYEXECLIB_PROGS=src/mon-collector |
566 | b43e836f | Michele Tartara | else |
567 | b43e836f | Michele Tartara | HS_MYEXECLIB_PROGS= |
568 | b43e836f | Michele Tartara | endif |
569 | 6249f1c2 | Michele Tartara | |
570 | 13cc7b84 | Michele Tartara | # Haskell programs to be compiled by "make really-all" |
571 | 6249f1c2 | Michele Tartara | HS_COMPILE_PROGS= \ |
572 | 13cc7b84 | Michele Tartara | src/ganeti-mond \ |
573 | 6249f1c2 | Michele Tartara | src/hconfd \ |
574 | 3695a4e0 | Thomas Thrainer | src/hluxid \ |
575 | 580b1fdd | Jose A. Lopes | src/hs2py \ |
576 | 6249f1c2 | Michele Tartara | src/rpc-test |
577 | 6249f1c2 | Michele Tartara | |
578 | 6249f1c2 | Michele Tartara | # All Haskell non-test programs to be compiled but not automatically installed |
579 | 6249f1c2 | Michele Tartara | HS_PROGS = $(HS_BIN_PROGS) $(HS_MYEXECLIB_PROGS) |
580 | 6249f1c2 | Michele Tartara | |
581 | b6d9bec8 | Dato Simó | HS_BIN_ROLES = harep hbal hscan hspace hinfo hcheck hroller |
582 | ada0e680 | Iustin Pop | HS_HTOOLS_PROGS = $(HS_BIN_ROLES) hail |
583 | d6159933 | Iustin Pop | |
584 | 19e21a6c | Iustin Pop | HS_ALL_PROGS = \ |
585 | 19e21a6c | Iustin Pop | $(HS_PROGS) \ |
586 | 83846468 | Iustin Pop | test/hs/hpc-htools \ |
587 | 83846468 | Iustin Pop | test/hs/hpc-mon-collector \ |
588 | 3e16567e | Iustin Pop | test/hs/htest \ |
589 | 6249f1c2 | Michele Tartara | $(HS_COMPILE_PROGS) |
590 | 19e21a6c | Iustin Pop | |
591 | 1b2adaa6 | Jose A. Lopes | HS_PROG_SRCS = $(patsubst %,%.hs,$(HS_ALL_PROGS)) src/hs2py-constants.hs |
592 | 83846468 | Iustin Pop | HS_BUILT_TEST_HELPERS = $(HS_BIN_ROLES:%=test/hs/%) test/hs/hail |
593 | 3096524e | Iustin Pop | |
594 | 39f0eea5 | Iustin Pop | HFLAGS = \ |
595 | 3add7574 | Iustin Pop | -O -Wall -Werror -isrc \ |
596 | 39f0eea5 | Iustin Pop | -fwarn-monomorphism-restriction \ |
597 | 39f0eea5 | Iustin Pop | -fwarn-tabs \ |
598 | 39f0eea5 | Iustin Pop | $(GHC_BYVERSION_FLAGS) |
599 | 39f0eea5 | Iustin Pop | |
600 | 74e60746 | Iustin Pop | # extra flags that can be overriden on the command line (e.g. -Wwarn, etc.) |
601 | d6159933 | Iustin Pop | HEXTRA = |
602 | 3e16567e | Iustin Pop | # internal extra flags (used for test/hs/htest mainly) |
603 | c7ec3025 | Iustin Pop | HEXTRA_INT = |
604 | b91e9518 | Iustin Pop | # exclude options for coverage reports |
605 | 9822b1dd | Iustin Pop | HPCEXCL = --exclude Main \ |
606 | 98b33d0e | Iustin Pop | --exclude Ganeti.Constants \ |
607 | 9822b1dd | Iustin Pop | --exclude Ganeti.HTools.QC \ |
608 | dad26941 | Iustin Pop | --exclude Ganeti.THH \ |
609 | 2997cb0a | Iustin Pop | --exclude Ganeti.Version \ |
610 | 4349c24d | Michele Tartara | --exclude Test.Ganeti.Attoparsec \ |
611 | 2733df51 | Iustin Pop | --exclude Test.Ganeti.TestCommon \ |
612 | e1ee7d5a | Iustin Pop | --exclude Test.Ganeti.TestHTools \ |
613 | e1ee7d5a | Iustin Pop | --exclude Test.Ganeti.TestHelper \ |
614 | b88fcdd0 | Iustin Pop | --exclude Test.Ganeti.TestImports \ |
615 | 3add7574 | Iustin Pop | $(patsubst src.%,--exclude Test.%,$(subst /,.,$(patsubst %.hs,%, $(HS_LIB_SRCS)))) |
616 | d6159933 | Iustin Pop | |
617 | c3f67183 | Iustin Pop | HS_LIB_SRCS = \ |
618 | 3add7574 | Iustin Pop | src/Ganeti/BasicTypes.hs \ |
619 | 3add7574 | Iustin Pop | src/Ganeti/Common.hs \ |
620 | 3add7574 | Iustin Pop | src/Ganeti/Compat.hs \ |
621 | 3add7574 | Iustin Pop | src/Ganeti/Confd/Client.hs \ |
622 | 9611c32e | Michele Tartara | src/Ganeti/Confd/ClientFunctions.hs \ |
623 | 3add7574 | Iustin Pop | src/Ganeti/Confd/Server.hs \ |
624 | 3add7574 | Iustin Pop | src/Ganeti/Confd/Types.hs \ |
625 | 3add7574 | Iustin Pop | src/Ganeti/Confd/Utils.hs \ |
626 | 3add7574 | Iustin Pop | src/Ganeti/Config.hs \ |
627 | 218e3b0f | Thomas Thrainer | src/Ganeti/ConfigReader.hs \ |
628 | fec1fac1 | Jose A. Lopes | src/Ganeti/Constants.hs \ |
629 | f2b6e7d4 | Jose A. Lopes | src/Ganeti/ConstantUtils.hs \ |
630 | f6d4b52d | Spyros Trigazis | src/Ganeti/Cpu/LoadParser.hs \ |
631 | f6d4b52d | Spyros Trigazis | src/Ganeti/Cpu/Types.hs \ |
632 | cc40185c | Iustin Pop | src/Ganeti/Curl/Multi.hs \ |
633 | 3add7574 | Iustin Pop | src/Ganeti/Daemon.hs \ |
634 | 3add7574 | Iustin Pop | src/Ganeti/DataCollectors/CLI.hs \ |
635 | 2da679f7 | Spyros Trigazis | src/Ganeti/DataCollectors/CPUload.hs \ |
636 | 1a99d6a2 | Michele Tartara | src/Ganeti/DataCollectors/Diskstats.hs \ |
637 | 3add7574 | Iustin Pop | src/Ganeti/DataCollectors/Drbd.hs \ |
638 | d7e9323b | Michele Tartara | src/Ganeti/DataCollectors/InstStatus.hs \ |
639 | d7e9323b | Michele Tartara | src/Ganeti/DataCollectors/InstStatusTypes.hs \ |
640 | 1a9d864c | Michele Tartara | src/Ganeti/DataCollectors/Lv.hs \ |
641 | 3add7574 | Iustin Pop | src/Ganeti/DataCollectors/Program.hs \ |
642 | 13d3acab | Michele Tartara | src/Ganeti/DataCollectors/Types.hs \ |
643 | 3add7574 | Iustin Pop | src/Ganeti/Errors.hs \ |
644 | 3add7574 | Iustin Pop | src/Ganeti/HTools/Backend/IAlloc.hs \ |
645 | 3add7574 | Iustin Pop | src/Ganeti/HTools/Backend/Luxi.hs \ |
646 | 3add7574 | Iustin Pop | src/Ganeti/HTools/Backend/Rapi.hs \ |
647 | 3add7574 | Iustin Pop | src/Ganeti/HTools/Backend/Simu.hs \ |
648 | 3add7574 | Iustin Pop | src/Ganeti/HTools/Backend/Text.hs \ |
649 | 3add7574 | Iustin Pop | src/Ganeti/HTools/CLI.hs \ |
650 | 3add7574 | Iustin Pop | src/Ganeti/HTools/Cluster.hs \ |
651 | 3add7574 | Iustin Pop | src/Ganeti/HTools/Container.hs \ |
652 | 3add7574 | Iustin Pop | src/Ganeti/HTools/ExtLoader.hs \ |
653 | 3add7574 | Iustin Pop | src/Ganeti/HTools/Graph.hs \ |
654 | 3add7574 | Iustin Pop | src/Ganeti/HTools/Group.hs \ |
655 | 3add7574 | Iustin Pop | src/Ganeti/HTools/Instance.hs \ |
656 | 3add7574 | Iustin Pop | src/Ganeti/HTools/Loader.hs \ |
657 | 908c2f67 | Thomas Thrainer | src/Ganeti/HTools/Nic.hs \ |
658 | 3add7574 | Iustin Pop | src/Ganeti/HTools/Node.hs \ |
659 | 3add7574 | Iustin Pop | src/Ganeti/HTools/PeerMap.hs \ |
660 | 3add7574 | Iustin Pop | src/Ganeti/HTools/Program/Hail.hs \ |
661 | b6d9bec8 | Dato Simó | src/Ganeti/HTools/Program/Harep.hs \ |
662 | 3add7574 | Iustin Pop | src/Ganeti/HTools/Program/Hbal.hs \ |
663 | 3add7574 | Iustin Pop | src/Ganeti/HTools/Program/Hcheck.hs \ |
664 | 3add7574 | Iustin Pop | src/Ganeti/HTools/Program/Hinfo.hs \ |
665 | 3add7574 | Iustin Pop | src/Ganeti/HTools/Program/Hscan.hs \ |
666 | 3add7574 | Iustin Pop | src/Ganeti/HTools/Program/Hspace.hs \ |
667 | 3add7574 | Iustin Pop | src/Ganeti/HTools/Program/Hroller.hs \ |
668 | 2fd5a116 | Iustin Pop | src/Ganeti/HTools/Program/Main.hs \ |
669 | 3add7574 | Iustin Pop | src/Ganeti/HTools/Types.hs \ |
670 | 45ee8676 | Michele Tartara | src/Ganeti/Hypervisor/Xen.hs \ |
671 | b8585908 | Michele Tartara | src/Ganeti/Hypervisor/Xen/XmParser.hs \ |
672 | b8585908 | Michele Tartara | src/Ganeti/Hypervisor/Xen/Types.hs \ |
673 | 3add7574 | Iustin Pop | src/Ganeti/Hash.hs \ |
674 | d34c79b6 | Jose A. Lopes | src/Ganeti/Hs2Py/GenConstants.hs \ |
675 | f3e38e89 | Jose A. Lopes | src/Ganeti/Hs2Py/GenOpCodes.hs \ |
676 | 580b1fdd | Jose A. Lopes | src/Ganeti/Hs2Py/OpDoc.hs \ |
677 | 1b2adaa6 | Jose A. Lopes | src/Ganeti/HsConstants.hs \ |
678 | 3add7574 | Iustin Pop | src/Ganeti/JQueue.hs \ |
679 | 3add7574 | Iustin Pop | src/Ganeti/JSON.hs \ |
680 | 3add7574 | Iustin Pop | src/Ganeti/Jobs.hs \ |
681 | 3add7574 | Iustin Pop | src/Ganeti/Logging.hs \ |
682 | 3add7574 | Iustin Pop | src/Ganeti/Luxi.hs \ |
683 | 13cc7b84 | Michele Tartara | src/Ganeti/Monitoring/Server.hs \ |
684 | 3add7574 | Iustin Pop | src/Ganeti/Network.hs \ |
685 | 3add7574 | Iustin Pop | src/Ganeti/Objects.hs \ |
686 | 3add7574 | Iustin Pop | src/Ganeti/OpCodes.hs \ |
687 | 3add7574 | Iustin Pop | src/Ganeti/OpParams.hs \ |
688 | 3add7574 | Iustin Pop | src/Ganeti/Path.hs \ |
689 | f5bbddb5 | Spyros Trigazis | src/Ganeti/Parsers.hs \ |
690 | c4d68e39 | Jose A. Lopes | src/Ganeti/PyValueInstances.hs \ |
691 | 1c3231aa | Thomas Thrainer | src/Ganeti/Query/Cluster.hs \ |
692 | 3add7574 | Iustin Pop | src/Ganeti/Query/Common.hs \ |
693 | c4bf507b | Iustin Pop | src/Ganeti/Query/Export.hs \ |
694 | 3add7574 | Iustin Pop | src/Ganeti/Query/Filter.hs \ |
695 | 3add7574 | Iustin Pop | src/Ganeti/Query/Group.hs \ |
696 | 3add7574 | Iustin Pop | src/Ganeti/Query/Job.hs \ |
697 | 3add7574 | Iustin Pop | src/Ganeti/Query/Language.hs \ |
698 | 05092772 | Helga Velroyen | src/Ganeti/Query/Network.hs \ |
699 | 3add7574 | Iustin Pop | src/Ganeti/Query/Node.hs \ |
700 | 3add7574 | Iustin Pop | src/Ganeti/Query/Query.hs \ |
701 | 3add7574 | Iustin Pop | src/Ganeti/Query/Server.hs \ |
702 | 3add7574 | Iustin Pop | src/Ganeti/Query/Types.hs \ |
703 | 3add7574 | Iustin Pop | src/Ganeti/Rpc.hs \ |
704 | 3add7574 | Iustin Pop | src/Ganeti/Runtime.hs \ |
705 | 3add7574 | Iustin Pop | src/Ganeti/Ssconf.hs \ |
706 | c5f6cba2 | Helga Velroyen | src/Ganeti/Storage/Diskstats/Parser.hs \ |
707 | c5f6cba2 | Helga Velroyen | src/Ganeti/Storage/Diskstats/Types.hs \ |
708 | c5f6cba2 | Helga Velroyen | src/Ganeti/Storage/Drbd/Parser.hs \ |
709 | c5f6cba2 | Helga Velroyen | src/Ganeti/Storage/Drbd/Types.hs \ |
710 | bdf51a05 | Michele Tartara | src/Ganeti/Storage/Lvm/LVParser.hs \ |
711 | bdf51a05 | Michele Tartara | src/Ganeti/Storage/Lvm/Types.hs \ |
712 | 00839a42 | Helga Velroyen | src/Ganeti/Storage/Utils.hs \ |
713 | 3add7574 | Iustin Pop | src/Ganeti/THH.hs \ |
714 | 3add7574 | Iustin Pop | src/Ganeti/Types.hs \ |
715 | 3add7574 | Iustin Pop | src/Ganeti/Utils.hs |
716 | 51309138 | Iustin Pop | |
717 | 51309138 | Iustin Pop | HS_TEST_SRCS = \ |
718 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/Attoparsec.hs \ |
719 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/BasicTypes.hs \ |
720 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/Common.hs \ |
721 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/Confd/Types.hs \ |
722 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/Confd/Utils.hs \ |
723 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/Daemon.hs \ |
724 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/Errors.hs \ |
725 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/HTools/Backend/Simu.hs \ |
726 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/HTools/Backend/Text.hs \ |
727 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/HTools/CLI.hs \ |
728 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/HTools/Cluster.hs \ |
729 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/HTools/Container.hs \ |
730 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/HTools/Graph.hs \ |
731 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/HTools/Instance.hs \ |
732 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/HTools/Loader.hs \ |
733 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/HTools/Node.hs \ |
734 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/HTools/PeerMap.hs \ |
735 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/HTools/Types.hs \ |
736 | b8585908 | Michele Tartara | test/hs/Test/Ganeti/Hypervisor/Xen/XmParser.hs \ |
737 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/JSON.hs \ |
738 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/Jobs.hs \ |
739 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/JQueue.hs \ |
740 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/Luxi.hs \ |
741 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/Network.hs \ |
742 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/Objects.hs \ |
743 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/OpCodes.hs \ |
744 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/Query/Filter.hs \ |
745 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/Query/Language.hs \ |
746 | 834bea99 | Helga Velroyen | test/hs/Test/Ganeti/Query/Network.hs \ |
747 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/Query/Query.hs \ |
748 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/Rpc.hs \ |
749 | ca7b4f48 | Iustin Pop | test/hs/Test/Ganeti/Runtime.hs \ |
750 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/Ssconf.hs \ |
751 | c5f6cba2 | Helga Velroyen | test/hs/Test/Ganeti/Storage/Diskstats/Parser.hs \ |
752 | c5f6cba2 | Helga Velroyen | test/hs/Test/Ganeti/Storage/Drbd/Parser.hs \ |
753 | c5f6cba2 | Helga Velroyen | test/hs/Test/Ganeti/Storage/Drbd/Types.hs \ |
754 | 0cf8edad | Michele Tartara | test/hs/Test/Ganeti/Storage/Lvm/LVParser.hs \ |
755 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/THH.hs \ |
756 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/TestCommon.hs \ |
757 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/TestHTools.hs \ |
758 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/TestHelper.hs \ |
759 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/Types.hs \ |
760 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/Utils.hs |
761 | e4cc4c11 | Iustin Pop | |
762 | 51309138 | Iustin Pop | HS_LIBTEST_SRCS = $(HS_LIB_SRCS) $(HS_TEST_SRCS) |
763 | d6159933 | Iustin Pop | |
764 | b88fcdd0 | Iustin Pop | HS_BUILT_SRCS = \ |
765 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/TestImports.hs \ |
766 | ca2d5dcc | Jose A. Lopes | src/AutoConf.hs \ |
767 | 1b2adaa6 | Jose A. Lopes | src/Ganeti/Hs2Py/ListConstants.hs \ |
768 | fec1fac1 | Jose A. Lopes | src/Ganeti/PyConstants.hs \ |
769 | cc40185c | Iustin Pop | src/Ganeti/Curl/Internal.hs \ |
770 | 3add7574 | Iustin Pop | src/Ganeti/Version.hs |
771 | cc40185c | Iustin Pop | HS_BUILT_SRCS_IN = \ |
772 | cc40185c | Iustin Pop | $(patsubst %,%.in,$(filter-out src/Ganeti/Curl/Internal.hs,$(HS_BUILT_SRCS))) \ |
773 | 580b1fdd | Jose A. Lopes | src/Ganeti/Curl/Internal.hsc \ |
774 | 1b2adaa6 | Jose A. Lopes | lib/_constants.py.in \ |
775 | 580b1fdd | Jose A. Lopes | lib/opcodes.py.in_after \ |
776 | 580b1fdd | Jose A. Lopes | lib/opcodes.py.in_before |
777 | d6159933 | Iustin Pop | |
778 | 7ddd8e4c | Iustin Pop | HS_LIBTESTBUILT_SRCS = $(HS_LIBTEST_SRCS) $(HS_BUILT_SRCS) |
779 | 7ddd8e4c | Iustin Pop | |
780 | 3735787e | Iustin Pop | $(RUN_IN_TEMPDIR): | stamp-directories |
781 | c964d962 | Michael Hanselmann | |
782 | 41806ef4 | Michael Hanselmann | doc/html/index.html: ENABLE_MANPAGES = |
783 | 41806ef4 | Michael Hanselmann | doc/man-html/index.html: ENABLE_MANPAGES = 1 |
784 | 41806ef4 | Michael Hanselmann | doc/man-html/index.html: doc/manpages-enabled.rst $(mandocrst) |
785 | 41806ef4 | Michael Hanselmann | |
786 | a2d917f3 | Iustin Pop | # Note: we use here an order-only prerequisite, as the contents of |
787 | a2d917f3 | Iustin Pop | # _autoconf.py are not actually influencing the html build output: it |
788 | a2d917f3 | Iustin Pop | # has to exist in order for the sphinx module to be loaded |
789 | a2d917f3 | Iustin Pop | # successfully, but we certainly don't want the docs to be rebuilt if |
790 | a2d917f3 | Iustin Pop | # it changes |
791 | 41806ef4 | Michael Hanselmann | doc/html/index.html doc/man-html/index.html: $(docinput) doc/conf.py \ |
792 | 41806ef4 | Michael Hanselmann | configure.ac $(RUN_IN_TEMPDIR) lib/build/sphinx_ext.py \ |
793 | 580b1fdd | Jose A. Lopes | lib/build/shell_example_lexer.py lib/ht.py \ |
794 | d6ee0e41 | Michael Hanselmann | doc/css/style.css lib/rapi/connector.py lib/rapi/rlib2.py \ |
795 | 405ee200 | Jose A. Lopes | autotools/sphinx-wrapper | $(BUILT_PYTHON_SOURCES) |
796 | d17e74b4 | Iustin Pop | @test -n "$(SPHINX)" || \ |
797 | d17e74b4 | Iustin Pop | { echo 'sphinx-build' not found during configure; exit 1; } |
798 | 41806ef4 | Michael Hanselmann | if !MANPAGES_IN_DOC |
799 | 41806ef4 | Michael Hanselmann | if test -n '$(ENABLE_MANPAGES)'; then \ |
800 | 41806ef4 | Michael Hanselmann | echo 'Man pages in documentation were disabled at configure time' >&2; \ |
801 | 41806ef4 | Michael Hanselmann | exit 1; \ |
802 | 41806ef4 | Michael Hanselmann | fi |
803 | 41806ef4 | Michael Hanselmann | endif |
804 | 06a6f2cc | Michael Hanselmann | ## Sphinx provides little control over what content should be included. Some |
805 | 06a6f2cc | Michael Hanselmann | ## mechanisms exist, but they all have drawbacks or actual issues. Since we |
806 | 06a6f2cc | Michael Hanselmann | ## build two different versions of the documentation--once without man pages and |
807 | 06a6f2cc | Michael Hanselmann | ## once, if enabled, with them--some control is necessary. xmpp-wrapper provides |
808 | 06a6f2cc | Michael Hanselmann | ## us with this, but requires running in a temporary directory. It moves the |
809 | 06a6f2cc | Michael Hanselmann | ## correct files into place depending on environment variables. |
810 | 41806ef4 | Michael Hanselmann | dir=$(dir $@) && \ |
811 | 41806ef4 | Michael Hanselmann | @mkdir_p@ $$dir && \ |
812 | 06a6f2cc | Michael Hanselmann | PYTHONPATH=. ENABLE_MANPAGES=$(ENABLE_MANPAGES) COPY_DOC=1 \ |
813 | 06a6f2cc | Michael Hanselmann | $(RUN_IN_TEMPDIR) autotools/sphinx-wrapper $(SPHINX) -q -W -b html \ |
814 | 13de7d59 | Michael Hanselmann | -d . \ |
815 | d17e74b4 | Iustin Pop | -D version="$(VERSION_MAJOR).$(VERSION_MINOR)" \ |
816 | d17e74b4 | Iustin Pop | -D release="$(PACKAGE_VERSION)" \ |
817 | f8e233a3 | Iustin Pop | -D graphviz_dot="$(DOT)" \ |
818 | 41806ef4 | Michael Hanselmann | -D enable_manpages="$(ENABLE_MANPAGES)" \ |
819 | 41806ef4 | Michael Hanselmann | doc $(CURDIR)/$$dir && \ |
820 | 41806ef4 | Michael Hanselmann | rm -f $$dir/.buildinfo $$dir/objects.inv |
821 | 13de7d59 | Michael Hanselmann | touch $@ |
822 | 13de7d59 | Michael Hanselmann | |
823 | c964d962 | Michael Hanselmann | doc/html: doc/html/index.html |
824 | 2ab2b9f5 | Iustin Pop | |
825 | 41806ef4 | Michael Hanselmann | doc/man-html: doc/man-html/index.html |
826 | 41806ef4 | Michael Hanselmann | |
827 | cbf3d64b | Michael Hanselmann | doc/install-quick.rst: INSTALL |
828 | b76aac08 | Michael Hanselmann | doc/news.rst: NEWS |
829 | 7a03d293 | Michael Hanselmann | doc/upgrade.rst: UPGRADE |
830 | b76aac08 | Michael Hanselmann | |
831 | e8deef56 | Michael Hanselmann | doc/install-quick.rst doc/news.rst doc/upgrade.rst: |
832 | cbf3d64b | Michael Hanselmann | set -e; \ |
833 | cbf3d64b | Michael Hanselmann | { echo '.. This file is automatically updated at build time from $<.'; \ |
834 | cbf3d64b | Michael Hanselmann | echo '.. Do not edit.'; \ |
835 | cbf3d64b | Michael Hanselmann | echo; \ |
836 | cbf3d64b | Michael Hanselmann | cat $<; \ |
837 | cbf3d64b | Michael Hanselmann | } > $@ |
838 | cbf3d64b | Michael Hanselmann | |
839 | 41806ef4 | Michael Hanselmann | doc/manpages-enabled.rst: Makefile | $(built_base_sources) |
840 | 41806ef4 | Michael Hanselmann | { echo '.. This file is automatically generated, do not edit!'; \ |
841 | 41806ef4 | Michael Hanselmann | echo ''; \ |
842 | 41806ef4 | Michael Hanselmann | echo 'Man pages'; \ |
843 | 41806ef4 | Michael Hanselmann | echo '========='; \ |
844 | 41806ef4 | Michael Hanselmann | echo; \ |
845 | 41806ef4 | Michael Hanselmann | echo '.. toctree::'; \ |
846 | 41806ef4 | Michael Hanselmann | echo ' :maxdepth: 1'; \ |
847 | 41806ef4 | Michael Hanselmann | echo; \ |
848 | 41806ef4 | Michael Hanselmann | for i in $(notdir $(mandocrst)); do \ |
849 | 41806ef4 | Michael Hanselmann | echo " $$i"; \ |
850 | 41806ef4 | Michael Hanselmann | done | LC_ALL=C sort; \ |
851 | 41806ef4 | Michael Hanselmann | } > $@ |
852 | 41806ef4 | Michael Hanselmann | |
853 | 41806ef4 | Michael Hanselmann | doc/man-%.rst: man/%.gen Makefile $(REPLACE_VARS_SED) | $(built_base_sources) |
854 | 41806ef4 | Michael Hanselmann | if MANPAGES_IN_DOC |
855 | 41806ef4 | Michael Hanselmann | { echo '.. This file is automatically updated at build time from $<.'; \ |
856 | 41806ef4 | Michael Hanselmann | echo '.. Do not edit.'; \ |
857 | 41806ef4 | Michael Hanselmann | echo; \ |
858 | 41806ef4 | Michael Hanselmann | echo "$*"; \ |
859 | 41806ef4 | Michael Hanselmann | echo '=========================================='; \ |
860 | 41806ef4 | Michael Hanselmann | tail -n +3 $< | sed -f $(REPLACE_VARS_SED); \ |
861 | 41806ef4 | Michael Hanselmann | } > $@ |
862 | 41806ef4 | Michael Hanselmann | else |
863 | 41806ef4 | Michael Hanselmann | echo 'Man pages in documentation were disabled at configure time' >&2; \ |
864 | 41806ef4 | Michael Hanselmann | exit 1; |
865 | 41806ef4 | Michael Hanselmann | endif |
866 | 41806ef4 | Michael Hanselmann | |
867 | d2f465dc | Klaus Aehlig | doc/users/%: doc/users/%.in Makefile $(REPLACE_VARS_SED) |
868 | d2f465dc | Klaus Aehlig | cat $< | sed -f $(REPLACE_VARS_SED) | LC_ALL=C sort | uniq | (grep -v '^root' || true) > $@ |
869 | d2f465dc | Klaus Aehlig | |
870 | d2f465dc | Klaus Aehlig | userspecs = \ |
871 | d2f465dc | Klaus Aehlig | doc/users/users \ |
872 | d2f465dc | Klaus Aehlig | doc/users/groups \ |
873 | d2f465dc | Klaus Aehlig | doc/users/groupmemberships |
874 | d2f465dc | Klaus Aehlig | |
875 | 7e1ccbe0 | Michael Hanselmann | # Things to build but not to install (add it to EXTRA_DIST if it should be |
876 | 7e1ccbe0 | Michael Hanselmann | # distributed) |
877 | 7e1ccbe0 | Michael Hanselmann | noinst_DATA = \ |
878 | 656a7fdf | Iustin Pop | $(BUILT_EXAMPLES) \ |
879 | 7e1ccbe0 | Michael Hanselmann | doc/examples/bash_completion \ |
880 | e80aeb89 | Michael Hanselmann | doc/examples/bash_completion-debug \ |
881 | d2f465dc | Klaus Aehlig | $(userspecs) \ |
882 | 7e1ccbe0 | Michael Hanselmann | $(manhtml) |
883 | f29266b4 | Iustin Pop | |
884 | d99dd9c7 | Michele Tartara | if HAS_SPHINX |
885 | 41806ef4 | Michael Hanselmann | if MANPAGES_IN_DOC |
886 | 41806ef4 | Michael Hanselmann | noinst_DATA += doc/man-html |
887 | d99dd9c7 | Michele Tartara | else |
888 | d99dd9c7 | Michele Tartara | noinst_DATA += doc/html |
889 | d99dd9c7 | Michele Tartara | endif |
890 | 41806ef4 | Michael Hanselmann | endif |
891 | 41806ef4 | Michael Hanselmann | |
892 | 4f3d5b76 | Michael Hanselmann | gnt_scripts = \ |
893 | e8230860 | Michael Hanselmann | scripts/gnt-backup \ |
894 | e8230860 | Michael Hanselmann | scripts/gnt-cluster \ |
895 | e8230860 | Michael Hanselmann | scripts/gnt-debug \ |
896 | 667dbd6b | Adeodato Simo | scripts/gnt-group \ |
897 | e8230860 | Michael Hanselmann | scripts/gnt-instance \ |
898 | e8230860 | Michael Hanselmann | scripts/gnt-job \ |
899 | 4e4b6b7a | Apollon Oikonomopoulos | scripts/gnt-network \ |
900 | e8230860 | Michael Hanselmann | scripts/gnt-node \ |
901 | b954f097 | Constantinos Venetsanopoulos | scripts/gnt-os \ |
902 | b954f097 | Constantinos Venetsanopoulos | scripts/gnt-storage |
903 | e8230860 | Michael Hanselmann | |
904 | 780060cb | Klaus Aehlig | gnt_scripts_basenames = \ |
905 | eb875ff1 | Klaus Aehlig | $(patsubst scripts/%,%,$(patsubst daemons/%,%,$(gnt_scripts) $(gnt_python_sbin_SCRIPTS))) |
906 | 780060cb | Klaus Aehlig | |
907 | 780060cb | Klaus Aehlig | gnt_python_sbin_SCRIPTS = \ |
908 | 780060cb | Klaus Aehlig | $(PYTHON_BOOTSTRAP_SBIN) |
909 | 780060cb | Klaus Aehlig | |
910 | 780060cb | Klaus Aehlig | gntpython_SCRIPTS = $(gnt_scripts) |
911 | 780060cb | Klaus Aehlig | |
912 | 0d2bf835 | René Nussbaumer | PYTHON_BOOTSTRAP_SBIN = \ |
913 | 29d91329 | Michael Hanselmann | daemons/ganeti-masterd \ |
914 | 5119f2ec | Michael Hanselmann | daemons/ganeti-noded \ |
915 | d9c82a4e | Michael Hanselmann | daemons/ganeti-rapi \ |
916 | 780060cb | Klaus Aehlig | daemons/ganeti-watcher |
917 | 2d48a3a2 | Michael Hanselmann | |
918 | 0d2bf835 | René Nussbaumer | PYTHON_BOOTSTRAP = \ |
919 | 8e55e20f | Michael Hanselmann | tools/burnin \ |
920 | d12b9f66 | Michael Hanselmann | tools/ensure-dirs \ |
921 | d5fe5fa9 | Michael Hanselmann | tools/node-cleanup \ |
922 | 69e5fefc | Michael Hanselmann | tools/node-daemon-setup \ |
923 | d12b9f66 | Michael Hanselmann | tools/prepare-node-join |
924 | 0d2bf835 | René Nussbaumer | |
925 | a8c68e44 | Michael Hanselmann | qa_scripts = \ |
926 | a0c3e726 | Michael Hanselmann | qa/__init__.py \ |
927 | a8c68e44 | Michael Hanselmann | qa/ganeti-qa.py \ |
928 | a8c68e44 | Michael Hanselmann | qa/qa_cluster.py \ |
929 | a8c68e44 | Michael Hanselmann | qa/qa_config.py \ |
930 | a8c68e44 | Michael Hanselmann | qa/qa_daemon.py \ |
931 | a8c68e44 | Michael Hanselmann | qa/qa_env.py \ |
932 | a8c68e44 | Michael Hanselmann | qa/qa_error.py \ |
933 | 21bf2e2e | Andrea Spadaccini | qa/qa_group.py \ |
934 | a8c68e44 | Michael Hanselmann | qa/qa_instance.py \ |
935 | 8fada090 | Michele Tartara | qa/qa_instance_utils.py \ |
936 | 09470dd8 | Michael Hanselmann | qa/qa_job.py \ |
937 | a5877534 | Michele Tartara | qa/qa_monitoring.py \ |
938 | a8c68e44 | Michael Hanselmann | qa/qa_node.py \ |
939 | a8c68e44 | Michael Hanselmann | qa/qa_os.py \ |
940 | a8c68e44 | Michael Hanselmann | qa/qa_rapi.py \ |
941 | a8c68e44 | Michael Hanselmann | qa/qa_tags.py \ |
942 | a8c68e44 | Michael Hanselmann | qa/qa_utils.py |
943 | a8c68e44 | Michael Hanselmann | |
944 | d6159933 | Iustin Pop | bin_SCRIPTS = |
945 | d6159933 | Iustin Pop | if WANT_HTOOLS |
946 | 6249f1c2 | Michele Tartara | bin_SCRIPTS += $(HS_BIN_PROGS) |
947 | 458a286a | Iustin Pop | install-exec-hook: |
948 | 458a286a | Iustin Pop | @mkdir_p@ $(DESTDIR)$(iallocatorsdir) |
949 | 7fa52acd | Iustin Pop | # FIXME: this is a hardcoded logic, instead of auto-resolving |
950 | 7fa52acd | Iustin Pop | $(LN_S) -f ../../../bin/htools \ |
951 | a2d7ea09 | Iustin Pop | $(DESTDIR)$(iallocatorsdir)/hail |
952 | 201b6c34 | Iustin Pop | for role in $(HS_BIN_ROLES); do \ |
953 | a2d7ea09 | Iustin Pop | $(LN_S) -f htools $(DESTDIR)$(bindir)/$$role ; \ |
954 | 201b6c34 | Iustin Pop | done |
955 | d6159933 | Iustin Pop | endif |
956 | d6159933 | Iustin Pop | |
957 | 1b2adaa6 | Jose A. Lopes | # This target cannot be merged with the '$(HS_ALL_PROGS)' target |
958 | 1b2adaa6 | Jose A. Lopes | # because 'hs2py-constants' cannot depend on 'Ganeti.Constants'. And |
959 | 1b2adaa6 | Jose A. Lopes | # the reason for this is because 'hs2py-constants' needs to generate |
960 | 1b2adaa6 | Jose A. Lopes | # Python code, and 'Ganeti.Constants' is generated by Python. |
961 | 6b604e1d | Jose A. Lopes | src/hs2py-constants: src/hs2py-constants.hs src/AutoConf.hs \ |
962 | 30277da3 | Jose A. Lopes | src/Ganeti/BasicTypes.hs src/Ganeti/ConstantUtils.hs \ |
963 | 30277da3 | Jose A. Lopes | src/Ganeti/JSON.hs src/Ganeti/THH.hs \ |
964 | 30277da3 | Jose A. Lopes | src/Ganeti/Hs2Py/GenConstants.hs \ |
965 | 1b2adaa6 | Jose A. Lopes | src/Ganeti/Hs2Py/ListConstants.hs \ |
966 | 1b2adaa6 | Jose A. Lopes | src/Ganeti/HsConstants.hs \ |
967 | 1b2adaa6 | Jose A. Lopes | src/Ganeti/PyValueInstances.hs \ |
968 | 1b2adaa6 | Jose A. Lopes | | stamp-srclinks |
969 | 1b2adaa6 | Jose A. Lopes | $(GHC) --make \ |
970 | 1b2adaa6 | Jose A. Lopes | $(HFLAGS) \ |
971 | 1b2adaa6 | Jose A. Lopes | -osuf $(notdir $@).o -hisuf $(notdir $@).hi \ |
972 | 1b2adaa6 | Jose A. Lopes | $(HEXTRA) $(HEXTRA_INT) src/hs2py-constants.hs |
973 | 1b2adaa6 | Jose A. Lopes | |
974 | 7ddd8e4c | Iustin Pop | $(HS_ALL_PROGS): %: %.hs $(HS_LIBTESTBUILT_SRCS) Makefile |
975 | d9a900dc | Iustin Pop | @if [ "$(notdir $@)" = "test" ] && [ "$(HS_NODEV)" ]; then \ |
976 | 21a5e56c | Iustin Pop | echo "Error: cannot run unittests without the development" \ |
977 | 21a5e56c | Iustin Pop | " libraries (see devnotes.rst)" 1>&2; \ |
978 | fd0bc853 | Iustin Pop | exit 1; \ |
979 | 49e11c49 | Iustin Pop | fi |
980 | f0f3a6df | Iustin Pop | @rm -f $(notdir $@).tix |
981 | f0f3a6df | Iustin Pop | $(GHC) --make \ |
982 | ef958f2a | Iustin Pop | $(HFLAGS) \ |
983 | 1ca709c1 | Iustin Pop | $(HS_PARALLEL3) $(HS_REGEX_PCRE) \ |
984 | f0f3a6df | Iustin Pop | -osuf $(notdir $@).o -hisuf $(notdir $@).hi \ |
985 | c7ec3025 | Iustin Pop | $(HEXTRA) $(HEXTRA_INT) $@ |
986 | 70b6c284 | Iustin Pop | @touch "$@" |
987 | 70b6c284 | Iustin Pop | |
988 | 3e16567e | Iustin Pop | # for the test/hs/htest binary, we need to enable profiling/coverage |
989 | 3e16567e | Iustin Pop | test/hs/htest: HEXTRA_INT=-fhpc -itest/hs |
990 | b91e9518 | Iustin Pop | |
991 | 896b2850 | Iustin Pop | # we compile the hpc-htools binary with the program coverage |
992 | 83846468 | Iustin Pop | test/hs/hpc-htools: HEXTRA_INT=-fhpc |
993 | 25cdf177 | Iustin Pop | |
994 | cefd4a4a | Michele Tartara | # we compile the hpc-mon-collector binary with the program coverage |
995 | 83846468 | Iustin Pop | test/hs/hpc-mon-collector: HEXTRA_INT=-fhpc |
996 | cefd4a4a | Michele Tartara | |
997 | 04d15e63 | Iustin Pop | # test dependency |
998 | 5f5dd119 | Michele Tartara | test/hs/offline-test.sh: test/hs/hpc-htools test/hs/hpc-mon-collector |
999 | 04d15e63 | Iustin Pop | |
1000 | c7ec3025 | Iustin Pop | # rules for building profiling-enabled versions of the haskell |
1001 | c7ec3025 | Iustin Pop | # programs: hs-prof does the full two-step build, whereas |
1002 | c7ec3025 | Iustin Pop | # hs-prof-quick does only the final rebuild (hs-prof must have been |
1003 | c7ec3025 | Iustin Pop | # run before) |
1004 | c7ec3025 | Iustin Pop | .PHONY: hs-prof hs-prof-quick |
1005 | c7ec3025 | Iustin Pop | hs-prof: |
1006 | 675f65b7 | Iustin Pop | @if [ -z "$(TARGET)" ]; then \ |
1007 | 675f65b7 | Iustin Pop | echo "You need to define TARGET when running this rule" 1>&2; \ |
1008 | 675f65b7 | Iustin Pop | exit 1; \ |
1009 | 675f65b7 | Iustin Pop | fi |
1010 | b0b8458a | Iustin Pop | $(MAKE) $(AM_MAKEFLAGS) clean |
1011 | 675f65b7 | Iustin Pop | $(MAKE) $(AM_MAKEFLAGS) $(TARGET) HEXTRA="-osuf o" |
1012 | c7ec3025 | Iustin Pop | rm -f $(HS_ALL_PROGS) |
1013 | b0b8458a | Iustin Pop | $(MAKE) $(AM_MAKEFLAGS) hs-prof-quick |
1014 | c7ec3025 | Iustin Pop | |
1015 | c7ec3025 | Iustin Pop | hs-prof-quick: |
1016 | 675f65b7 | Iustin Pop | @if [ -z "$(TARGET)" ]; then \ |
1017 | 675f65b7 | Iustin Pop | echo "You need to define TARGET when running this rule" 1>&2; \ |
1018 | 675f65b7 | Iustin Pop | exit 1; \ |
1019 | 675f65b7 | Iustin Pop | fi |
1020 | 675f65b7 | Iustin Pop | $(MAKE) $(AM_MAKEFLAGS) $(TARGET) HEXTRA="-osuf prof_o -prof -auto-all" |
1021 | c7ec3025 | Iustin Pop | |
1022 | da7e44ee | Michael Hanselmann | dist_sbin_SCRIPTS = \ |
1023 | da7e44ee | Michael Hanselmann | tools/ganeti-listrunner |
1024 | 4f3d5b76 | Michael Hanselmann | |
1025 | fc3fd894 | Michael Hanselmann | nodist_sbin_SCRIPTS = \ |
1026 | 46118ed2 | Iustin Pop | daemons/ganeti-cleaner |
1027 | fc3fd894 | Michael Hanselmann | |
1028 | 9cf292af | Klaus Aehlig | # strip path prefixes off the sbin scripts |
1029 | 9cf292af | Klaus Aehlig | all_sbin_scripts = \ |
1030 | 9cf292af | Klaus Aehlig | $(patsubst tools/%,%,$(patsubst daemons/%,%,$(patsubst scripts/%,%,\ |
1031 | 9cf292af | Klaus Aehlig | $(patsubst src/%,%,$(dist_sbin_SCRIPTS) $(nodist_sbin_SCRIPTS))))) |
1032 | 9cf292af | Klaus Aehlig | |
1033 | 04520998 | Iustin Pop | if ENABLE_CONFD |
1034 | 3add7574 | Iustin Pop | src/ganeti-confd: src/hconfd |
1035 | b0dcdc10 | Iustin Pop | cp -f $< $@ |
1036 | b0dcdc10 | Iustin Pop | |
1037 | 3695a4e0 | Thomas Thrainer | src/ganeti-luxid: src/hluxid |
1038 | 670e954a | Thomas Thrainer | cp -f $< $@ |
1039 | 670e954a | Thomas Thrainer | |
1040 | 3add7574 | Iustin Pop | nodist_sbin_SCRIPTS += src/ganeti-confd |
1041 | 3695a4e0 | Thomas Thrainer | nodist_sbin_SCRIPTS += src/ganeti-luxid |
1042 | 73b0fa69 | Iustin Pop | endif |
1043 | 73b0fa69 | Iustin Pop | |
1044 | 13cc7b84 | Michele Tartara | if ENABLE_MOND |
1045 | 13cc7b84 | Michele Tartara | nodist_sbin_SCRIPTS += src/ganeti-mond |
1046 | 13cc7b84 | Michele Tartara | endif |
1047 | 13cc7b84 | Michele Tartara | |
1048 | cc120286 | Bernardo Dal Seno | python_scripts = \ |
1049 | e8230860 | Michael Hanselmann | tools/cfgshell \ |
1050 | e8230860 | Michael Hanselmann | tools/cfgupgrade \ |
1051 | b5672ea0 | Iustin Pop | tools/cfgupgrade12 \ |
1052 | 1f7d3f7d | René Nussbaumer | tools/cluster-merge \ |
1053 | 4ef0399b | Iustin Pop | tools/confd-client \ |
1054 | d62cbd3a | Michael Hanselmann | tools/fmtjson \ |
1055 | ea5fd476 | Iustin Pop | tools/lvmstrap \ |
1056 | 6bf273d5 | Michael Hanselmann | tools/move-instance \ |
1057 | ced78a66 | Agata Murawska | tools/ovfconverter \ |
1058 | 8a670753 | Michael Hanselmann | tools/sanitize-config |
1059 | e8230860 | Michael Hanselmann | |
1060 | 61631293 | Stephen Shirley | dist_tools_SCRIPTS = \ |
1061 | cc120286 | Bernardo Dal Seno | $(python_scripts) \ |
1062 | 7ee2098e | Guido Trotter | tools/burnin \ |
1063 | 2f4c951e | Stephen Shirley | tools/kvm-console-wrapper \ |
1064 | dad26941 | Iustin Pop | tools/master-ip-setup \ |
1065 | b9612abb | Iustin Pop | tools/xen-console-wrapper |
1066 | 61631293 | Stephen Shirley | |
1067 | 780060cb | Klaus Aehlig | nodist_tools_python_SCRIPTS = \ |
1068 | d5fe5fa9 | Michael Hanselmann | tools/node-cleanup |
1069 | d5fe5fa9 | Michael Hanselmann | |
1070 | eb875ff1 | Klaus Aehlig | tools_python_basenames = $(patsubst tools/%,%,$(nodist_tools_python_SCRIPTS)) |
1071 | eb875ff1 | Klaus Aehlig | |
1072 | 29386d3e | Michael Hanselmann | nodist_tools_SCRIPTS = \ |
1073 | cdd27f7f | Michele Tartara | tools/users-setup \ |
1074 | 29386d3e | Michael Hanselmann | tools/vcluster-setup |
1075 | 29386d3e | Michael Hanselmann | |
1076 | eb875ff1 | Klaus Aehlig | tools_basenames = $(patsubst tools/%,%,$(nodist_tools_SCRIPTS) $(dist_tools_SCRIPTS)) |
1077 | eb875ff1 | Klaus Aehlig | |
1078 | 2d76b580 | Michael Hanselmann | pkglib_python_scripts = \ |
1079 | c6ccba7e | Michael Hanselmann | daemons/import-export \ |
1080 | c6ccba7e | Michael Hanselmann | tools/check-cert-expired |
1081 | 2d76b580 | Michael Hanselmann | |
1082 | 0d2bf835 | René Nussbaumer | nodist_pkglib_python_scripts = \ |
1083 | d12b9f66 | Michael Hanselmann | tools/ensure-dirs \ |
1084 | 69e5fefc | Michael Hanselmann | tools/node-daemon-setup \ |
1085 | d12b9f66 | Michael Hanselmann | tools/prepare-node-join |
1086 | 0d2bf835 | René Nussbaumer | |
1087 | eb875ff1 | Klaus Aehlig | pkglib_python_basenames = \ |
1088 | eb875ff1 | Klaus Aehlig | $(patsubst daemons/%,%,$(patsubst tools/%,%,\ |
1089 | eb875ff1 | Klaus Aehlig | $(pkglib_python_scripts) $(nodist_pkglib_python_scripts))) |
1090 | eb875ff1 | Klaus Aehlig | |
1091 | b8fe7ca6 | Iustin Pop | myexeclib_SCRIPTS = \ |
1092 | 2d76b580 | Michael Hanselmann | daemons/daemon-util \ |
1093 | 26916aad | Apollon Oikonomopoulos | tools/kvm-ifup \ |
1094 | 4855760b | Dimitris Aragiorgis | tools/vif-ganeti \ |
1095 | 4855760b | Dimitris Aragiorgis | tools/net-common \ |
1096 | 6249f1c2 | Michele Tartara | $(HS_MYEXECLIB_PROGS) |
1097 | f154a7a3 | Michael Hanselmann | |
1098 | eb875ff1 | Klaus Aehlig | # compute the basenames of the myexeclib_scripts |
1099 | eb875ff1 | Klaus Aehlig | myexeclib_scripts_basenames = \ |
1100 | eb875ff1 | Klaus Aehlig | $(patsubst tools/%,%,$(patsubst daemons/%,%,$(patsubst src/%,%,$(myexeclib_SCRIPTS)))) |
1101 | eb0413c6 | Klaus Aehlig | |
1102 | e8230860 | Michael Hanselmann | EXTRA_DIST = \ |
1103 | e8230860 | Michael Hanselmann | NEWS \ |
1104 | 7a03d293 | Michael Hanselmann | UPGRADE \ |
1105 | f774bd03 | Michael Hanselmann | epydoc.conf.in \ |
1106 | 70c771f6 | Michael Hanselmann | pylintrc \ |
1107 | bd39b6bb | Thomas Thrainer | pylintrc-test \ |
1108 | bb46a96c | Michael Hanselmann | autotools/build-bash-completion \ |
1109 | d5a2a550 | Michael Hanselmann | autotools/build-rpc \ |
1110 | 5d3c30df | Michael Hanselmann | autotools/check-header \ |
1111 | f6cbcc06 | Michael Hanselmann | autotools/check-imports \ |
1112 | c55cc346 | Iustin Pop | autotools/check-man-dashes \ |
1113 | 58997abb | Michael Hanselmann | autotools/check-man-references \ |
1114 | 73d0e218 | Iustin Pop | autotools/check-man-warnings \ |
1115 | c81ed2b2 | Michael Hanselmann | autotools/check-news \ |
1116 | dad26941 | Iustin Pop | autotools/check-python-code \ |
1117 | e627fe09 | Michael Hanselmann | autotools/check-tar \ |
1118 | 96602be4 | Michael Hanselmann | autotools/check-version \ |
1119 | d99d1e36 | Iustin Pop | autotools/convert-constants \ |
1120 | 95eb4188 | Michael Hanselmann | autotools/docpp \ |
1121 | 208b02e3 | Iustin Pop | autotools/gen-py-coverage \ |
1122 | 41806ef4 | Michael Hanselmann | autotools/sphinx-wrapper \ |
1123 | df69e0a0 | Bernardo Dal Seno | autotools/testrunner \ |
1124 | 387863a5 | Iustin Pop | autotools/wrong-hardcoded-paths \ |
1125 | f3313af5 | Guido Trotter | $(RUN_IN_TEMPDIR) \ |
1126 | f154a7a3 | Michael Hanselmann | daemons/daemon-util.in \ |
1127 | fc3fd894 | Michael Hanselmann | daemons/ganeti-cleaner.in \ |
1128 | 2d76b580 | Michael Hanselmann | $(pkglib_python_scripts) \ |
1129 | f9435bdc | Iustin Pop | devel/upload \ |
1130 | c46a9ffb | Michael Hanselmann | devel/webserver \ |
1131 | 26916aad | Apollon Oikonomopoulos | tools/kvm-ifup.in \ |
1132 | 4855760b | Dimitris Aragiorgis | tools/vif-ganeti.in \ |
1133 | 4855760b | Dimitris Aragiorgis | tools/net-common.in \ |
1134 | 29386d3e | Michael Hanselmann | tools/vcluster-setup.in \ |
1135 | 7cf58cad | Michael Hanselmann | $(docinput) \ |
1136 | d17e74b4 | Iustin Pop | doc/html \ |
1137 | 656a7fdf | Iustin Pop | $(BUILT_EXAMPLES:%=%.in) \ |
1138 | 752a8ca8 | Michael Hanselmann | doc/examples/ganeti.default \ |
1139 | 752a8ca8 | Michael Hanselmann | doc/examples/ganeti.default-debug \ |
1140 | d6d9ce45 | Guido Trotter | doc/examples/hooks/ethers \ |
1141 | 89c04c2d | Guido Trotter | doc/examples/gnt-debug/README \ |
1142 | 89c04c2d | Guido Trotter | doc/examples/gnt-debug/delay0.json \ |
1143 | 89c04c2d | Guido Trotter | doc/examples/gnt-debug/delay50.json \ |
1144 | d2f465dc | Klaus Aehlig | doc/users/groupmemberships.in \ |
1145 | d2f465dc | Klaus Aehlig | doc/users/groups.in \ |
1146 | d2f465dc | Klaus Aehlig | doc/users/users.in \ |
1147 | e8230860 | Michael Hanselmann | $(dist_TESTS) \ |
1148 | e8230860 | Michael Hanselmann | $(TEST_FILES) \ |
1149 | 3efa7659 | Thomas Thrainer | $(python_test_support) \ |
1150 | 6be8e2bf | Iustin Pop | man/footer.rst \ |
1151 | 6be8e2bf | Iustin Pop | $(manrst) \ |
1152 | f727d134 | Michael Hanselmann | $(maninput) \ |
1153 | 39e0d19e | Michael Hanselmann | qa/qa-sample.json \ |
1154 | d6159933 | Iustin Pop | $(qa_scripts) \ |
1155 | 51309138 | Iustin Pop | $(HS_LIBTEST_SRCS) $(HS_BUILT_SRCS_IN) \ |
1156 | 5a1e31b4 | Iustin Pop | $(HS_PROG_SRCS) \ |
1157 | 3add7574 | Iustin Pop | src/lint-hints.hs \ |
1158 | 83846468 | Iustin Pop | test/hs/cli-tests-defs.sh \ |
1159 | 83846468 | Iustin Pop | test/hs/offline-test.sh \ |
1160 | 7a07475f | Iustin Pop | .ghci |
1161 | e8230860 | Michael Hanselmann | |
1162 | e8230860 | Michael Hanselmann | man_MANS = \ |
1163 | bae7e531 | Michael Hanselmann | man/ganeti-cleaner.8 \ |
1164 | b7b7cda6 | Guido Trotter | man/ganeti-confd.8 \ |
1165 | 3695a4e0 | Thomas Thrainer | man/ganeti-luxid.8 \ |
1166 | da7e44ee | Michael Hanselmann | man/ganeti-listrunner.8 \ |
1167 | 320d986d | Iustin Pop | man/ganeti-masterd.8 \ |
1168 | 13cc7b84 | Michele Tartara | man/ganeti-mond.8 \ |
1169 | e8230860 | Michael Hanselmann | man/ganeti-noded.8 \ |
1170 | e8230860 | Michael Hanselmann | man/ganeti-os-interface.7 \ |
1171 | 95b92c34 | Constantinos Venetsanopoulos | man/ganeti-extstorage-interface.7 \ |
1172 | 320d986d | Iustin Pop | man/ganeti-rapi.8 \ |
1173 | e8230860 | Michael Hanselmann | man/ganeti-watcher.8 \ |
1174 | dad26941 | Iustin Pop | man/ganeti.7 \ |
1175 | e8230860 | Michael Hanselmann | man/gnt-backup.8 \ |
1176 | e8230860 | Michael Hanselmann | man/gnt-cluster.8 \ |
1177 | d3b4cf9f | Iustin Pop | man/gnt-debug.8 \ |
1178 | 667dbd6b | Adeodato Simo | man/gnt-group.8 \ |
1179 | 4e4b6b7a | Apollon Oikonomopoulos | man/gnt-network.8 \ |
1180 | e8230860 | Michael Hanselmann | man/gnt-instance.8 \ |
1181 | d3b4cf9f | Iustin Pop | man/gnt-job.8 \ |
1182 | e8230860 | Michael Hanselmann | man/gnt-node.8 \ |
1183 | 5a19bd35 | Iustin Pop | man/gnt-os.8 \ |
1184 | 95b92c34 | Constantinos Venetsanopoulos | man/gnt-storage.8 \ |
1185 | 5a19bd35 | Iustin Pop | man/hail.1 \ |
1186 | a755f3a0 | Michele Tartara | man/harep.1 \ |
1187 | 5a19bd35 | Iustin Pop | man/hbal.1 \ |
1188 | f18e4168 | Iustin Pop | man/hcheck.1 \ |
1189 | e2bdaf25 | René Nussbaumer | man/hinfo.1 \ |
1190 | 5a19bd35 | Iustin Pop | man/hscan.1 \ |
1191 | d26d808a | Iustin Pop | man/hspace.1 \ |
1192 | 3504d6c8 | Guido Trotter | man/hroller.1 \ |
1193 | 332b1340 | Michele Tartara | man/htools.1 \ |
1194 | 332b1340 | Michele Tartara | man/mon-collector.7 |
1195 | e8230860 | Michael Hanselmann | |
1196 | 5ce58234 | Michael Hanselmann | # Remove extensions from all filenames in man_MANS |
1197 | 5ce58234 | Michael Hanselmann | mannoext = $(patsubst %.1,%,$(patsubst %.7,%,$(patsubst %.8,%,$(man_MANS)))) |
1198 | 5ce58234 | Michael Hanselmann | |
1199 | 5ce58234 | Michael Hanselmann | manrst = $(patsubst %,%.rst,$(mannoext)) |
1200 | 6be8e2bf | Iustin Pop | manhtml = $(patsubst %.rst,%.html,$(manrst)) |
1201 | fcdb582d | Michael Hanselmann | mangen = $(patsubst %.rst,%.gen,$(manrst)) |
1202 | 25c92bc5 | Michael Hanselmann | maninput = \ |
1203 | 5a19bd35 | Iustin Pop | $(patsubst %.1,%.1.in,$(patsubst %.7,%.7.in,$(patsubst %.8,%.8.in,$(man_MANS)))) \ |
1204 | de8eea3e | Iustin Pop | $(patsubst %.html,%.html.in,$(manhtml)) \ |
1205 | 6aff0514 | Iustin Pop | $(mangen) |
1206 | e8230860 | Michael Hanselmann | |
1207 | 9cf292af | Klaus Aehlig | manfullpath = $(patsubst man/%.1,man1/%.1,\ |
1208 | 9cf292af | Klaus Aehlig | $(patsubst man/%.7,man7/%.7,\ |
1209 | 9cf292af | Klaus Aehlig | $(patsubst man/%.8,man8/%.8,$(man_MANS)))) |
1210 | 9cf292af | Klaus Aehlig | |
1211 | e8230860 | Michael Hanselmann | TEST_FILES = \ |
1212 | 00734cae | Michele Tartara | test/autotools/autotools-check-news.test \ |
1213 | 83846468 | Iustin Pop | test/data/htools/clean-nonzero-score.data \ |
1214 | 83846468 | Iustin Pop | test/data/htools/common-suffix.data \ |
1215 | 83846468 | Iustin Pop | test/data/htools/empty-cluster.data \ |
1216 | 83846468 | Iustin Pop | test/data/htools/hail-alloc-drbd.json \ |
1217 | 017160ed | Thomas Thrainer | test/data/htools/hail-alloc-invalid-network.json \ |
1218 | e0d15aae | Klaus Aehlig | test/data/htools/hail-alloc-invalid-twodisks.json \ |
1219 | 017160ed | Thomas Thrainer | test/data/htools/hail-alloc-restricted-network.json \ |
1220 | d7976f54 | Bernardo Dal Seno | test/data/htools/hail-alloc-spindles.json \ |
1221 | e0d15aae | Klaus Aehlig | test/data/htools/hail-alloc-twodisks.json \ |
1222 | 83846468 | Iustin Pop | test/data/htools/hail-change-group.json \ |
1223 | 83846468 | Iustin Pop | test/data/htools/hail-invalid-reloc.json \ |
1224 | 83846468 | Iustin Pop | test/data/htools/hail-node-evac.json \ |
1225 | 83846468 | Iustin Pop | test/data/htools/hail-reloc-drbd.json \ |
1226 | f8d4db63 | Klaus Aehlig | test/data/htools/hbal-dyn.data \ |
1227 | 83846468 | Iustin Pop | test/data/htools/hbal-excl-tags.data \ |
1228 | 83846468 | Iustin Pop | test/data/htools/hbal-split-insts.data \ |
1229 | a93e5814 | Bernardo Dal Seno | test/data/htools/hspace-tiered-dualspec-exclusive.data \ |
1230 | 8abeb641 | Bernardo Dal Seno | test/data/htools/hspace-tiered-dualspec.data \ |
1231 | a93e5814 | Bernardo Dal Seno | test/data/htools/hspace-tiered-exclusive.data \ |
1232 | 6b502fa3 | Klaus Aehlig | test/data/htools/hspace-tiered-ipolicy.data \ |
1233 | a93e5814 | Bernardo Dal Seno | test/data/htools/hspace-tiered-mixed.data \ |
1234 | f624a8eb | Klaus Aehlig | test/data/htools/hspace-tiered-resourcetypes.data \ |
1235 | d90b69f6 | Bernardo Dal Seno | test/data/htools/hspace-tiered-vcpu.data \ |
1236 | 8abeb641 | Bernardo Dal Seno | test/data/htools/hspace-tiered.data \ |
1237 | 83846468 | Iustin Pop | test/data/htools/invalid-node.data \ |
1238 | 83846468 | Iustin Pop | test/data/htools/missing-resources.data \ |
1239 | 754b9b1c | Klaus Aehlig | test/data/htools/multiple-master.data \ |
1240 | 62441832 | Klaus Aehlig | test/data/htools/multiple-tags.data \ |
1241 | 83846468 | Iustin Pop | test/data/htools/n1-failure.data \ |
1242 | 83846468 | Iustin Pop | test/data/htools/rapi/groups.json \ |
1243 | 83846468 | Iustin Pop | test/data/htools/rapi/info.json \ |
1244 | 83846468 | Iustin Pop | test/data/htools/rapi/instances.json \ |
1245 | 83846468 | Iustin Pop | test/data/htools/rapi/nodes.json \ |
1246 | ed74dde5 | Klaus Aehlig | test/data/htools/hroller-full.data \ |
1247 | dd0b06d0 | Klaus Aehlig | test/data/htools/hroller-nodegroups.data \ |
1248 | 8840de6f | Klaus Aehlig | test/data/htools/hroller-nonredundant.data \ |
1249 | 2a1737eb | Klaus Aehlig | test/data/htools/hroller-online.data \ |
1250 | 754b9b1c | Klaus Aehlig | test/data/htools/unique-reboot-order.data \ |
1251 | 83846468 | Iustin Pop | test/hs/shelltests/htools-balancing.test \ |
1252 | 83846468 | Iustin Pop | test/hs/shelltests/htools-basic.test \ |
1253 | 83846468 | Iustin Pop | test/hs/shelltests/htools-dynutil.test \ |
1254 | 83846468 | Iustin Pop | test/hs/shelltests/htools-excl.test \ |
1255 | 83846468 | Iustin Pop | test/hs/shelltests/htools-hail.test \ |
1256 | 754b9b1c | Klaus Aehlig | test/hs/shelltests/htools-hroller.test \ |
1257 | 83846468 | Iustin Pop | test/hs/shelltests/htools-hspace.test \ |
1258 | 83846468 | Iustin Pop | test/hs/shelltests/htools-invalid.test \ |
1259 | 83846468 | Iustin Pop | test/hs/shelltests/htools-multi-group.test \ |
1260 | 83846468 | Iustin Pop | test/hs/shelltests/htools-no-backend.test \ |
1261 | 83846468 | Iustin Pop | test/hs/shelltests/htools-rapi.test \ |
1262 | 83846468 | Iustin Pop | test/hs/shelltests/htools-single-group.test \ |
1263 | 83846468 | Iustin Pop | test/hs/shelltests/htools-text-backend.test \ |
1264 | 83846468 | Iustin Pop | test/hs/shelltests/htools-mon-collector.test \ |
1265 | 5a672c30 | Manuel Franceschini | test/data/bdev-drbd-8.0.txt \ |
1266 | 5a672c30 | Manuel Franceschini | test/data/bdev-drbd-8.3.txt \ |
1267 | 5520d04d | Thomas Thrainer | test/data/bdev-drbd-8.4.txt \ |
1268 | 8520f4b9 | Thomas Thrainer | test/data/bdev-drbd-8.4-no-disk-params.txt \ |
1269 | 5a672c30 | Manuel Franceschini | test/data/bdev-drbd-disk.txt \ |
1270 | 5a672c30 | Manuel Franceschini | test/data/bdev-drbd-net-ip4.txt \ |
1271 | 5a672c30 | Manuel Franceschini | test/data/bdev-drbd-net-ip6.txt \ |
1272 | 2e076ede | Stratos Psomadakis | test/data/bdev-rbd/json_output_empty.txt \ |
1273 | 2e076ede | Stratos Psomadakis | test/data/bdev-rbd/json_output_extra_matches.txt \ |
1274 | 2e076ede | Stratos Psomadakis | test/data/bdev-rbd/json_output_no_matches.txt \ |
1275 | 2e076ede | Stratos Psomadakis | test/data/bdev-rbd/json_output_ok.txt \ |
1276 | 2e076ede | Stratos Psomadakis | test/data/bdev-rbd/plain_output_new_extra_matches.txt \ |
1277 | 2e076ede | Stratos Psomadakis | test/data/bdev-rbd/plain_output_new_no_matches.txt \ |
1278 | 2e076ede | Stratos Psomadakis | test/data/bdev-rbd/plain_output_new_ok.txt \ |
1279 | 2e076ede | Stratos Psomadakis | test/data/bdev-rbd/plain_output_old_empty.txt \ |
1280 | 2e076ede | Stratos Psomadakis | test/data/bdev-rbd/plain_output_old_extra_matches.txt \ |
1281 | 2e076ede | Stratos Psomadakis | test/data/bdev-rbd/plain_output_old_no_matches.txt \ |
1282 | 2e076ede | Stratos Psomadakis | test/data/bdev-rbd/plain_output_old_ok.txt \ |
1283 | 2e076ede | Stratos Psomadakis | test/data/bdev-rbd/output_invalid.txt \ |
1284 | 27e46076 | Michael Hanselmann | test/data/cert1.pem \ |
1285 | d12b9f66 | Michael Hanselmann | test/data/cert2.pem \ |
1286 | cd315ad9 | Bernardo Dal Seno | test/data/cluster_config_2.7.json \ |
1287 | c294f84e | Bernardo Dal Seno | test/data/cluster_config_2.8.json \ |
1288 | bcab7a50 | Michele Tartara | test/data/cluster_config_2.9.json \ |
1289 | d78970ba | Michele Tartara | test/data/instance-minor-pairing.txt \ |
1290 | 820ca72d | Michele Tartara | test/data/instance-prim-sec.txt \ |
1291 | e5d1d1b5 | Andrea Spadaccini | test/data/ip-addr-show-dummy0.txt \ |
1292 | e5d1d1b5 | Andrea Spadaccini | test/data/ip-addr-show-lo-ipv4.txt \ |
1293 | e5d1d1b5 | Andrea Spadaccini | test/data/ip-addr-show-lo-ipv6.txt \ |
1294 | e5d1d1b5 | Andrea Spadaccini | test/data/ip-addr-show-lo-oneline-ipv4.txt \ |
1295 | e5d1d1b5 | Andrea Spadaccini | test/data/ip-addr-show-lo-oneline-ipv6.txt \ |
1296 | e5d1d1b5 | Andrea Spadaccini | test/data/ip-addr-show-lo-oneline.txt \ |
1297 | e5d1d1b5 | Andrea Spadaccini | test/data/ip-addr-show-lo.txt \ |
1298 | 585c8187 | Guido Trotter | test/data/kvm_0.12.5_help.txt \ |
1299 | dad26941 | Iustin Pop | test/data/kvm_0.15.90_help.txt \ |
1300 | 585c8187 | Guido Trotter | test/data/kvm_0.9.1_help.txt \ |
1301 | eb7a6965 | Guido Trotter | test/data/kvm_0.9.1_help_boot_test.txt \ |
1302 | dad26941 | Iustin Pop | test/data/kvm_1.0_help.txt \ |
1303 | eb7a6965 | Guido Trotter | test/data/kvm_1.1.2_help.txt \ |
1304 | 0cf8edad | Michele Tartara | test/data/lvs_lv.txt \ |
1305 | 00734cae | Michele Tartara | test/data/NEWS_OK.txt \ |
1306 | 00734cae | Michele Tartara | test/data/NEWS_previous_unreleased.txt \ |
1307 | 1e6fab60 | Agata Murawska | test/data/ovfdata/compr_disk.vmdk.gz \ |
1308 | d92518d3 | Agata Murawska | test/data/ovfdata/config.ini \ |
1309 | 1e6fab60 | Agata Murawska | test/data/ovfdata/corrupted_resources.ovf \ |
1310 | d92518d3 | Agata Murawska | test/data/ovfdata/empty.ini \ |
1311 | 1e6fab60 | Agata Murawska | test/data/ovfdata/empty.ovf \ |
1312 | 1e6fab60 | Agata Murawska | test/data/ovfdata/ganeti.mf \ |
1313 | 1e6fab60 | Agata Murawska | test/data/ovfdata/ganeti.ovf \ |
1314 | 1e6fab60 | Agata Murawska | test/data/ovfdata/gzip_disk.ovf \ |
1315 | 1e6fab60 | Agata Murawska | test/data/ovfdata/new_disk.vmdk \ |
1316 | d92518d3 | Agata Murawska | test/data/ovfdata/no_disk.ini \ |
1317 | 1e6fab60 | Agata Murawska | test/data/ovfdata/no_disk_in_ref.ovf \ |
1318 | d92518d3 | Agata Murawska | test/data/ovfdata/no_os.ini \ |
1319 | 1e6fab60 | Agata Murawska | test/data/ovfdata/no_ovf.ova \ |
1320 | dad26941 | Iustin Pop | test/data/ovfdata/other/rawdisk.raw \ |
1321 | 1e6fab60 | Agata Murawska | test/data/ovfdata/ova.ova \ |
1322 | d92518d3 | Agata Murawska | test/data/ovfdata/rawdisk.raw \ |
1323 | dad26941 | Iustin Pop | test/data/ovfdata/second_disk.vmdk \ |
1324 | d92518d3 | Agata Murawska | test/data/ovfdata/unsafe_path.ini \ |
1325 | 1e6fab60 | Agata Murawska | test/data/ovfdata/virtualbox.ovf \ |
1326 | d92518d3 | Agata Murawska | test/data/ovfdata/wrong_config.ini \ |
1327 | dad26941 | Iustin Pop | test/data/ovfdata/wrong_extension.ovd \ |
1328 | 1e6fab60 | Agata Murawska | test/data/ovfdata/wrong_manifest.mf \ |
1329 | 1e6fab60 | Agata Murawska | test/data/ovfdata/wrong_manifest.ovf \ |
1330 | 1e6fab60 | Agata Murawska | test/data/ovfdata/wrong_ova.ova \ |
1331 | 1e6fab60 | Agata Murawska | test/data/ovfdata/wrong_xml.ovf \ |
1332 | 3ed5cd7e | Michele Tartara | test/data/proc_diskstats.txt \ |
1333 | dad26941 | Iustin Pop | test/data/proc_drbd8.txt \ |
1334 | dad26941 | Iustin Pop | test/data/proc_drbd80-emptyline.txt \ |
1335 | d41efc42 | Thomas Thrainer | test/data/proc_drbd80-emptyversion.txt \ |
1336 | dad26941 | Iustin Pop | test/data/proc_drbd83.txt \ |
1337 | dad26941 | Iustin Pop | test/data/proc_drbd83_sync.txt \ |
1338 | a52f8e72 | Michele Tartara | test/data/proc_drbd83_sync_want.txt \ |
1339 | dad26941 | Iustin Pop | test/data/proc_drbd83_sync_krnl2.6.39.txt \ |
1340 | efa6dd08 | Thomas Thrainer | test/data/proc_drbd84.txt \ |
1341 | efa6dd08 | Thomas Thrainer | test/data/proc_drbd84_sync.txt \ |
1342 | 902eb29f | Michele Tartara | test/data/proc_meminfo.txt \ |
1343 | 902eb29f | Michele Tartara | test/data/proc_cpuinfo.txt \ |
1344 | a08e181f | Michael Hanselmann | test/data/qa-minimal-nodes-instances-only.json \ |
1345 | dad26941 | Iustin Pop | test/data/sys_drbd_usermode_helper.txt \ |
1346 | 1a1e7ab3 | Iustin Pop | test/data/vgreduce-removemissing-2.02.02.txt \ |
1347 | 1a1e7ab3 | Iustin Pop | test/data/vgreduce-removemissing-2.02.66-fail.txt \ |
1348 | 1a1e7ab3 | Iustin Pop | test/data/vgreduce-removemissing-2.02.66-ok.txt \ |
1349 | 1a1e7ab3 | Iustin Pop | test/data/vgs-missing-pvs-2.02.02.txt \ |
1350 | 1a1e7ab3 | Iustin Pop | test/data/vgs-missing-pvs-2.02.66.txt \ |
1351 | 06c9a520 | Michael Hanselmann | test/data/xen-xm-info-4.0.1.txt \ |
1352 | b255379d | Michael Hanselmann | test/data/xen-xm-list-4.0.1-dom0-only.txt \ |
1353 | b255379d | Michael Hanselmann | test/data/xen-xm-list-4.0.1-four-instances.txt \ |
1354 | b8585908 | Michele Tartara | test/data/xen-xm-list-long-4.0.1.txt \ |
1355 | c5a957c3 | Michele Tartara | test/data/xen-xm-uptime-4.0.1.txt \ |
1356 | 90066780 | Iustin Pop | test/py/ganeti-cli.test \ |
1357 | 90066780 | Iustin Pop | test/py/gnt-cli.test \ |
1358 | 90066780 | Iustin Pop | test/py/import-export_unittest-helper |
1359 | e8230860 | Michael Hanselmann | |
1360 | 00734cae | Michele Tartara | |
1361 | e8c8cf1a | Michael Hanselmann | python_tests = \ |
1362 | 3ade0e0e | Michael Hanselmann | doc/examples/rapi_testutils.py \ |
1363 | 19830e88 | Thomas Thrainer | test/py/cmdlib/cluster_unittest.py \ |
1364 | 1fa88aa6 | Thomas Thrainer | test/py/cmdlib/cmdlib_unittest.py \ |
1365 | 66222813 | Thomas Thrainer | test/py/cmdlib/group_unittest.py \ |
1366 | 66222813 | Thomas Thrainer | test/py/cmdlib/instance_unittest.py \ |
1367 | d1b2ffe8 | Thomas Thrainer | test/py/cmdlib/instance_migration_unittest.py \ |
1368 | 2f3230f6 | Thomas Thrainer | test/py/cmdlib/instance_query_unittest.py \ |
1369 | 1fa88aa6 | Thomas Thrainer | test/py/cmdlib/instance_storage_unittest.py \ |
1370 | 55ba3ad6 | Sebastian Gebhard | test/py/cmdlib/node_unittest.py \ |
1371 | 66222813 | Thomas Thrainer | test/py/cmdlib/test_unittest.py \ |
1372 | 90066780 | Iustin Pop | test/py/cfgupgrade_unittest.py \ |
1373 | 90066780 | Iustin Pop | test/py/docs_unittest.py \ |
1374 | 90066780 | Iustin Pop | test/py/ganeti.asyncnotifier_unittest.py \ |
1375 | 90066780 | Iustin Pop | test/py/ganeti.backend_unittest-runasroot.py \ |
1376 | 90066780 | Iustin Pop | test/py/ganeti.backend_unittest.py \ |
1377 | 5030cff3 | Helga Velroyen | test/py/ganeti.bootstrap_unittest.py \ |
1378 | 90066780 | Iustin Pop | test/py/ganeti.cli_unittest.py \ |
1379 | 90066780 | Iustin Pop | test/py/ganeti.client.gnt_cluster_unittest.py \ |
1380 | 90066780 | Iustin Pop | test/py/ganeti.client.gnt_instance_unittest.py \ |
1381 | 90066780 | Iustin Pop | test/py/ganeti.client.gnt_job_unittest.py \ |
1382 | 90066780 | Iustin Pop | test/py/ganeti.compat_unittest.py \ |
1383 | 90066780 | Iustin Pop | test/py/ganeti.confd.client_unittest.py \ |
1384 | 90066780 | Iustin Pop | test/py/ganeti.config_unittest.py \ |
1385 | 90066780 | Iustin Pop | test/py/ganeti.constants_unittest.py \ |
1386 | 90066780 | Iustin Pop | test/py/ganeti.daemon_unittest.py \ |
1387 | 90066780 | Iustin Pop | test/py/ganeti.errors_unittest.py \ |
1388 | 90066780 | Iustin Pop | test/py/ganeti.hooks_unittest.py \ |
1389 | 90066780 | Iustin Pop | test/py/ganeti.ht_unittest.py \ |
1390 | 90066780 | Iustin Pop | test/py/ganeti.http_unittest.py \ |
1391 | 90066780 | Iustin Pop | test/py/ganeti.hypervisor.hv_chroot_unittest.py \ |
1392 | 90066780 | Iustin Pop | test/py/ganeti.hypervisor.hv_fake_unittest.py \ |
1393 | 90066780 | Iustin Pop | test/py/ganeti.hypervisor.hv_kvm_unittest.py \ |
1394 | 90066780 | Iustin Pop | test/py/ganeti.hypervisor.hv_lxc_unittest.py \ |
1395 | 90066780 | Iustin Pop | test/py/ganeti.hypervisor.hv_xen_unittest.py \ |
1396 | 90066780 | Iustin Pop | test/py/ganeti.hypervisor_unittest.py \ |
1397 | 90066780 | Iustin Pop | test/py/ganeti.impexpd_unittest.py \ |
1398 | 90066780 | Iustin Pop | test/py/ganeti.jqueue_unittest.py \ |
1399 | 90066780 | Iustin Pop | test/py/ganeti.jstore_unittest.py \ |
1400 | 90066780 | Iustin Pop | test/py/ganeti.locking_unittest.py \ |
1401 | 90066780 | Iustin Pop | test/py/ganeti.luxi_unittest.py \ |
1402 | 90066780 | Iustin Pop | test/py/ganeti.masterd.iallocator_unittest.py \ |
1403 | 90066780 | Iustin Pop | test/py/ganeti.masterd.instance_unittest.py \ |
1404 | 90066780 | Iustin Pop | test/py/ganeti.mcpu_unittest.py \ |
1405 | 90066780 | Iustin Pop | test/py/ganeti.netutils_unittest.py \ |
1406 | 90066780 | Iustin Pop | test/py/ganeti.objects_unittest.py \ |
1407 | 90066780 | Iustin Pop | test/py/ganeti.opcodes_unittest.py \ |
1408 | 473d87a3 | Iustin Pop | test/py/ganeti.outils_unittest.py \ |
1409 | 90066780 | Iustin Pop | test/py/ganeti.ovf_unittest.py \ |
1410 | 90066780 | Iustin Pop | test/py/ganeti.qlang_unittest.py \ |
1411 | 90066780 | Iustin Pop | test/py/ganeti.query_unittest.py \ |
1412 | 90066780 | Iustin Pop | test/py/ganeti.rapi.baserlib_unittest.py \ |
1413 | 90066780 | Iustin Pop | test/py/ganeti.rapi.client_unittest.py \ |
1414 | 90066780 | Iustin Pop | test/py/ganeti.rapi.resources_unittest.py \ |
1415 | 90066780 | Iustin Pop | test/py/ganeti.rapi.rlib2_unittest.py \ |
1416 | 90066780 | Iustin Pop | test/py/ganeti.rapi.testutils_unittest.py \ |
1417 | 90066780 | Iustin Pop | test/py/ganeti.rpc_unittest.py \ |
1418 | 90066780 | Iustin Pop | test/py/ganeti.runtime_unittest.py \ |
1419 | 90066780 | Iustin Pop | test/py/ganeti.serializer_unittest.py \ |
1420 | 90066780 | Iustin Pop | test/py/ganeti.server.rapi_unittest.py \ |
1421 | 90066780 | Iustin Pop | test/py/ganeti.ssconf_unittest.py \ |
1422 | 90066780 | Iustin Pop | test/py/ganeti.ssh_unittest.py \ |
1423 | f08b1a00 | Helga Velroyen | test/py/ganeti.storage.bdev_unittest.py \ |
1424 | f08b1a00 | Helga Velroyen | test/py/ganeti.storage.container_unittest.py \ |
1425 | f08b1a00 | Helga Velroyen | test/py/ganeti.storage.drbd_unittest.py \ |
1426 | 820bade9 | Helga Velroyen | test/py/ganeti.storage.filestorage_unittest.py \ |
1427 | 43a840a3 | Michael Hanselmann | test/py/ganeti.tools.burnin_unittest.py \ |
1428 | 90066780 | Iustin Pop | test/py/ganeti.tools.ensure_dirs_unittest.py \ |
1429 | 90066780 | Iustin Pop | test/py/ganeti.tools.node_daemon_setup_unittest.py \ |
1430 | 90066780 | Iustin Pop | test/py/ganeti.tools.prepare_node_join_unittest.py \ |
1431 | 90066780 | Iustin Pop | test/py/ganeti.uidpool_unittest.py \ |
1432 | 90066780 | Iustin Pop | test/py/ganeti.utils.algo_unittest.py \ |
1433 | 90066780 | Iustin Pop | test/py/ganeti.utils.filelock_unittest.py \ |
1434 | 90066780 | Iustin Pop | test/py/ganeti.utils.hash_unittest.py \ |
1435 | 90066780 | Iustin Pop | test/py/ganeti.utils.io_unittest-runasroot.py \ |
1436 | 90066780 | Iustin Pop | test/py/ganeti.utils.io_unittest.py \ |
1437 | 90066780 | Iustin Pop | test/py/ganeti.utils.log_unittest.py \ |
1438 | 23d95cff | Bernardo Dal Seno | test/py/ganeti.utils.lvm_unittest.py \ |
1439 | 90066780 | Iustin Pop | test/py/ganeti.utils.mlock_unittest.py \ |
1440 | 90066780 | Iustin Pop | test/py/ganeti.utils.nodesetup_unittest.py \ |
1441 | 90066780 | Iustin Pop | test/py/ganeti.utils.process_unittest.py \ |
1442 | 90066780 | Iustin Pop | test/py/ganeti.utils.retry_unittest.py \ |
1443 | 683335b3 | Helga Velroyen | test/py/ganeti.utils.storage_unittest.py \ |
1444 | 90066780 | Iustin Pop | test/py/ganeti.utils.text_unittest.py \ |
1445 | 90066780 | Iustin Pop | test/py/ganeti.utils.wrapper_unittest.py \ |
1446 | 90066780 | Iustin Pop | test/py/ganeti.utils.x509_unittest.py \ |
1447 | 90066780 | Iustin Pop | test/py/ganeti.utils_unittest.py \ |
1448 | 90066780 | Iustin Pop | test/py/ganeti.vcluster_unittest.py \ |
1449 | 90066780 | Iustin Pop | test/py/ganeti.workerpool_unittest.py \ |
1450 | 90066780 | Iustin Pop | test/py/pycurl_reset_unittest.py \ |
1451 | 90066780 | Iustin Pop | test/py/qa.qa_config_unittest.py \ |
1452 | 90066780 | Iustin Pop | test/py/tempfile_fork_unittest.py |
1453 | e8230860 | Michael Hanselmann | |
1454 | 3efa7659 | Thomas Thrainer | python_test_support = \ |
1455 | 3efa7659 | Thomas Thrainer | test/py/__init__.py \ |
1456 | 3efa7659 | Thomas Thrainer | test/py/lockperf.py \ |
1457 | 3efa7659 | Thomas Thrainer | test/py/testutils.py \ |
1458 | 3efa7659 | Thomas Thrainer | test/py/mocks.py \ |
1459 | 3efa7659 | Thomas Thrainer | test/py/cmdlib/__init__.py \ |
1460 | 3efa7659 | Thomas Thrainer | test/py/cmdlib/testsupport/__init__.py \ |
1461 | 3efa7659 | Thomas Thrainer | test/py/cmdlib/testsupport/cmdlib_testcase.py \ |
1462 | 3efa7659 | Thomas Thrainer | test/py/cmdlib/testsupport/config_mock.py \ |
1463 | 3efa7659 | Thomas Thrainer | test/py/cmdlib/testsupport/iallocator_mock.py \ |
1464 | 3efa7659 | Thomas Thrainer | test/py/cmdlib/testsupport/lock_manager_mock.py \ |
1465 | 08cef8fc | Thomas Thrainer | test/py/cmdlib/testsupport/netutils_mock.py \ |
1466 | 3efa7659 | Thomas Thrainer | test/py/cmdlib/testsupport/processor_mock.py \ |
1467 | 08cef8fc | Thomas Thrainer | test/py/cmdlib/testsupport/rpc_runner_mock.py \ |
1468 | 08cef8fc | Thomas Thrainer | test/py/cmdlib/testsupport/ssh_mock.py \ |
1469 | 08cef8fc | Thomas Thrainer | test/py/cmdlib/testsupport/util.py |
1470 | 3efa7659 | Thomas Thrainer | |
1471 | 3e16567e | Iustin Pop | haskell_tests = test/hs/htest |
1472 | b91e9518 | Iustin Pop | |
1473 | e8c8cf1a | Michael Hanselmann | dist_TESTS = \ |
1474 | 90066780 | Iustin Pop | test/py/check-cert-expired_unittest.bash \ |
1475 | 90066780 | Iustin Pop | test/py/daemon-util_unittest.bash \ |
1476 | 90066780 | Iustin Pop | test/py/ganeti-cleaner_unittest.bash \ |
1477 | 90066780 | Iustin Pop | test/py/import-export_unittest.bash \ |
1478 | 90066780 | Iustin Pop | test/py/cli-test.bash \ |
1479 | e03e445c | Michele Tartara | test/py/bash_completion.bash |
1480 | e03e445c | Michele Tartara | |
1481 | d14d93b0 | Helga Velroyen | if PY_UNIT |
1482 | d14d93b0 | Helga Velroyen | dist_TESTS += $(python_tests) |
1483 | e03e445c | Michele Tartara | endif |
1484 | e8c8cf1a | Michael Hanselmann | |
1485 | e8230860 | Michael Hanselmann | nodist_TESTS = |
1486 | d3cd5a3f | Iustin Pop | check_SCRIPTS = |
1487 | d3cd5a3f | Iustin Pop | |
1488 | d9a900dc | Iustin Pop | if WANT_HSTESTS |
1489 | b91e9518 | Iustin Pop | nodist_TESTS += $(haskell_tests) |
1490 | 83846468 | Iustin Pop | dist_TESTS += test/hs/offline-test.sh |
1491 | cefd4a4a | Michele Tartara | check_SCRIPTS += \ |
1492 | 83846468 | Iustin Pop | test/hs/hpc-htools \ |
1493 | 83846468 | Iustin Pop | test/hs/hpc-mon-collector \ |
1494 | cefd4a4a | Michele Tartara | $(HS_BUILT_TEST_HELPERS) |
1495 | b91e9518 | Iustin Pop | endif |
1496 | e8230860 | Michael Hanselmann | |
1497 | e8230860 | Michael Hanselmann | TESTS = $(dist_TESTS) $(nodist_TESTS) |
1498 | e8230860 | Michael Hanselmann | |
1499 | 27e336af | Michael Hanselmann | # Environment for all tests |
1500 | 27e336af | Michael Hanselmann | PLAIN_TESTS_ENVIRONMENT = \ |
1501 | 3efa7659 | Thomas Thrainer | PYTHONPATH=.:./test/py \ |
1502 | 30f2802f | Iustin Pop | TOP_SRCDIR=$(abs_top_srcdir) TOP_BUILDDIR=$(abs_top_builddir) \ |
1503 | 30f2802f | Iustin Pop | PYTHON=$(PYTHON) FAKEROOT=$(FAKEROOT_PATH) \ |
1504 | 30f2802f | Iustin Pop | $(RUN_IN_TEMPDIR) |
1505 | 27e336af | Michael Hanselmann | |
1506 | 27e336af | Michael Hanselmann | # Environment for tests run by automake |
1507 | f848ac00 | Michael Hanselmann | TESTS_ENVIRONMENT = \ |
1508 | e8c8cf1a | Michael Hanselmann | $(PLAIN_TESTS_ENVIRONMENT) $(abs_top_srcdir)/autotools/testrunner |
1509 | 6e06b36c | Iustin Pop | |
1510 | eed5c5df | Michael Hanselmann | all_python_code = \ |
1511 | 01a3a718 | Michael Hanselmann | $(dist_sbin_SCRIPTS) \ |
1512 | cc120286 | Bernardo Dal Seno | $(python_scripts) \ |
1513 | 2d76b580 | Michael Hanselmann | $(pkglib_python_scripts) \ |
1514 | 0d2bf835 | René Nussbaumer | $(nodist_pkglib_python_scripts) \ |
1515 | d5fe5fa9 | Michael Hanselmann | $(nodist_tools_python_scripts) \ |
1516 | 01a3a718 | Michael Hanselmann | $(pkgpython_PYTHON) \ |
1517 | 2d48a3a2 | Michael Hanselmann | $(client_PYTHON) \ |
1518 | 1da489e2 | Guido Trotter | $(cmdlib_PYTHON) \ |
1519 | 01a3a718 | Michael Hanselmann | $(hypervisor_PYTHON) \ |
1520 | cde49218 | Helga Velroyen | $(storage_PYTHON) \ |
1521 | 01a3a718 | Michael Hanselmann | $(rapi_PYTHON) \ |
1522 | 899c4d2c | Michael Hanselmann | $(server_PYTHON) \ |
1523 | 0d2bf835 | René Nussbaumer | $(pytools_PYTHON) \ |
1524 | 01a3a718 | Michael Hanselmann | $(http_PYTHON) \ |
1525 | 01a3a718 | Michael Hanselmann | $(confd_PYTHON) \ |
1526 | dc101ecc | Michael Hanselmann | $(masterd_PYTHON) \ |
1527 | bb44b1ae | Michael Hanselmann | $(impexpd_PYTHON) \ |
1528 | c047a981 | Michael Hanselmann | $(utils_PYTHON) \ |
1529 | 9f4bb951 | Michael Hanselmann | $(watcher_PYTHON) \ |
1530 | a8c68e44 | Michael Hanselmann | $(noinst_PYTHON) \ |
1531 | a8c68e44 | Michael Hanselmann | $(qa_scripts) |
1532 | 01a3a718 | Michael Hanselmann | |
1533 | d14d93b0 | Helga Velroyen | if PY_UNIT |
1534 | d14d93b0 | Helga Velroyen | all_python_code += $(python_tests) |
1535 | 3efa7659 | Thomas Thrainer | all_python_code += $(python_test_support) |
1536 | e03e445c | Michele Tartara | endif |
1537 | e03e445c | Michele Tartara | |
1538 | eed5c5df | Michael Hanselmann | srclink_files = \ |
1539 | 6be8e2bf | Iustin Pop | man/footer.rst \ |
1540 | 90066780 | Iustin Pop | test/py/check-cert-expired_unittest.bash \ |
1541 | 90066780 | Iustin Pop | test/py/daemon-util_unittest.bash \ |
1542 | 90066780 | Iustin Pop | test/py/ganeti-cleaner_unittest.bash \ |
1543 | 90066780 | Iustin Pop | test/py/import-export_unittest.bash \ |
1544 | 90066780 | Iustin Pop | test/py/cli-test.bash \ |
1545 | 90066780 | Iustin Pop | test/py/bash_completion.bash \ |
1546 | 83846468 | Iustin Pop | test/hs/offline-test.sh \ |
1547 | 83846468 | Iustin Pop | test/hs/cli-tests-defs.sh \ |
1548 | d6159933 | Iustin Pop | $(all_python_code) \ |
1549 | 7cf58cad | Michael Hanselmann | $(HS_LIBTEST_SRCS) $(HS_PROG_SRCS) \ |
1550 | 7cf58cad | Michael Hanselmann | $(docinput) |
1551 | eed5c5df | Michael Hanselmann | |
1552 | eed5c5df | Michael Hanselmann | check_python_code = \ |
1553 | e4e7c7df | Michael Hanselmann | $(BUILD_BASH_COMPLETION) \ |
1554 | f6cbcc06 | Michael Hanselmann | $(CHECK_IMPORTS) \ |
1555 | 5d3c30df | Michael Hanselmann | $(CHECK_HEADER) \ |
1556 | 95eb4188 | Michael Hanselmann | $(DOCPP) \ |
1557 | eed5c5df | Michael Hanselmann | $(all_python_code) |
1558 | eed5c5df | Michael Hanselmann | |
1559 | e4e7c7df | Michael Hanselmann | lint_python_code = \ |
1560 | f60d352e | Michael Hanselmann | ganeti \ |
1561 | f1763373 | Iustin Pop | ganeti/http/server.py \ |
1562 | f60d352e | Michael Hanselmann | $(dist_sbin_SCRIPTS) \ |
1563 | cc120286 | Bernardo Dal Seno | $(python_scripts) \ |
1564 | 2d76b580 | Michael Hanselmann | $(pkglib_python_scripts) \ |
1565 | 2cc8bdd0 | Michael Hanselmann | $(BUILD_BASH_COMPLETION) \ |
1566 | f6cbcc06 | Michael Hanselmann | $(CHECK_IMPORTS) \ |
1567 | 5d3c30df | Michael Hanselmann | $(CHECK_HEADER) \ |
1568 | 95eb4188 | Michael Hanselmann | $(DOCPP) \ |
1569 | 780060cb | Klaus Aehlig | $(gnt_python_sbin_SCRIPTS) \ |
1570 | 2cc8bdd0 | Michael Hanselmann | $(PYTHON_BOOTSTRAP) |
1571 | eed5c5df | Michael Hanselmann | |
1572 | f6cbcc06 | Michael Hanselmann | standalone_python_modules = \ |
1573 | f6cbcc06 | Michael Hanselmann | lib/rapi/client.py \ |
1574 | f6cbcc06 | Michael Hanselmann | tools/ganeti-listrunner |
1575 | f6cbcc06 | Michael Hanselmann | |
1576 | 21bf2e2e | Andrea Spadaccini | pep8_python_code = \ |
1577 | 21bf2e2e | Andrea Spadaccini | ganeti \ |
1578 | 21bf2e2e | Andrea Spadaccini | ganeti/http/server.py \ |
1579 | 21bf2e2e | Andrea Spadaccini | $(dist_sbin_SCRIPTS) \ |
1580 | cc120286 | Bernardo Dal Seno | $(python_scripts) \ |
1581 | 21bf2e2e | Andrea Spadaccini | $(pkglib_python_scripts) \ |
1582 | 21bf2e2e | Andrea Spadaccini | $(BUILD_BASH_COMPLETION) \ |
1583 | 5d3c30df | Michael Hanselmann | $(CHECK_HEADER) \ |
1584 | 21bf2e2e | Andrea Spadaccini | $(DOCPP) \ |
1585 | 21bf2e2e | Andrea Spadaccini | $(PYTHON_BOOTSTRAP) \ |
1586 | 780060cb | Klaus Aehlig | $(gnt_python_sbin_SCRIPTS) \ |
1587 | bd39b6bb | Thomas Thrainer | qa \ |
1588 | bd39b6bb | Thomas Thrainer | $(python_test_support) |
1589 | 21bf2e2e | Andrea Spadaccini | |
1590 | 90066780 | Iustin Pop | test/py/daemon-util_unittest.bash: daemons/daemon-util |
1591 | 571b34f8 | Michael Hanselmann | |
1592 | 90066780 | Iustin Pop | test/py/ganeti-cleaner_unittest.bash: daemons/ganeti-cleaner |
1593 | 7172f605 | Michael Hanselmann | |
1594 | 90066780 | Iustin Pop | test/py/bash_completion.bash: doc/examples/bash_completion-debug |
1595 | 92886204 | Michael Hanselmann | |
1596 | 26916aad | Apollon Oikonomopoulos | tools/kvm-ifup: tools/kvm-ifup.in $(REPLACE_VARS_SED) |
1597 | 26916aad | Apollon Oikonomopoulos | sed -f $(REPLACE_VARS_SED) < $< > $@ |
1598 | 26916aad | Apollon Oikonomopoulos | chmod +x $@ |
1599 | 26916aad | Apollon Oikonomopoulos | |
1600 | 4855760b | Dimitris Aragiorgis | tools/vif-ganeti: tools/vif-ganeti.in $(REPLACE_VARS_SED) |
1601 | 4855760b | Dimitris Aragiorgis | sed -f $(REPLACE_VARS_SED) < $< > $@ |
1602 | 4855760b | Dimitris Aragiorgis | chmod +x $@ |
1603 | 4855760b | Dimitris Aragiorgis | |
1604 | 4855760b | Dimitris Aragiorgis | tools/net-common: tools/net-common.in $(REPLACE_VARS_SED) |
1605 | 4855760b | Dimitris Aragiorgis | sed -f $(REPLACE_VARS_SED) < $< > $@ |
1606 | 4855760b | Dimitris Aragiorgis | chmod +x $@ |
1607 | 4855760b | Dimitris Aragiorgis | |
1608 | 7822dd66 | Klaus Aehlig | tools/users-setup: Makefile $(userspecs) |
1609 | 7822dd66 | Klaus Aehlig | set -e; \ |
1610 | 7822dd66 | Klaus Aehlig | { echo '#!/bin/sh'; \ |
1611 | 9317e5dc | Klaus Aehlig | echo 'if [ "x$$1" != "x--yes-do-it" ];'; \ |
1612 | 9317e5dc | Klaus Aehlig | echo 'then echo "This will do the following changes"'; \ |
1613 | 9317e5dc | Klaus Aehlig | $(AWK) -- '{print "echo + Will add group ",$$1; count++}\ |
1614 | 9317e5dc | Klaus Aehlig | END {if (count == 0) {print "echo + No groups to add"}}' doc/users/groups; \ |
1615 | 9317e5dc | Klaus Aehlig | $(AWK) -- '{if (NF > 1) {print "echo + Will add user",$$1,"with primary group",$$2} \ |
1616 | 9317e5dc | Klaus Aehlig | else {print "echo + Will add user",$$1}; count++}\ |
1617 | 9317e5dc | Klaus Aehlig | END {if (count == 0) {print "echo + No users to add"}}' doc/users/users; \ |
1618 | 9317e5dc | Klaus Aehlig | $(AWK) -- '{print "echo + Will add user",$$1,"to group",$$2}' doc/users/groupmemberships; \ |
1619 | 9317e5dc | Klaus Aehlig | echo 'echo'; \ |
1620 | 9317e5dc | Klaus Aehlig | echo 'echo "OK? (y/n)"'; \ |
1621 | 9317e5dc | Klaus Aehlig | echo 'read confirm'; \ |
1622 | 9317e5dc | Klaus Aehlig | echo 'if [ "x$$confirm" != "xy" ]; then exit 0; fi'; \ |
1623 | 9317e5dc | Klaus Aehlig | echo 'fi'; \ |
1624 | 7822dd66 | Klaus Aehlig | $(AWK) -- '{print "addgroup --system",$$1}' doc/users/groups; \ |
1625 | 7822dd66 | Klaus Aehlig | $(AWK) -- '{if (NF > 1) {print "adduser --system --ingroup",$$2,$$1} else {print "adduser --system",$$1}}' doc/users/users; \ |
1626 | 7822dd66 | Klaus Aehlig | $(AWK) -- '{print "adduser",$$1,$$2}' doc/users/groupmemberships; \ |
1627 | 7822dd66 | Klaus Aehlig | } > $@ |
1628 | cdd27f7f | Michele Tartara | chmod +x $@ |
1629 | cdd27f7f | Michele Tartara | |
1630 | 29386d3e | Michael Hanselmann | tools/vcluster-setup: tools/vcluster-setup.in $(REPLACE_VARS_SED) |
1631 | 29386d3e | Michael Hanselmann | sed -f $(REPLACE_VARS_SED) < $< > $@ |
1632 | 29386d3e | Michael Hanselmann | chmod +x $@ |
1633 | 29386d3e | Michael Hanselmann | |
1634 | 490bec02 | Iustin Pop | daemons/%:: daemons/%.in $(REPLACE_VARS_SED) |
1635 | e8230860 | Michael Hanselmann | sed -f $(REPLACE_VARS_SED) < $< > $@ |
1636 | 5c566e17 | Michael Hanselmann | chmod +x $@ |
1637 | e8230860 | Michael Hanselmann | |
1638 | 490bec02 | Iustin Pop | doc/examples/%:: doc/examples/%.in $(REPLACE_VARS_SED) |
1639 | e8230860 | Michael Hanselmann | sed -f $(REPLACE_VARS_SED) < $< > $@ |
1640 | e8230860 | Michael Hanselmann | |
1641 | e80aeb89 | Michael Hanselmann | doc/examples/bash_completion: BC_ARGS = --compact |
1642 | e80aeb89 | Michael Hanselmann | doc/examples/bash_completion-debug: BC_ARGS = |
1643 | e80aeb89 | Michael Hanselmann | |
1644 | e80aeb89 | Michael Hanselmann | doc/examples/bash_completion doc/examples/bash_completion-debug: \ |
1645 | e80aeb89 | Michael Hanselmann | $(BUILD_BASH_COMPLETION) $(RUN_IN_TEMPDIR) \ |
1646 | 4c3d5fb6 | Iustin Pop | lib/cli.py $(gnt_scripts) $(client_PYTHON) tools/burnin \ |
1647 | 46118ed2 | Iustin Pop | daemons/ganeti-cleaner \ |
1648 | d9a900dc | Iustin Pop | $(GENERATED_FILES) $(HS_GENERATED_FILES) |
1649 | e80aeb89 | Michael Hanselmann | PYTHONPATH=. $(RUN_IN_TEMPDIR) \ |
1650 | e80aeb89 | Michael Hanselmann | $(CURDIR)/$(BUILD_BASH_COMPLETION) $(BC_ARGS) > $@ |
1651 | 4f3d5b76 | Michael Hanselmann | |
1652 | 7142485a | Iustin Pop | man/%.gen: man/%.rst lib/query.py lib/build/sphinx_ext.py \ |
1653 | d7772efa | Iustin Pop | lib/build/shell_example_lexer.py \ |
1654 | a13d6911 | Iustin Pop | | $(RUN_IN_TEMPDIR) $(BUILT_PYTHON_SOURCES) |
1655 | 387863a5 | Iustin Pop | @echo "Checking $< for hardcoded paths..." |
1656 | 387863a5 | Iustin Pop | @if grep -nEf autotools/wrong-hardcoded-paths $<; then \ |
1657 | 58997abb | Michael Hanselmann | echo "Man page $< has hardcoded paths (see above)!" 1>&2 ; \ |
1658 | 387863a5 | Iustin Pop | exit 1; \ |
1659 | 387863a5 | Iustin Pop | fi |
1660 | a13d6911 | Iustin Pop | set -e ; \ |
1661 | a13d6911 | Iustin Pop | trap 'echo auto-removing $@; rm $@' EXIT; \ |
1662 | a13d6911 | Iustin Pop | PYTHONPATH=. $(RUN_IN_TEMPDIR) $(CURDIR)/$(DOCPP) < $< > $@ ;\ |
1663 | 58997abb | Michael Hanselmann | $(CHECK_MAN_REFERENCES) $@; \ |
1664 | a13d6911 | Iustin Pop | trap - EXIT |
1665 | fcdb582d | Michael Hanselmann | |
1666 | 37cfb91f | Michael Hanselmann | man/%.7.in man/%.8.in man/%.1.in: man/%.gen man/footer.rst |
1667 | 6be8e2bf | Iustin Pop | @test -n "$(PANDOC)" || \ |
1668 | 6be8e2bf | Iustin Pop | { echo 'pandoc' not found during configure; exit 1; } |
1669 | 67c15d8b | Iustin Pop | set -o pipefail -e; \ |
1670 | 9c45babb | Iustin Pop | trap 'echo auto-removing $@; rm $@' EXIT; \ |
1671 | 6aff0514 | Iustin Pop | $(PANDOC) -s -f rst -t man $< man/footer.rst | \ |
1672 | 9c45babb | Iustin Pop | sed -e 's/\\@/@/g' > $@; \ |
1673 | 73d0e218 | Iustin Pop | if test -n "$(MAN_HAS_WARNINGS)"; then $(CHECK_MAN_WARNINGS) $@; fi; \ |
1674 | c55cc346 | Iustin Pop | $(CHECK_MAN_DASHES) $@; \ |
1675 | 9c45babb | Iustin Pop | trap - EXIT |
1676 | 9c45babb | Iustin Pop | |
1677 | 37cfb91f | Michael Hanselmann | man/%.html.in: man/%.gen man/footer.rst |
1678 | 6be8e2bf | Iustin Pop | @test -n "$(PANDOC)" || \ |
1679 | 6be8e2bf | Iustin Pop | { echo 'pandoc' not found during configure; exit 1; } |
1680 | a01dd3c6 | Iustin Pop | set -o pipefail ; \ |
1681 | 74412d69 | Iustin Pop | $(PANDOC) --toc -s -f rst -t html $< man/footer.rst | \ |
1682 | 6be8e2bf | Iustin Pop | sed -e 's/\\@/@/g' > $@ |
1683 | 6be8e2bf | Iustin Pop | |
1684 | 55398706 | Iustin Pop | man/%: man/%.in $(REPLACE_VARS_SED) |
1685 | 2ab2b9f5 | Iustin Pop | sed -f $(REPLACE_VARS_SED) < $< > $@ |
1686 | f29266b4 | Iustin Pop | |
1687 | fc1282b8 | Iustin Pop | epydoc.conf: epydoc.conf.in $(REPLACE_VARS_SED) |
1688 | fc1282b8 | Iustin Pop | sed -f $(REPLACE_VARS_SED) < $< > $@ |
1689 | f774bd03 | Michael Hanselmann | |
1690 | 84a12e40 | Iustin Pop | vcs-version: |
1691 | 84a12e40 | Iustin Pop | if test -d .git; then \ |
1692 | 84a12e40 | Iustin Pop | git describe > $@; \ |
1693 | 84a12e40 | Iustin Pop | elif test ! -f $@ ; then \ |
1694 | 84a12e40 | Iustin Pop | echo "Cannot auto-generate $@ file"; exit 1; \ |
1695 | 84a12e40 | Iustin Pop | fi |
1696 | 84a12e40 | Iustin Pop | |
1697 | 316dc1ff | Iustin Pop | .PHONY: clean-vcs-version |
1698 | 316dc1ff | Iustin Pop | clean-vcs-version: |
1699 | 316dc1ff | Iustin Pop | rm -f vcs-version |
1700 | 316dc1ff | Iustin Pop | |
1701 | 84a12e40 | Iustin Pop | .PHONY: regen-vcs-version |
1702 | 84a12e40 | Iustin Pop | regen-vcs-version: |
1703 | 6376dcc0 | Iustin Pop | @set -e; \ |
1704 | 84a12e40 | Iustin Pop | cd $(srcdir); \ |
1705 | 84a12e40 | Iustin Pop | if test -d .git; then \ |
1706 | 6376dcc0 | Iustin Pop | T=`mktemp` ; trap 'rm -f $$T' EXIT; \ |
1707 | 6376dcc0 | Iustin Pop | git describe > $$T; \ |
1708 | 6376dcc0 | Iustin Pop | if ! cmp --quiet $$T vcs-version; then \ |
1709 | 6376dcc0 | Iustin Pop | mv $$T vcs-version; \ |
1710 | 6376dcc0 | Iustin Pop | fi; \ |
1711 | 84a12e40 | Iustin Pop | fi |
1712 | 84a12e40 | Iustin Pop | |
1713 | 3add7574 | Iustin Pop | src/Ganeti/Version.hs: src/Ganeti/Version.hs.in \ |
1714 | 4c3d5fb6 | Iustin Pop | vcs-version $(built_base_sources) |
1715 | d6159933 | Iustin Pop | set -e; \ |
1716 | d6159933 | Iustin Pop | VCSVER=`cat $(abs_top_srcdir)/vcs-version`; \ |
1717 | d6159933 | Iustin Pop | sed -e "s/%ver%/$$VCSVER/" < $< > $@ |
1718 | d6159933 | Iustin Pop | |
1719 | 1b2adaa6 | Jose A. Lopes | src/Ganeti/Hs2Py/ListConstants.hs: src/Ganeti/Hs2Py/ListConstants.hs.in \ |
1720 | 1b2adaa6 | Jose A. Lopes | src/Ganeti/HsConstants.hs \ |
1721 | 1b2adaa6 | Jose A. Lopes | | stamp-directories |
1722 | 1b2adaa6 | Jose A. Lopes | @echo Generating $@ |
1723 | 1b2adaa6 | Jose A. Lopes | @set -e; \ |
1724 | 1b2adaa6 | Jose A. Lopes | ## Extract constant names from 'HsConstants.hs' by extracting the left |
1725 | 1b2adaa6 | Jose A. Lopes | ## side of all lines containing an equal sign (i.e., '=') and |
1726 | 1b2adaa6 | Jose A. Lopes | ## prepending the apostrophe sign (i.e., "'"). |
1727 | 1b2adaa6 | Jose A. Lopes | ## |
1728 | 1b2adaa6 | Jose A. Lopes | ## For example, the constant |
1729 | 1b2adaa6 | Jose A. Lopes | ## adminstDown = ... |
1730 | 1b2adaa6 | Jose A. Lopes | ## becomes |
1731 | 1b2adaa6 | Jose A. Lopes | ## 'adminstDown |
1732 | 1b2adaa6 | Jose A. Lopes | NAMES=$$(sed -n -e "/=/ s/\(.*\) =.*/ '\1:/g p" \ |
1733 | 1b2adaa6 | Jose A. Lopes | $(abs_top_srcdir)/src/Ganeti/HsConstants.hs); \ |
1734 | 1b2adaa6 | Jose A. Lopes | m4 -DPY_CONSTANT_NAMES="$$NAMES" $(abs_top_srcdir)/$< > $@ |
1735 | 1b2adaa6 | Jose A. Lopes | |
1736 | fec1fac1 | Jose A. Lopes | src/Ganeti/PyConstants.hs: src/Ganeti/PyConstants.hs.in \ |
1737 | 94811696 | Michael Hanselmann | lib/constants.py lib/_autoconf.py lib/luxi.py lib/errors.py \ |
1738 | 27a19bf6 | Michael Hanselmann | lib/jstore.py $(RUN_IN_TEMPDIR) \ |
1739 | 4c3d5fb6 | Iustin Pop | $(CONVERT_CONSTANTS) $(built_base_sources) \ |
1740 | ef958f2a | Iustin Pop | | lib/_vcsversion.py |
1741 | 11fd5a86 | Iustin Pop | set -e; \ |
1742 | acaf3ca7 | Iustin Pop | { cat $< ; \ |
1743 | acaf3ca7 | Iustin Pop | PYTHONPATH=. $(RUN_IN_TEMPDIR) $(CURDIR)/$(CONVERT_CONSTANTS); \ |
1744 | acaf3ca7 | Iustin Pop | } > $@ |
1745 | d99d1e36 | Iustin Pop | |
1746 | cc40185c | Iustin Pop | src/Ganeti/Curl/Internal.hs: src/Ganeti/Curl/Internal.hsc | stamp-directories |
1747 | cc40185c | Iustin Pop | hsc2hs -o $@ $< |
1748 | cc40185c | Iustin Pop | |
1749 | 83846468 | Iustin Pop | test/hs/Test/Ganeti/TestImports.hs: test/hs/Test/Ganeti/TestImports.hs.in \ |
1750 | b88fcdd0 | Iustin Pop | $(built_base_sources) |
1751 | b88fcdd0 | Iustin Pop | set -e; \ |
1752 | b88fcdd0 | Iustin Pop | { cat $< ; \ |
1753 | b88fcdd0 | Iustin Pop | echo ; \ |
1754 | 3add7574 | Iustin Pop | for name in $(filter-out Ganeti.THH,$(subst /,.,$(patsubst %.hs,%,$(patsubst src/%,%,$(HS_LIB_SRCS))))) ; do \ |
1755 | b88fcdd0 | Iustin Pop | echo "import $$name ()" ; \ |
1756 | b88fcdd0 | Iustin Pop | done ; \ |
1757 | b88fcdd0 | Iustin Pop | } > $@ |
1758 | b88fcdd0 | Iustin Pop | |
1759 | 3735787e | Iustin Pop | lib/_autoconf.py: Makefile | stamp-directories |
1760 | 84a12e40 | Iustin Pop | set -e; \ |
1761 | e8230860 | Michael Hanselmann | { echo '# This file is automatically generated, do not edit!'; \ |
1762 | e8230860 | Michael Hanselmann | echo '#'; \ |
1763 | 67047322 | Iustin Pop | echo ''; \ |
1764 | 67047322 | Iustin Pop | echo '"""Build-time configuration for Ganeti.'; \ |
1765 | 67047322 | Iustin Pop | echo '';\ |
1766 | 67047322 | Iustin Pop | echo 'This file is autogenerated by the build process.'; \ |
1767 | 67047322 | Iustin Pop | echo 'For any changes you need to re-run ./configure (and'; \ |
1768 | 67047322 | Iustin Pop | echo 'not edit by hand).'; \ |
1769 | 67047322 | Iustin Pop | echo ''; \ |
1770 | 67047322 | Iustin Pop | echo '"""'; \ |
1771 | 67047322 | Iustin Pop | echo ''; \ |
1772 | 55766d34 | Andrea Spadaccini | echo '# pylint: disable=C0301,C0324'; \ |
1773 | 0a4e7f24 | Iustin Pop | echo '# because this is autogenerated, we do not want'; \ |
1774 | 0a4e7f24 | Iustin Pop | echo '# style warnings' ; \ |
1775 | 0a4e7f24 | Iustin Pop | echo ''; \ |
1776 | e8230860 | Michael Hanselmann | echo "PACKAGE_VERSION = '$(PACKAGE_VERSION)'"; \ |
1777 | e8230860 | Michael Hanselmann | echo "VERSION_MAJOR = '$(VERSION_MAJOR)'"; \ |
1778 | e8230860 | Michael Hanselmann | echo "VERSION_MINOR = '$(VERSION_MINOR)'"; \ |
1779 | e8230860 | Michael Hanselmann | echo "VERSION_REVISION = '$(VERSION_REVISION)'"; \ |
1780 | e8230860 | Michael Hanselmann | echo "VERSION_SUFFIX = '$(VERSION_SUFFIX)'"; \ |
1781 | e8230860 | Michael Hanselmann | echo "VERSION_FULL = '$(VERSION_FULL)'"; \ |
1782 | e8230860 | Michael Hanselmann | echo "LOCALSTATEDIR = '$(localstatedir)'"; \ |
1783 | e8230860 | Michael Hanselmann | echo "SYSCONFDIR = '$(sysconfdir)'"; \ |
1784 | 553bd93f | Vitaly Kuznetsov | echo "SSH_CONFIG_DIR = '$(SSH_CONFIG_DIR)'"; \ |
1785 | 052783ff | Michael Hanselmann | echo "SSH_LOGIN_USER = '$(SSH_LOGIN_USER)'"; \ |
1786 | 052783ff | Michael Hanselmann | echo "SSH_CONSOLE_USER = '$(SSH_CONSOLE_USER)'"; \ |
1787 | e8230860 | Michael Hanselmann | echo "EXPORT_DIR = '$(EXPORT_DIR)'"; \ |
1788 | e8230860 | Michael Hanselmann | echo "OS_SEARCH_PATH = [$(OS_SEARCH_PATH)]"; \ |
1789 | 376631d1 | Constantinos Venetsanopoulos | echo "ES_SEARCH_PATH = [$(ES_SEARCH_PATH)]"; \ |
1790 | 2f2dbb4b | Jun Futagawa | echo "XEN_BOOTLOADER = '$(XEN_BOOTLOADER)'"; \ |
1791 | a8e8c0c6 | Michael Hanselmann | echo "XEN_CONFIG_DIR = '$(XEN_CONFIG_DIR)'"; \ |
1792 | e8230860 | Michael Hanselmann | echo "XEN_KERNEL = '$(XEN_KERNEL)'"; \ |
1793 | e8230860 | Michael Hanselmann | echo "XEN_INITRD = '$(XEN_INITRD)'"; \ |
1794 | b8203e1e | Iustin Pop | echo "KVM_KERNEL = '$(KVM_KERNEL)'"; \ |
1795 | 4b97f902 | Apollon Oikonomopoulos | echo "SHARED_FILE_STORAGE_DIR = '$(SHARED_FILE_STORAGE_DIR)'"; \ |
1796 | e8230860 | Michael Hanselmann | echo "IALLOCATOR_SEARCH_PATH = [$(IALLOCATOR_SEARCH_PATH)]"; \ |
1797 | 7e2c5b9e | Guido Trotter | echo "KVM_PATH = '$(KVM_PATH)'"; \ |
1798 | c4dfb0b6 | Andrea Spadaccini | echo "IP_PATH = '$(IP_PATH)'"; \ |
1799 | fe5b0c42 | Michael Hanselmann | echo "SOCAT_PATH = '$(SOCAT)'"; \ |
1800 | fe5b0c42 | Michael Hanselmann | echo "SOCAT_USE_ESCAPE = $(SOCAT_USE_ESCAPE)"; \ |
1801 | e90739d6 | Michael Hanselmann | echo "SOCAT_USE_COMPRESS = $(SOCAT_USE_COMPRESS)"; \ |
1802 | bea60381 | Michael Hanselmann | echo "LVM_STRIPECOUNT = $(LVM_STRIPECOUNT)"; \ |
1803 | 9f8e85c6 | Klaus Aehlig | echo "TOOLSDIR = '$(libdir)/ganeti/tools'"; \ |
1804 | 4f3d5b76 | Michael Hanselmann | echo "GNT_SCRIPTS = [$(foreach i,$(notdir $(gnt_scripts)),'$(i)',)]"; \ |
1805 | ada0e680 | Iustin Pop | echo "HTOOLS_PROGS = [$(foreach i,$(HS_HTOOLS_PROGS),'$(i)',)]"; \ |
1806 | 9f8e85c6 | Klaus Aehlig | echo "PKGLIBDIR = '$(libdir)/ganeti'"; \ |
1807 | 8a69b3a8 | Andrea Spadaccini | echo "DRBD_BARRIERS = '$(DRBD_BARRIERS)'"; \ |
1808 | 8a69b3a8 | Andrea Spadaccini | echo "DRBD_NO_META_FLUSH = $(DRBD_NO_META_FLUSH)"; \ |
1809 | 551b6283 | Iustin Pop | echo "SYSLOG_USAGE = '$(SYSLOG_USAGE)'"; \ |
1810 | 8b72b05c | René Nussbaumer | echo "DAEMONS_GROUP = '$(DAEMONS_GROUP)'"; \ |
1811 | f12e1736 | René Nussbaumer | echo "ADMIN_GROUP = '$(ADMIN_GROUP)'"; \ |
1812 | 8b72b05c | René Nussbaumer | echo "MASTERD_USER = '$(MASTERD_USER)'"; \ |
1813 | f12e1736 | René Nussbaumer | echo "MASTERD_GROUP = '$(MASTERD_GROUP)'"; \ |
1814 | 8b72b05c | René Nussbaumer | echo "RAPI_USER = '$(RAPI_USER)'"; \ |
1815 | f12e1736 | René Nussbaumer | echo "RAPI_GROUP = '$(RAPI_GROUP)'"; \ |
1816 | f12e1736 | René Nussbaumer | echo "CONFD_USER = '$(CONFD_USER)'"; \ |
1817 | f12e1736 | René Nussbaumer | echo "CONFD_GROUP = '$(CONFD_GROUP)'"; \ |
1818 | 3695a4e0 | Thomas Thrainer | echo "LUXID_USER = '$(LUXID_USER)'"; \ |
1819 | 3695a4e0 | Thomas Thrainer | echo "LUXID_GROUP = '$(LUXID_GROUP)'"; \ |
1820 | f12e1736 | René Nussbaumer | echo "NODED_USER = '$(NODED_USER)'"; \ |
1821 | 03881cb0 | René Nussbaumer | echo "NODED_GROUP = '$(NODED_GROUP)'"; \ |
1822 | 14013e5d | Michele Tartara | echo "MOND_USER = '$(MOND_USER)'"; \ |
1823 | 14013e5d | Michele Tartara | echo "MOND_GROUP = '$(MOND_GROUP)'"; \ |
1824 | 3536c792 | Iustin Pop | echo "DISK_SEPARATOR = '$(DISK_SEPARATOR)'"; \ |
1825 | a002ed79 | Agata Murawska | echo "QEMUIMG_PATH = '$(QEMUIMG_PATH)'"; \ |
1826 | 21a5e56c | Iustin Pop | echo "HTOOLS = True"; \ |
1827 | cd8b0072 | Iustin Pop | echo "ENABLE_CONFD = $(ENABLE_CONFD)"; \ |
1828 | 1eb37421 | René Nussbaumer | echo "XEN_CMD = '$(XEN_CMD)'"; \ |
1829 | 42ab9ac4 | Iustin Pop | echo "ENABLE_SPLIT_QUERY = $(ENABLE_SPLIT_QUERY)"; \ |
1830 | 1fdeb284 | Michael Hanselmann | echo "ENABLE_RESTRICTED_COMMANDS = $(ENABLE_RESTRICTED_COMMANDS)"; \ |
1831 | 14013e5d | Michele Tartara | echo "ENABLE_MOND = $(ENABLE_MOND)"; \ |
1832 | 5ce58234 | Michael Hanselmann | ## Write dictionary with man page name as the key and the section number as the |
1833 | 5ce58234 | Michael Hanselmann | ## value |
1834 | 5ce58234 | Michael Hanselmann | echo "MAN_PAGES = {"; \ |
1835 | 5ce58234 | Michael Hanselmann | for i in $(notdir $(man_MANS)); do \ |
1836 | 5ce58234 | Michael Hanselmann | echo "$$i" | sed -re 's/^(.*)\.([0-9]+)$$/ "\1": \2,/g'; \ |
1837 | 5ce58234 | Michael Hanselmann | done; \ |
1838 | 5ce58234 | Michael Hanselmann | echo "}"; \ |
1839 | e8230860 | Michael Hanselmann | } > $@ |
1840 | e8230860 | Michael Hanselmann | |
1841 | 1b2adaa6 | Jose A. Lopes | lib/_constants.py: Makefile lib/_constants.py.in src/hs2py-constants \ |
1842 | 1b2adaa6 | Jose A. Lopes | | stamp-directories |
1843 | 1b2adaa6 | Jose A. Lopes | cat $(abs_top_srcdir)/lib/_constants.py.in > $@ |
1844 | 1b2adaa6 | Jose A. Lopes | src/hs2py-constants >> $@ |
1845 | 1b2adaa6 | Jose A. Lopes | |
1846 | 1b2adaa6 | Jose A. Lopes | lib/constants.py: lib/_constants.py |
1847 | 1b2adaa6 | Jose A. Lopes | |
1848 | ca2d5dcc | Jose A. Lopes | src/AutoConf.hs: Makefile src/AutoConf.hs.in | stamp-directories |
1849 | ca2d5dcc | Jose A. Lopes | @echo "m4 ... >" $@ |
1850 | ca2d5dcc | Jose A. Lopes | @m4 -DPACKAGE_VERSION="$(PACKAGE_VERSION)" \ |
1851 | ca2d5dcc | Jose A. Lopes | -DVERSION_MAJOR="$(VERSION_MAJOR)" \ |
1852 | ca2d5dcc | Jose A. Lopes | -DVERSION_MINOR="$(VERSION_MINOR)" \ |
1853 | ca2d5dcc | Jose A. Lopes | -DVERSION_REVISION="$(VERSION_REVISION)" \ |
1854 | ca2d5dcc | Jose A. Lopes | -DVERSION_SUFFIX="$(VERSION_SUFFIX)" \ |
1855 | ca2d5dcc | Jose A. Lopes | -DVERSION_FULL="$(VERSION_FULL)" \ |
1856 | ca2d5dcc | Jose A. Lopes | -DLOCALSTATEDIR="$(localstatedir)" \ |
1857 | ca2d5dcc | Jose A. Lopes | -DSYSCONFDIR="$(sysconfdir)" \ |
1858 | ca2d5dcc | Jose A. Lopes | -DSSH_CONFIG_DIR="$(SSH_CONFIG_DIR)" \ |
1859 | ca2d5dcc | Jose A. Lopes | -DSSH_LOGIN_USER="$(SSH_LOGIN_USER)" \ |
1860 | ca2d5dcc | Jose A. Lopes | -DSSH_CONSOLE_USER="$(SSH_CONSOLE_USER)" \ |
1861 | ca2d5dcc | Jose A. Lopes | -DEXPORT_DIR="$(EXPORT_DIR)" \ |
1862 | ca2d5dcc | Jose A. Lopes | -DOS_SEARCH_PATH="$(foreach i,$(OS_SEARCH_PATH),\"$(i)\":)" \ |
1863 | ca2d5dcc | Jose A. Lopes | -DES_SEARCH_PATH="$(foreach i,$(ES_SEARCH_PATH),\"$(i)\":)" \ |
1864 | ca2d5dcc | Jose A. Lopes | -DXEN_BOOTLOADER="$(XEN_BOOTLOADER)" \ |
1865 | ca2d5dcc | Jose A. Lopes | -DXEN_CONFIG_DIR="$(XEN_CONFIG_DIR)" \ |
1866 | ca2d5dcc | Jose A. Lopes | -DXEN_KERNEL="$(XEN_KERNEL)" \ |
1867 | ca2d5dcc | Jose A. Lopes | -DXEN_INITRD="$(XEN_INITRD)" \ |
1868 | ca2d5dcc | Jose A. Lopes | -DKVM_KERNEL="$(KVM_KERNEL)" \ |
1869 | ca2d5dcc | Jose A. Lopes | -DSHARED_FILE_STORAGE_DIR="$(SHARED_FILE_STORAGE_DIR)" \ |
1870 | ca2d5dcc | Jose A. Lopes | -DIALLOCATOR_SEARCH_PATH="$(foreach i,$(IALLOCATOR_SEARCH_PATH),\"$(i)\":)" \ |
1871 | ca2d5dcc | Jose A. Lopes | -DKVM_PATH="$(KVM_PATH)" \ |
1872 | ca2d5dcc | Jose A. Lopes | -DIP_PATH="$(IP_PATH)" \ |
1873 | ca2d5dcc | Jose A. Lopes | -DSOCAT_PATH="$(SOCAT)" \ |
1874 | ca2d5dcc | Jose A. Lopes | -DSOCAT_USE_ESCAPE="$(SOCAT_USE_ESCAPE)" \ |
1875 | ca2d5dcc | Jose A. Lopes | -DSOCAT_USE_COMPRESS="$(SOCAT_USE_COMPRESS)" \ |
1876 | ca2d5dcc | Jose A. Lopes | -DLVM_STRIPECOUNT="$(LVM_STRIPECOUNT)" \ |
1877 | 9f8e85c6 | Klaus Aehlig | -DTOOLSDIR="$(libdir)/ganeti/tools)" \ |
1878 | ca2d5dcc | Jose A. Lopes | -DGNT_SCRIPTS="$(foreach i,$(notdir $(gnt_scripts)),\"$(i)\":)" \ |
1879 | ca2d5dcc | Jose A. Lopes | -DHS_HTOOLS_PROGS="$(foreach i,$(HS_HTOOLS_PROGS),\"$(i)\":)" \ |
1880 | 9f8e85c6 | Klaus Aehlig | -DPKGLIBDIR="$(libdir)/ganeti" \ |
1881 | ca2d5dcc | Jose A. Lopes | -DDRBD_BARRIERS="$(DRBD_BARRIERS)" \ |
1882 | ca2d5dcc | Jose A. Lopes | -DDRBD_NO_META_FLUSH="$(DRBD_NO_META_FLUSH)" \ |
1883 | ca2d5dcc | Jose A. Lopes | -DSYSLOG_USAGE="$(SYSLOG_USAGE)" \ |
1884 | ca2d5dcc | Jose A. Lopes | -DDAEMONS_GROUP="$(DAEMONS_GROUP)" \ |
1885 | ca2d5dcc | Jose A. Lopes | -DADMIN_GROUP="$(ADMIN_GROUP)" \ |
1886 | ca2d5dcc | Jose A. Lopes | -DMASTERD_USER="$(MASTERD_USER)" \ |
1887 | ca2d5dcc | Jose A. Lopes | -DMASTERD_GROUP="$(MASTERD_GROUP)" \ |
1888 | ca2d5dcc | Jose A. Lopes | -DRAPI_USER="$(RAPI_USER)" \ |
1889 | ca2d5dcc | Jose A. Lopes | -DRAPI_GROUP="$(RAPI_GROUP)" \ |
1890 | ca2d5dcc | Jose A. Lopes | -DCONFD_USER="$(CONFD_USER)" \ |
1891 | ca2d5dcc | Jose A. Lopes | -DCONFD_GROUP="$(CONFD_GROUP)" \ |
1892 | ca2d5dcc | Jose A. Lopes | -DLUXID_USER="$(LUXID_USER)" \ |
1893 | ca2d5dcc | Jose A. Lopes | -DLUXID_GROUP="$(LUXID_GROUP)" \ |
1894 | ca2d5dcc | Jose A. Lopes | -DNODED_USER="$(NODED_USER)" \ |
1895 | ca2d5dcc | Jose A. Lopes | -DNODED_GROUP="$(NODED_GROUP)" \ |
1896 | ca2d5dcc | Jose A. Lopes | -DMOND_USER="$(MOND_USER)" \ |
1897 | ca2d5dcc | Jose A. Lopes | -DMOND_GROUP="$(MOND_GROUP)" \ |
1898 | ca2d5dcc | Jose A. Lopes | -DDISK_SEPARATOR="$(DISK_SEPARATOR)" \ |
1899 | ca2d5dcc | Jose A. Lopes | -DQEMUIMG_PATH="$(QEMUIMG_PATH)" \ |
1900 | ca2d5dcc | Jose A. Lopes | -DHTOOLS="True" \ |
1901 | ca2d5dcc | Jose A. Lopes | -DENABLE_CONFD="$(ENABLE_CONFD)" \ |
1902 | ca2d5dcc | Jose A. Lopes | -DXEN_CMD="$(XEN_CMD)" \ |
1903 | ca2d5dcc | Jose A. Lopes | -DENABLE_SPLIT_QUERY="$(ENABLE_SPLIT_QUERY)" \ |
1904 | ca2d5dcc | Jose A. Lopes | -DENABLE_RESTRICTED_COMMANDS="$(ENABLE_RESTRICTED_COMMANDS)" \ |
1905 | ca2d5dcc | Jose A. Lopes | -DENABLE_MOND="$(ENABLE_MOND)" \ |
1906 | ca2d5dcc | Jose A. Lopes | -DMAN_PAGES="$$(for i in $(notdir $(man_MANS)); do \ |
1907 | ca2d5dcc | Jose A. Lopes | echo -n "$$i" | sed -re 's/^(.*)\.([0-9]+)$$/("\1",\2):/g'; \ |
1908 | ca2d5dcc | Jose A. Lopes | done)" \ |
1909 | ca2d5dcc | Jose A. Lopes | $(abs_top_srcdir)/src/AutoConf.hs.in > $@ |
1910 | ca2d5dcc | Jose A. Lopes | |
1911 | 3735787e | Iustin Pop | lib/_vcsversion.py: Makefile vcs-version | stamp-directories |
1912 | 13aeae6a | Iustin Pop | set -e; \ |
1913 | 13aeae6a | Iustin Pop | VCSVER=`cat $(abs_top_srcdir)/vcs-version`; \ |
1914 | 13aeae6a | Iustin Pop | { echo '# This file is automatically generated, do not edit!'; \ |
1915 | 13aeae6a | Iustin Pop | echo '#'; \ |
1916 | 13aeae6a | Iustin Pop | echo ''; \ |
1917 | 13aeae6a | Iustin Pop | echo '"""Build-time VCS version number for Ganeti.'; \ |
1918 | 13aeae6a | Iustin Pop | echo '';\ |
1919 | 13aeae6a | Iustin Pop | echo 'This file is autogenerated by the build process.'; \ |
1920 | 13aeae6a | Iustin Pop | echo 'For any changes you need to re-run ./configure (and'; \ |
1921 | 13aeae6a | Iustin Pop | echo 'not edit by hand).'; \ |
1922 | 13aeae6a | Iustin Pop | echo ''; \ |
1923 | 13aeae6a | Iustin Pop | echo '"""'; \ |
1924 | 13aeae6a | Iustin Pop | echo ''; \ |
1925 | 55766d34 | Andrea Spadaccini | echo '# pylint: disable=C0301,C0324'; \ |
1926 | 13aeae6a | Iustin Pop | echo '# because this is autogenerated, we do not want'; \ |
1927 | 13aeae6a | Iustin Pop | echo '# style warnings' ; \ |
1928 | 13aeae6a | Iustin Pop | echo ''; \ |
1929 | 13aeae6a | Iustin Pop | echo "VCS_VERSION = '$$VCSVER'"; \ |
1930 | 13aeae6a | Iustin Pop | } > $@ |
1931 | 13aeae6a | Iustin Pop | |
1932 | fec1fac1 | Jose A. Lopes | lib/opcodes.py: Makefile src/hs2py src/Ganeti/PyConstants.hs \ |
1933 | 580b1fdd | Jose A. Lopes | lib/opcodes.py.in_before lib/opcodes.py.in_after \ |
1934 | 580b1fdd | Jose A. Lopes | | stamp-directories |
1935 | 580b1fdd | Jose A. Lopes | cat $(abs_top_srcdir)/lib/opcodes.py.in_before > $@ |
1936 | 580b1fdd | Jose A. Lopes | src/hs2py >> $@ |
1937 | 580b1fdd | Jose A. Lopes | cat $(abs_top_srcdir)/lib/opcodes.py.in_after >> $@ |
1938 | 580b1fdd | Jose A. Lopes | |
1939 | 96a7481d | Michael Hanselmann | lib/_generated_rpc.py: lib/rpc_defs.py $(BUILD_RPC) |
1940 | 96a7481d | Michael Hanselmann | PYTHONPATH=. $(RUN_IN_TEMPDIR) $(CURDIR)/$(BUILD_RPC) lib/rpc_defs.py > $@ |
1941 | d5a2a550 | Michael Hanselmann | |
1942 | 6e3bf290 | Michael Hanselmann | $(SHELL_ENV_INIT): Makefile stamp-directories |
1943 | 6e3bf290 | Michael Hanselmann | set -e; \ |
1944 | 6e3bf290 | Michael Hanselmann | { echo '# Allow overriding for tests'; \ |
1945 | 6e3bf290 | Michael Hanselmann | echo 'readonly LOCALSTATEDIR=$${LOCALSTATEDIR:-$${GANETI_ROOTDIR:-}$(localstatedir)}'; \ |
1946 | 6e3bf290 | Michael Hanselmann | echo 'readonly SYSCONFDIR=$${SYSCONFDIR:-$${GANETI_ROOTDIR:-}$(sysconfdir)}'; \ |
1947 | 6e3bf290 | Michael Hanselmann | echo; \ |
1948 | 9f8e85c6 | Klaus Aehlig | echo 'readonly PKGLIBDIR=$(libdir)/ganeti'; \ |
1949 | 6e3bf290 | Michael Hanselmann | echo 'readonly LOG_DIR="$$LOCALSTATEDIR/log/ganeti"'; \ |
1950 | 6e3bf290 | Michael Hanselmann | echo 'readonly RUN_DIR="$$LOCALSTATEDIR/run/ganeti"'; \ |
1951 | 6e3bf290 | Michael Hanselmann | echo 'readonly DATA_DIR="$$LOCALSTATEDIR/lib/ganeti"'; \ |
1952 | 6e3bf290 | Michael Hanselmann | echo 'readonly CONF_DIR="$$SYSCONFDIR/ganeti"'; \ |
1953 | 6e3bf290 | Michael Hanselmann | } > $@ |
1954 | 6e3bf290 | Michael Hanselmann | |
1955 | df1d5c8f | Michael Hanselmann | ## Writes sed script to replace placeholders with build-time values. The |
1956 | df1d5c8f | Michael Hanselmann | ## additional quotes after the first @ sign are necessary to stop configure |
1957 | df1d5c8f | Michael Hanselmann | ## from replacing those values as well. |
1958 | 6e3bf290 | Michael Hanselmann | $(REPLACE_VARS_SED): $(SHELL_ENV_INIT) Makefile stamp-directories |
1959 | e8230860 | Michael Hanselmann | set -e; \ |
1960 | df1d5c8f | Michael Hanselmann | { echo 's#@''PREFIX@#$(prefix)#g'; \ |
1961 | df1d5c8f | Michael Hanselmann | echo 's#@''SYSCONFDIR@#$(sysconfdir)#g'; \ |
1962 | df1d5c8f | Michael Hanselmann | echo 's#@''LOCALSTATEDIR@#$(localstatedir)#g'; \ |
1963 | 46204919 | Klaus Aehlig | echo 's#@''BINDIR@#$(execprefix)/bin#g'; \ |
1964 | 46204919 | Klaus Aehlig | echo 's#@''SBINDIR@#$(execprefix)/sbin#g'; \ |
1965 | df1d5c8f | Michael Hanselmann | echo 's#@''LIBDIR@#$(libdir)#g'; \ |
1966 | df1d5c8f | Michael Hanselmann | echo 's#@''GANETI_VERSION@#$(PACKAGE_VERSION)#g'; \ |
1967 | df1d5c8f | Michael Hanselmann | echo 's#@''CUSTOM_XEN_BOOTLOADER@#$(XEN_BOOTLOADER)#g'; \ |
1968 | df1d5c8f | Michael Hanselmann | echo 's#@''CUSTOM_XEN_KERNEL@#$(XEN_KERNEL)#g'; \ |
1969 | df1d5c8f | Michael Hanselmann | echo 's#@''CUSTOM_XEN_INITRD@#$(XEN_INITRD)#g'; \ |
1970 | df1d5c8f | Michael Hanselmann | echo 's#@''CUSTOM_IALLOCATOR_SEARCH_PATH@#$(IALLOCATOR_SEARCH_PATH)#g'; \ |
1971 | df1d5c8f | Michael Hanselmann | echo 's#@''CUSTOM_EXPORT_DIR@#$(EXPORT_DIR)#g'; \ |
1972 | df1d5c8f | Michael Hanselmann | echo 's#@''RPL_SSH_INITD_SCRIPT@#$(SSH_INITD_SCRIPT)#g'; \ |
1973 | 46204919 | Klaus Aehlig | echo 's#@''PKGLIBDIR@#$(libdir)/ganeti#g'; \ |
1974 | df1d5c8f | Michael Hanselmann | echo 's#@''GNTMASTERUSER@#$(MASTERD_USER)#g'; \ |
1975 | df1d5c8f | Michael Hanselmann | echo 's#@''GNTRAPIUSER@#$(RAPI_USER)#g'; \ |
1976 | df1d5c8f | Michael Hanselmann | echo 's#@''GNTCONFDUSER@#$(CONFD_USER)#g'; \ |
1977 | 3695a4e0 | Thomas Thrainer | echo 's#@''GNTLUXIDUSER@#$(LUXID_USER)#g'; \ |
1978 | df1d5c8f | Michael Hanselmann | echo 's#@''GNTNODEDUSER@#$(NODED_USER)#g'; \ |
1979 | 14013e5d | Michele Tartara | echo 's#@''GNTMONDUSER@#$(MOND_USER)#g'; \ |
1980 | df1d5c8f | Michael Hanselmann | echo 's#@''GNTRAPIGROUP@#$(RAPI_GROUP)#g'; \ |
1981 | df1d5c8f | Michael Hanselmann | echo 's#@''GNTADMINGROUP@#$(ADMIN_GROUP)#g'; \ |
1982 | df1d5c8f | Michael Hanselmann | echo 's#@''GNTCONFDGROUP@#$(CONFD_GROUP)#g'; \ |
1983 | 3695a4e0 | Thomas Thrainer | echo 's#@''GNTLUXIDGROUP@#$(LUXID_GROUP)#g'; \ |
1984 | df1d5c8f | Michael Hanselmann | echo 's#@''GNTMASTERDGROUP@#$(MASTERD_GROUP)#g'; \ |
1985 | 14013e5d | Michele Tartara | echo 's#@''GNTMONDGROUP@#$(MOND_GROUP)#g'; \ |
1986 | df1d5c8f | Michael Hanselmann | echo 's#@''GNTDAEMONSGROUP@#$(DAEMONS_GROUP)#g'; \ |
1987 | df1d5c8f | Michael Hanselmann | echo 's#@''CUSTOM_ENABLE_CONFD@#$(ENABLE_CONFD)#g'; \ |
1988 | 14013e5d | Michele Tartara | echo 's#@''CUSTOM_ENABLE_MOND@#$(ENABLE_MOND)#g'; \ |
1989 | df1d5c8f | Michael Hanselmann | echo 's#@''MODULES@#$(strip $(lint_python_code))#g'; \ |
1990 | a8e8c0c6 | Michael Hanselmann | echo 's#@''XEN_CONFIG_DIR@#$(XEN_CONFIG_DIR)#g'; \ |
1991 | 6e3bf290 | Michael Hanselmann | echo; \ |
1992 | 6e3bf290 | Michael Hanselmann | echo '/^@SHELL_ENV_INIT@$$/ {'; \ |
1993 | 6e3bf290 | Michael Hanselmann | echo ' r $(SHELL_ENV_INIT)'; \ |
1994 | 6e3bf290 | Michael Hanselmann | echo ' d'; \ |
1995 | 6e3bf290 | Michael Hanselmann | echo '}'; \ |
1996 | e8230860 | Michael Hanselmann | } > $@ |
1997 | e8230860 | Michael Hanselmann | |
1998 | 67313146 | Michael Hanselmann | # Using deferred evaluation |
1999 | 899c4d2c | Michael Hanselmann | daemons/ganeti-%: MODULE = ganeti.server.$(patsubst ganeti-%,%,$(notdir $@)) |
2000 | 9f4bb951 | Michael Hanselmann | daemons/ganeti-watcher: MODULE = ganeti.watcher |
2001 | 67313146 | Michael Hanselmann | scripts/%: MODULE = ganeti.client.$(subst -,_,$(notdir $@)) |
2002 | 8e55e20f | Michael Hanselmann | tools/burnin: MODULE = ganeti.tools.burnin |
2003 | 0d2bf835 | René Nussbaumer | tools/ensure-dirs: MODULE = ganeti.tools.ensure_dirs |
2004 | 69e5fefc | Michael Hanselmann | tools/node-daemon-setup: MODULE = ganeti.tools.node_daemon_setup |
2005 | d12b9f66 | Michael Hanselmann | tools/prepare-node-join: MODULE = ganeti.tools.prepare_node_join |
2006 | d5fe5fa9 | Michael Hanselmann | tools/node-cleanup: MODULE = ganeti.tools.node_cleanup |
2007 | 83846468 | Iustin Pop | $(HS_BUILT_TEST_HELPERS): TESTROLE = $(patsubst test/hs/%,%,$@) |
2008 | 67313146 | Michael Hanselmann | |
2009 | 780060cb | Klaus Aehlig | $(PYTHON_BOOTSTRAP) $(gnt_scripts) $(gnt_python_sbin_SCRIPTS): Makefile | stamp-directories |
2010 | 67313146 | Michael Hanselmann | test -n "$(MODULE)" || { echo Missing module; exit 1; } |
2011 | 2d48a3a2 | Michael Hanselmann | set -e; \ |
2012 | d75e738e | Michael Hanselmann | { echo '#!/usr/bin/python'; \ |
2013 | 2d48a3a2 | Michael Hanselmann | echo '# This file is automatically generated, do not edit!'; \ |
2014 | 67313146 | Michael Hanselmann | echo "# Edit $(MODULE) instead."; \ |
2015 | 2d48a3a2 | Michael Hanselmann | echo; \ |
2016 | 67313146 | Michael Hanselmann | echo '"""Bootstrap script for L{$(MODULE)}"""'; \ |
2017 | 2d48a3a2 | Michael Hanselmann | echo; \ |
2018 | 55766d34 | Andrea Spadaccini | echo '# pylint: disable=C0103'; \ |
2019 | 2d48a3a2 | Michael Hanselmann | echo '# C0103: Invalid name'; \ |
2020 | 2d48a3a2 | Michael Hanselmann | echo; \ |
2021 | 2d48a3a2 | Michael Hanselmann | echo 'import sys'; \ |
2022 | 67313146 | Michael Hanselmann | echo 'import $(MODULE) as main'; \ |
2023 | 2d48a3a2 | Michael Hanselmann | echo; \ |
2024 | 2d48a3a2 | Michael Hanselmann | echo '# Temporarily alias commands until bash completion'; \ |
2025 | 2d48a3a2 | Michael Hanselmann | echo '# generator is changed'; \ |
2026 | 67313146 | Michael Hanselmann | echo 'if hasattr(main, "commands"):'; \ |
2027 | 55766d34 | Andrea Spadaccini | echo ' commands = main.commands # pylint: disable=E1101'; \ |
2028 | 3f42b4f6 | Michael Hanselmann | echo 'if hasattr(main, "aliases"):'; \ |
2029 | 55766d34 | Andrea Spadaccini | echo ' aliases = main.aliases # pylint: disable=E1101'; \ |
2030 | 2d48a3a2 | Michael Hanselmann | echo; \ |
2031 | 2d48a3a2 | Michael Hanselmann | echo 'if __name__ == "__main__":'; \ |
2032 | 67313146 | Michael Hanselmann | echo ' sys.exit(main.Main())'; \ |
2033 | 2d48a3a2 | Michael Hanselmann | } > $@ |
2034 | 2d48a3a2 | Michael Hanselmann | chmod u+x $@ |
2035 | 2d48a3a2 | Michael Hanselmann | |
2036 | 3096524e | Iustin Pop | $(HS_BUILT_TEST_HELPERS): Makefile |
2037 | 3096524e | Iustin Pop | @test -n "$(TESTROLE)" || { echo Missing TESTROLE; exit 1; } |
2038 | 3096524e | Iustin Pop | set -e; \ |
2039 | 3096524e | Iustin Pop | { echo '#!/bin/sh'; \ |
2040 | 3096524e | Iustin Pop | echo '# This file is automatically generated, do not edit!'; \ |
2041 | 3096524e | Iustin Pop | echo "# Edit Makefile.am instead."; \ |
2042 | 3096524e | Iustin Pop | echo; \ |
2043 | 83846468 | Iustin Pop | echo "HTOOLS=$(TESTROLE) exec ./test/hs/hpc-htools \"\$$@\""; \ |
2044 | 3096524e | Iustin Pop | } > $@ |
2045 | 3096524e | Iustin Pop | chmod u+x $@ |
2046 | 3096524e | Iustin Pop | |
2047 | 3735787e | Iustin Pop | stamp-directories: Makefile |
2048 | 924ecd85 | Iustin Pop | $(MAKE) $(AM_MAKEFLAGS) ganeti |
2049 | 3735787e | Iustin Pop | @mkdir_p@ $(DIRS) $(BUILDTIME_DIR_AUTOCREATE) |
2050 | 3735787e | Iustin Pop | touch $@ |
2051 | 3735787e | Iustin Pop | |
2052 | e8230860 | Michael Hanselmann | # We need to create symlinks because "make distcheck" will not install Python |
2053 | e8230860 | Michael Hanselmann | # files when building. |
2054 | 3735787e | Iustin Pop | stamp-srclinks: Makefile | stamp-directories |
2055 | e8230860 | Michael Hanselmann | set -e; \ |
2056 | 01a3a718 | Michael Hanselmann | for i in $(srclink_files); do \ |
2057 | a2d7ea09 | Iustin Pop | if test ! -f $$i -a -f $(abs_top_srcdir)/$$i; then \ |
2058 | a2d7ea09 | Iustin Pop | $(LN_S) $(abs_top_srcdir)/$$i $$i; \ |
2059 | a2d7ea09 | Iustin Pop | fi; \ |
2060 | e8230860 | Michael Hanselmann | done |
2061 | dd1dfd9a | Michael Hanselmann | touch $@ |
2062 | 97a37b3f | Michael Hanselmann | |
2063 | 9ff7e35c | Michael Hanselmann | .PHONY: ganeti |
2064 | 9ff7e35c | Michael Hanselmann | ganeti: |
2065 | 01f3e7b1 | Iustin Pop | cd $(top_builddir) && test -h "$@" || { rm -f $@ && $(LN_S) lib $@; } |
2066 | 9ff7e35c | Michael Hanselmann | |
2067 | 6b997854 | Michael Hanselmann | .PHONY: check-dirs |
2068 | 4c3d5fb6 | Iustin Pop | check-dirs: $(GENERATED_FILES) |
2069 | 0c1103d6 | Iustin Pop | @set -e; \ |
2070 | a2d7ea09 | Iustin Pop | find . -type d \( -name . -o -name .git -prune -o -print \) | { \ |
2071 | a2d7ea09 | Iustin Pop | error=; \ |
2072 | a2d7ea09 | Iustin Pop | while read dir; do \ |
2073 | a2d7ea09 | Iustin Pop | case "$$dir" in \ |
2074 | a2d7ea09 | Iustin Pop | $(strip $(patsubst %,(./%) ;;,$(DIRCHECK_EXCLUDE) $(DIRS))) \ |
2075 | a2d7ea09 | Iustin Pop | *) error=1; echo "Directory $$dir not listed in Makefile" >&2 ;; \ |
2076 | a2d7ea09 | Iustin Pop | esac; \ |
2077 | a2d7ea09 | Iustin Pop | done; \ |
2078 | a2d7ea09 | Iustin Pop | for dir in $(DIRS); do \ |
2079 | a2d7ea09 | Iustin Pop | if ! test -d "$$dir"; then \ |
2080 | a2d7ea09 | Iustin Pop | echo "Directory $$dir listed in DIRS does not exist" >&2; \ |
2081 | a2d7ea09 | Iustin Pop | error=1; \ |
2082 | a2d7ea09 | Iustin Pop | fi \ |
2083 | a2d7ea09 | Iustin Pop | done; \ |
2084 | a2d7ea09 | Iustin Pop | test -z "$$error"; \ |
2085 | 6b997854 | Michael Hanselmann | } |
2086 | 6b997854 | Michael Hanselmann | |
2087 | f6cbcc06 | Michael Hanselmann | .PHONY: check-local |
2088 | 4c3d5fb6 | Iustin Pop | check-local: check-dirs $(GENERATED_FILES) |
2089 | eed5c5df | Michael Hanselmann | $(CHECK_PYTHON_CODE) $(check_python_code) |
2090 | 5d3c30df | Michael Hanselmann | PYTHONPATH=. $(CHECK_HEADER) $(check_python_code) |
2091 | 35576615 | Michael Hanselmann | $(CHECK_VERSION) $(VERSION) $(top_srcdir)/NEWS |
2092 | d466fd8b | Guido Trotter | RELEASE=$(PACKAGE_VERSION) $(CHECK_NEWS) < $(top_srcdir)/NEWS |
2093 | 83ea5145 | Michael Hanselmann | PYTHONPATH=. $(RUN_IN_TEMPDIR) $(CURDIR)/$(CHECK_IMPORTS) . $(standalone_python_modules) |
2094 | a5b0694f | Michael Hanselmann | error= ; \ |
2095 | 02312a1a | Michele Tartara | if [ "x`echo $(VERSION_SUFFIX)|grep 'alpha'`" == "x" ]; then \ |
2096 | 02312a1a | Michele Tartara | expver=$(VERSION_MAJOR).$(VERSION_MINOR); \ |
2097 | 02312a1a | Michele Tartara | if test "`head -n 1 $(top_srcdir)/README`" != "Ganeti $$expver"; then \ |
2098 | 02312a1a | Michele Tartara | echo "Incorrect version in README, expected $$expver" >&2; \ |
2099 | 02312a1a | Michele Tartara | error=1; \ |
2100 | 02312a1a | Michele Tartara | fi; \ |
2101 | 02312a1a | Michele Tartara | for file in doc/iallocator.rst doc/hooks.rst doc/virtual-cluster.rst \ |
2102 | 02312a1a | Michele Tartara | doc/security.rst; do \ |
2103 | 02312a1a | Michele Tartara | if test "`sed -ne '4 p' $(top_srcdir)/$$file`" != \ |
2104 | 02312a1a | Michele Tartara | "Documents Ganeti version $$expver"; then \ |
2105 | 02312a1a | Michele Tartara | echo "Incorrect version in $$file, expected $$expver" >&2; \ |
2106 | 02312a1a | Michele Tartara | error=1; \ |
2107 | 02312a1a | Michele Tartara | fi; \ |
2108 | 02312a1a | Michele Tartara | done; \ |
2109 | 02312a1a | Michele Tartara | if ! test -f $(top_srcdir)/doc/design-$$expver.rst; then \ |
2110 | 02312a1a | Michele Tartara | echo "File $(top_srcdir)/doc/design-$$expver.rst not found" >&2; \ |
2111 | 02312a1a | Michele Tartara | error=1; \ |
2112 | 02312a1a | Michele Tartara | fi; \ |
2113 | 02312a1a | Michele Tartara | if test "`sed -ne '5 p' $(top_srcdir)/doc/design-draft.rst`" != \ |
2114 | 02312a1a | Michele Tartara | ".. Last updated for Ganeti $$expver"; then \ |
2115 | 02312a1a | Michele Tartara | echo "doc/design-draft.rst was not updated for version $$expver" >&2; \ |
2116 | a5b0694f | Michael Hanselmann | error=1; \ |
2117 | a2d7ea09 | Iustin Pop | fi; \ |
2118 | 924d9134 | Michael Hanselmann | fi; \ |
2119 | 9cda4d6a | Iustin Pop | for file in configure.ac $(HS_LIBTEST_SRCS) $(HS_PROG_SRCS); do \ |
2120 | 9cda4d6a | Iustin Pop | if test $$(wc --max-line-length < $(top_srcdir)/$$file) -gt 80; then \ |
2121 | 9cda4d6a | Iustin Pop | echo "Longest line in $$file is longer than 80 characters" >&2; \ |
2122 | 9cda4d6a | Iustin Pop | error=1; \ |
2123 | 9cda4d6a | Iustin Pop | fi; \ |
2124 | 9cda4d6a | Iustin Pop | done; \ |
2125 | 9cda4d6a | Iustin Pop | test -z "$$error" |
2126 | eed5c5df | Michael Hanselmann | |
2127 | 5f7d4181 | Jose A. Lopes | .PHONY: hs-test-% |
2128 | 5f7d4181 | Jose A. Lopes | hs-test-%: test/hs/htest | $(BUILT_PYTHON_SOURCES) |
2129 | 5f7d4181 | Jose A. Lopes | @rm -f htest.tix |
2130 | 5f7d4181 | Jose A. Lopes | test/hs/htest -t $* |
2131 | 5f7d4181 | Jose A. Lopes | |
2132 | 784e77f0 | Iustin Pop | .PHONY: hs-tests |
2133 | 784e77f0 | Iustin Pop | hs-tests: test/hs/htest | $(BUILT_PYTHON_SOURCES) |
2134 | 784e77f0 | Iustin Pop | @rm -f htest.tix |
2135 | 3e16567e | Iustin Pop | ./test/hs/htest |
2136 | 784e77f0 | Iustin Pop | |
2137 | 5f7d4181 | Jose A. Lopes | .PHONY: hs-shell-% |
2138 | 5f7d4181 | Jose A. Lopes | hs-shell-%: test/hs/hpc-htools test/hs/hpc-mon-collector \ |
2139 | 5f7d4181 | Jose A. Lopes | $(HS_BUILT_TEST_HELPERS) |
2140 | 5f7d4181 | Jose A. Lopes | @rm -f hpc-htools.tix hpc-mon-collector.tix |
2141 | 5f7d4181 | Jose A. Lopes | HBINARY="./test/hs/hpc-htools" \ |
2142 | 5f7d4181 | Jose A. Lopes | SHELLTESTARGS=$(SHELLTESTARGS) \ |
2143 | 5f7d4181 | Jose A. Lopes | ./test/hs/offline-test.sh $* |
2144 | 5f7d4181 | Jose A. Lopes | |
2145 | 784e77f0 | Iustin Pop | .PHONY: hs-shell |
2146 | 784e77f0 | Iustin Pop | hs-shell: test/hs/hpc-htools test/hs/hpc-mon-collector $(HS_BUILT_TEST_HELPERS) |
2147 | 784e77f0 | Iustin Pop | @rm -f hpc-htools.tix hpc-mon-collector.tix |
2148 | 5f7d4181 | Jose A. Lopes | HBINARY="./test/hs/hpc-htools" \ |
2149 | 5f7d4181 | Jose A. Lopes | SHELLTESTARGS=$(SHELLTESTARGS) \ |
2150 | 5f7d4181 | Jose A. Lopes | ./test/hs/offline-test.sh |
2151 | 49e11c49 | Iustin Pop | |
2152 | 784e77f0 | Iustin Pop | .PHONY: hs-check |
2153 | 784e77f0 | Iustin Pop | hs-check: hs-tests hs-shell |
2154 | 784e77f0 | Iustin Pop | |
2155 | 08366664 | Michael Hanselmann | # E111: indentation is not a multiple of four |
2156 | 5ae4945a | Iustin Pop | # E121: continuation line indentation is not a multiple of four |
2157 | 5ae4945a | Iustin Pop | # (since our indent level is not 4) |
2158 | 5ae4945a | Iustin Pop | # E125: continuation line does not distinguish itself from next logical line |
2159 | 5ae4945a | Iustin Pop | # (since our indent level is not 4) |
2160 | 5ae4945a | Iustin Pop | # E127: continuation line over-indented for visual indent |
2161 | 5ae4945a | Iustin Pop | # (since our indent level is not 4) |
2162 | 5ae4945a | Iustin Pop | # note: do NOT add E128 here; it's a valid style error in most cases! |
2163 | 5ae4945a | Iustin Pop | # I've seen real errors, but also some cases were we indent wrongly |
2164 | 5ae4945a | Iustin Pop | # due to line length; try to rework the cases where it is triggered, |
2165 | 5ae4945a | Iustin Pop | # instead of silencing it |
2166 | 08366664 | Michael Hanselmann | # E261: at least two spaces before inline comment |
2167 | 08366664 | Michael Hanselmann | # E501: line too long (80 characters) |
2168 | 5ae4945a | Iustin Pop | PEP8_IGNORE = E111,E121,E125,E127,E261,E501 |
2169 | 08366664 | Michael Hanselmann | |
2170 | 08366664 | Michael Hanselmann | # For excluding pep8 expects filenames only, not whole paths |
2171 | 08366664 | Michael Hanselmann | PEP8_EXCLUDE = $(subst $(space),$(comma),$(strip $(notdir $(BUILT_PYTHON_SOURCES)))) |
2172 | 08366664 | Michael Hanselmann | |
2173 | bd39b6bb | Thomas Thrainer | LINT_TARGETS = pylint pylint-qa pylint-test |
2174 | 6e4c8f68 | Iustin Pop | if HAS_PEP8 |
2175 | 6e4c8f68 | Iustin Pop | LINT_TARGETS += pep8 |
2176 | 6e4c8f68 | Iustin Pop | endif |
2177 | 6e4c8f68 | Iustin Pop | if HAS_HLINT |
2178 | 6e4c8f68 | Iustin Pop | LINT_TARGETS += hlint |
2179 | 6e4c8f68 | Iustin Pop | endif |
2180 | 6e4c8f68 | Iustin Pop | |
2181 | e0098923 | Iustin Pop | .PHONY: lint |
2182 | 6e4c8f68 | Iustin Pop | lint: $(LINT_TARGETS) |
2183 | 6e4c8f68 | Iustin Pop | |
2184 | 6e4c8f68 | Iustin Pop | .PHONY: pylint |
2185 | 4c3d5fb6 | Iustin Pop | pylint: $(GENERATED_FILES) |
2186 | 6d7cc5ff | Michael Hanselmann | @test -n "$(PYLINT)" || { echo 'pylint' not found during configure; exit 1; } |
2187 | 6d7cc5ff | Michael Hanselmann | $(PYLINT) $(LINT_OPTS) $(lint_python_code) |
2188 | 6e4c8f68 | Iustin Pop | |
2189 | 6e4c8f68 | Iustin Pop | .PHONY: pylint-qa |
2190 | 4c3d5fb6 | Iustin Pop | pylint-qa: $(GENERATED_FILES) |
2191 | 6e4c8f68 | Iustin Pop | @test -n "$(PYLINT)" || { echo 'pylint' not found during configure; exit 1; } |
2192 | 3582eef6 | Iustin Pop | cd $(top_srcdir)/qa && \ |
2193 | 3582eef6 | Iustin Pop | PYTHONPATH=$(abs_top_srcdir) $(PYLINT) $(LINT_OPTS) \ |
2194 | 3582eef6 | Iustin Pop | --rcfile ../pylintrc $(patsubst qa/%.py,%,$(qa_scripts)) |
2195 | bd39b6bb | Thomas Thrainer | # FIXME: lint all test code, not just the newly added test support |
2196 | bd39b6bb | Thomas Thrainer | pylint-test: $(GENERATED_FILES) |
2197 | bd39b6bb | Thomas Thrainer | @test -n "$(PYLINT)" || { echo 'pylint' not found during configure; exit 1; } |
2198 | bd39b6bb | Thomas Thrainer | cd $(top_srcdir) && \ |
2199 | bd39b6bb | Thomas Thrainer | PYTHONPATH=.:./test/py $(PYLINT) $(LINT_OPTS) \ |
2200 | bd39b6bb | Thomas Thrainer | --rcfile=pylintrc-test $(python_test_support) |
2201 | e0098923 | Iustin Pop | |
2202 | 6e4c8f68 | Iustin Pop | .PHONY: pep8 |
2203 | 4c3d5fb6 | Iustin Pop | pep8: $(GENERATED_FILES) |
2204 | 6e4c8f68 | Iustin Pop | @test -n "$(PEP8)" || { echo 'pep8' not found during configure; exit 1; } |
2205 | 6e4c8f68 | Iustin Pop | $(PEP8) --ignore='$(PEP8_IGNORE)' --exclude='$(PEP8_EXCLUDE)' \ |
2206 | a2d7ea09 | Iustin Pop | --repeat $(pep8_python_code) |
2207 | 6e4c8f68 | Iustin Pop | |
2208 | 2cdaf225 | Iustin Pop | # FIXME: remove ignore "Use void" when GHC 6.x is deprecated |
2209 | 83846468 | Iustin Pop | HLINT_EXCLUDES = src/Ganeti/THH.hs test/hs/hpc-htools.hs |
2210 | 191ff68c | Iustin Pop | .PHONY: hlint |
2211 | 3add7574 | Iustin Pop | hlint: $(HS_BUILT_SRCS) src/lint-hints.hs |
2212 | 6e4c8f68 | Iustin Pop | @test -n "$(HLINT)" || { echo 'hlint' not found during configure; exit 1; } |
2213 | 1cced301 | Iustin Pop | @rm -f doc/hs-lint.html |
2214 | 191ff68c | Iustin Pop | if tty -s; then C="-c"; else C=""; fi; \ |
2215 | 488a5b2e | Michele Tartara | $(HLINT) --utf8 --report=doc/hs-lint.html --cross $$C \ |
2216 | 3603605a | Iustin Pop | --ignore "Use first" \ |
2217 | 2cdaf225 | Iustin Pop | --ignore "Use &&&" \ |
2218 | 2cdaf225 | Iustin Pop | --ignore "Use void" \ |
2219 | 86aa9ba3 | Iustin Pop | --ignore "Reduce duplication" \ |
2220 | 3add7574 | Iustin Pop | --hint src/lint-hints \ |
2221 | af42ffb6 | Iustin Pop | $(filter-out $(HLINT_EXCLUDES),$(HS_LIBTEST_SRCS) $(HS_PROG_SRCS)) |
2222 | 1cced301 | Iustin Pop | @if [ ! -f doc/hs-lint.html ]; then \ |
2223 | 1cced301 | Iustin Pop | echo "All good" > doc/hs-lint.html; \ |
2224 | 1cced301 | Iustin Pop | fi |
2225 | 191ff68c | Iustin Pop | |
2226 | 84a12e40 | Iustin Pop | # a dist hook rule for updating the vcs-version file; this is |
2227 | 84a12e40 | Iustin Pop | # hardcoded due to where it needs to build the file... |
2228 | 84a12e40 | Iustin Pop | dist-hook: |
2229 | b0b8458a | Iustin Pop | $(MAKE) $(AM_MAKEFLAGS) regen-vcs-version |
2230 | 316dc1ff | Iustin Pop | rm -f $(top_distdir)/vcs-version |
2231 | 84a12e40 | Iustin Pop | cp -p $(srcdir)/vcs-version $(top_distdir) |
2232 | 84a12e40 | Iustin Pop | |
2233 | 84a12e40 | Iustin Pop | # a distcheck hook rule for catching revision control directories |
2234 | b6f2e47f | Iustin Pop | distcheck-hook: |
2235 | c6aa0c42 | Michael Hanselmann | if find $(top_distdir) -name .svn -or -name .git | grep .; then \ |
2236 | a2d7ea09 | Iustin Pop | echo "Found revision control files in final archive." 1>&2; \ |
2237 | a2d7ea09 | Iustin Pop | exit 1; \ |
2238 | c6aa0c42 | Michael Hanselmann | fi |
2239 | c6aa0c42 | Michael Hanselmann | if find $(top_distdir) -name '*.py[co]' | grep .; then \ |
2240 | a2d7ea09 | Iustin Pop | echo "Found Python byte code in final archive." 1>&2; \ |
2241 | a2d7ea09 | Iustin Pop | exit 1; \ |
2242 | c6aa0c42 | Michael Hanselmann | fi |
2243 | c6aa0c42 | Michael Hanselmann | if find $(top_distdir) -name '*~' | grep .; then \ |
2244 | a2d7ea09 | Iustin Pop | echo "Found backup files in final archive." 1>&2; \ |
2245 | a2d7ea09 | Iustin Pop | exit 1; \ |
2246 | b6f2e47f | Iustin Pop | fi |
2247 | bf0b21da | Michael Hanselmann | # Empty files or directories should not be distributed. They can cause |
2248 | bf0b21da | Michael Hanselmann | # unnecessary warnings for packagers. Directories used by automake during |
2249 | bf0b21da | Michael Hanselmann | # distcheck must be excluded. |
2250 | bf0b21da | Michael Hanselmann | if find $(top_distdir) -empty -and -not \( \ |
2251 | a2d7ea09 | Iustin Pop | -path $(top_distdir)/_build -or \ |
2252 | a2d7ea09 | Iustin Pop | -path $(top_distdir)/_inst \) | grep .; then \ |
2253 | a2d7ea09 | Iustin Pop | echo "Found empty files or directories in final archive." 1>&2; \ |
2254 | a2d7ea09 | Iustin Pop | exit 1; \ |
2255 | bf0b21da | Michael Hanselmann | fi |
2256 | 9d02edc6 | Michael Hanselmann | if test -e $(top_distdir)/doc/man-html; then \ |
2257 | 9d02edc6 | Michael Hanselmann | echo "Found documentation including man pages in final archive" >&2; \ |
2258 | 9d02edc6 | Michael Hanselmann | exit 1; \ |
2259 | 9d02edc6 | Michael Hanselmann | fi |
2260 | c7b86f6c | Michael Hanselmann | |
2261 | d466fd8b | Guido Trotter | # Backwards compatible distcheck-release target |
2262 | c7b86f6c | Michael Hanselmann | distcheck-release: distcheck |
2263 | b6f2e47f | Iustin Pop | |
2264 | 7213dded | René Nussbaumer | distrebuildcheck: dist |
2265 | 7213dded | René Nussbaumer | set -e; \ |
2266 | 7213dded | René Nussbaumer | builddir=$$(mktemp -d $(abs_srcdir)/distrebuildcheck.XXXXXXX); \ |
2267 | 7213dded | René Nussbaumer | trap "echo Removing $$builddir; cd $(abs_srcdir); rm -rf $$builddir" EXIT; \ |
2268 | 7213dded | René Nussbaumer | cd $$builddir; \ |
2269 | 7213dded | René Nussbaumer | tar xzf $(abs_srcdir)/$(distdir).tar.gz; \ |
2270 | 7213dded | René Nussbaumer | cd $(distdir); \ |
2271 | 7213dded | René Nussbaumer | ./configure; \ |
2272 | 7213dded | René Nussbaumer | $(MAKE) maintainer-clean; \ |
2273 | 7213dded | René Nussbaumer | cp $(abs_srcdir)/vcs-version .; \ |
2274 | 7213dded | René Nussbaumer | ./configure; \ |
2275 | 7213dded | René Nussbaumer | $(MAKE) $(AM_MAKEFLAGS) |
2276 | 7213dded | René Nussbaumer | |
2277 | e627fe09 | Michael Hanselmann | dist-release: dist |
2278 | e627fe09 | Michael Hanselmann | set -e; \ |
2279 | e627fe09 | Michael Hanselmann | for i in $(DIST_ARCHIVES); do \ |
2280 | a2d7ea09 | Iustin Pop | echo -n "Checking $$i ... "; \ |
2281 | a2d7ea09 | Iustin Pop | autotools/check-tar < $$i; \ |
2282 | a2d7ea09 | Iustin Pop | echo OK; \ |
2283 | e627fe09 | Michael Hanselmann | done |
2284 | e627fe09 | Michael Hanselmann | |
2285 | 8925faaa | Iustin Pop | install-exec-local: |
2286 | 0d93b082 | Michael Hanselmann | @mkdir_p@ "$(DESTDIR)${localstatedir}/lib/ganeti" \ |
2287 | 2fa9f1dd | Michael Hanselmann | "$(DESTDIR)${localstatedir}/log/ganeti" \ |
2288 | 2fa9f1dd | Michael Hanselmann | "$(DESTDIR)${localstatedir}/run/ganeti" |
2289 | 9cf292af | Klaus Aehlig | for dir in $(SYMLINK_TARGET_DIRS); do \ |
2290 | 9cf292af | Klaus Aehlig | @mkdir_p@ $(DESTDIR)$$dir; \ |
2291 | 9cf292af | Klaus Aehlig | done |
2292 | eb875ff1 | Klaus Aehlig | $(LN_S) -f $(sysconfdir)/ganeti/lib $(DESTDIR)$(defaultversiondir) |
2293 | eb875ff1 | Klaus Aehlig | $(LN_S) -f $(sysconfdir)/ganeti/share $(DESTDIR)$(defaultversionedsharedir) |
2294 | 02eb0fe5 | Klaus Aehlig | for prog in $(HS_BIN_ROLES); do \ |
2295 | eb875ff1 | Klaus Aehlig | $(LN_S) -f $(defaultversiondir)$(exec_prefix)/bin/$$prog $(DESTDIR)$(exec_prefix)/bin/$$prog; \ |
2296 | 9cf292af | Klaus Aehlig | done |
2297 | eb875ff1 | Klaus Aehlig | $(LN_S) -f $(defaultversiondir)$(libdir)/ganeti/iallocators/hail $(DESTDIR)$(libdir)/ganeti/iallocators/hail |
2298 | 9cf292af | Klaus Aehlig | for prog in $(all_sbin_scripts); do \ |
2299 | eb875ff1 | Klaus Aehlig | $(LN_S) -f $(defaultversiondir)$(exec_prefix)/sbin/$$prog $(DESTDIR)$(exec_prefix)/sbin/$$prog; \ |
2300 | 9cf292af | Klaus Aehlig | done |
2301 | eb875ff1 | Klaus Aehlig | for prog in $(gnt_scripts_basenames); do \ |
2302 | eb875ff1 | Klaus Aehlig | $(LN_S) -f $(defaultversionedsharedir)/$$prog $(DESTDIR)$(exec_prefix)/sbin/$$prog; \ |
2303 | 9cf292af | Klaus Aehlig | done |
2304 | eb875ff1 | Klaus Aehlig | for prog in $(pkglib_python_basenames); do \ |
2305 | eb875ff1 | Klaus Aehlig | $(LN_S) -f $(defaultversionedsharedir)/$$prog $(DESTDIR)$(libdir)/ganeti/$$prog; \ |
2306 | eb875ff1 | Klaus Aehlig | done |
2307 | eb875ff1 | Klaus Aehlig | for prog in $(tools_python_basenames); do \ |
2308 | eb875ff1 | Klaus Aehlig | $(LN_S) -f $(defaultversionedsharedir)/$$prog $(DESTDIR)$(libdir)/ganeti/tools/$$prog; \ |
2309 | eb875ff1 | Klaus Aehlig | done |
2310 | eb875ff1 | Klaus Aehlig | for prog in $(tools_basenames); do \ |
2311 | eb875ff1 | Klaus Aehlig | $(LN_S) -f $(defaultversiondir)/$(libdir)/ganeti/tools/$$prog $(DESTDIR)$(libdir)/ganeti/tools/$$prog; \ |
2312 | 9cf292af | Klaus Aehlig | done |
2313 | 9cf292af | Klaus Aehlig | if ! test -n '$(ENABLE_MANPAGES)'; then \ |
2314 | 9cf292af | Klaus Aehlig | for man in $(manfullpath); do \ |
2315 | eb875ff1 | Klaus Aehlig | $(LN_S) -f $(defaultversionedsharedir)$(datarootdir)/man/$$man $(DESTDIR)$(datarootdir)/man/$$man; \ |
2316 | 9cf292af | Klaus Aehlig | done; \ |
2317 | 9cf292af | Klaus Aehlig | fi |
2318 | eb875ff1 | Klaus Aehlig | for prog in $(myexeclib_scripts_basenames); do \ |
2319 | eb875ff1 | Klaus Aehlig | $(LN_S) -f $(defaultversiondir)$(libdir)/ganeti/$$prog $(DESTDIR)$(libdir)/ganeti/$$prog; \ |
2320 | eb875ff1 | Klaus Aehlig | done |
2321 | eb875ff1 | Klaus Aehlig | if INSTALL_SYMLINKS |
2322 | 9fb2e563 | Klaus Aehlig | $(LN_S) $(versionedsharedir) $(DESTDIR)$(sysconfdir)/ganeti/share |
2323 | 9fb2e563 | Klaus Aehlig | $(LN_S) $(versiondir) $(DESTDIR)$(sysconfdir)/ganeti/lib |
2324 | 9cf292af | Klaus Aehlig | endif |
2325 | e8230860 | Michael Hanselmann | |
2326 | d128fdb6 | Iustin Pop | .PHONY: apidoc |
2327 | d9a900dc | Iustin Pop | if WANT_HSAPIDOC |
2328 | a38bfce5 | Iustin Pop | apidoc: py-apidoc hs-apidoc |
2329 | a38bfce5 | Iustin Pop | else |
2330 | a38bfce5 | Iustin Pop | apidoc: py-apidoc |
2331 | a38bfce5 | Iustin Pop | endif |
2332 | a38bfce5 | Iustin Pop | |
2333 | a38bfce5 | Iustin Pop | .PHONY: py-apidoc |
2334 | 4c3d5fb6 | Iustin Pop | py-apidoc: epydoc.conf $(RUN_IN_TEMPDIR) $(GENERATED_FILES) |
2335 | de645b5b | Michael Hanselmann | env - PATH="$$PATH" PYTHONPATH="$$PYTHONPATH" \ |
2336 | b959138f | Michael Hanselmann | $(RUN_IN_TEMPDIR) epydoc -v \ |
2337 | a2d7ea09 | Iustin Pop | --conf $(CURDIR)/epydoc.conf \ |
2338 | a2d7ea09 | Iustin Pop | --output $(CURDIR)/$(APIDOC_PY_DIR) |
2339 | a38bfce5 | Iustin Pop | |
2340 | a38bfce5 | Iustin Pop | .PHONY: hs-apidoc |
2341 | 7ddd8e4c | Iustin Pop | hs-apidoc: $(APIDOC_HS_DIR)/index.html |
2342 | 7ddd8e4c | Iustin Pop | |
2343 | 7ddd8e4c | Iustin Pop | $(APIDOC_HS_DIR)/index.html: $(HS_LIBTESTBUILT_SRCS) Makefile |
2344 | a38bfce5 | Iustin Pop | @test -n "$(HSCOLOUR)" || \ |
2345 | a38bfce5 | Iustin Pop | { echo 'HsColour' not found during configure; exit 1; } |
2346 | a38bfce5 | Iustin Pop | @test -n "$(HADDOCK)" || \ |
2347 | a38bfce5 | Iustin Pop | { echo 'haddock' not found during configure; exit 1; } |
2348 | 22c5390d | Iustin Pop | rm -rf $(APIDOC_HS_DIR)/* |
2349 | cbcd9144 | Michele Tartara | for i in $(ALL_APIDOC_HS_DIRS); do \ |
2350 | a2d7ea09 | Iustin Pop | @mkdir_p@ $$i; \ |
2351 | e61db4b2 | Iustin Pop | $(HSCOLOUR) -print-css > $$i/hscolour.css; \ |
2352 | cbcd9144 | Michele Tartara | done |
2353 | a38bfce5 | Iustin Pop | set -e ; \ |
2354 | 7ddd8e4c | Iustin Pop | export LC_ALL=en_US.UTF-8; \ |
2355 | 7ddd8e4c | Iustin Pop | OPTGHC="--optghc=-isrc --optghc=-itest/hs"; \ |
2356 | d9a900dc | Iustin Pop | if [ "$(HS_PARALLEL3)" ]; \ |
2357 | d9a900dc | Iustin Pop | then OPTGHC="$$OPTGHC --optghc=$(HS_PARALLEL3)"; \ |
2358 | 1adec4be | Iustin Pop | fi; \ |
2359 | d9a900dc | Iustin Pop | if [ "$(HS_REGEX_PCRE)" ]; \ |
2360 | d9a900dc | Iustin Pop | then OPTGHC="$$OPTGHC --optghc=$(HS_REGEX_PCRE)"; \ |
2361 | 21a5e56c | Iustin Pop | fi; \ |
2362 | 7ddd8e4c | Iustin Pop | for file in $(HS_LIBTESTBUILT_SRCS); do \ |
2363 | 7ddd8e4c | Iustin Pop | f_nosrc=$${file##src/}; \ |
2364 | 7ddd8e4c | Iustin Pop | f_notst=$${f_nosrc##test/hs/}; \ |
2365 | 7ddd8e4c | Iustin Pop | f_html=$${f_notst%%.hs}.html; \ |
2366 | 7ddd8e4c | Iustin Pop | $(HSCOLOUR) -css -anchor $$file > $(APIDOC_HS_DIR)/$$f_html ; \ |
2367 | a38bfce5 | Iustin Pop | done ; \ |
2368 | 7ddd8e4c | Iustin Pop | $(HADDOCK) --odir $(APIDOC_HS_DIR) --html --ignore-all-exports -w \ |
2369 | 7ddd8e4c | Iustin Pop | -t ganeti -p src/haddock-prologue \ |
2370 | a2d7ea09 | Iustin Pop | --source-module="%{MODULE/.//}.html" \ |
2371 | a2d7ea09 | Iustin Pop | --source-entity="%{MODULE/.//}.html#%{NAME}" \ |
2372 | a2d7ea09 | Iustin Pop | $$OPTGHC \ |
2373 | 7ddd8e4c | Iustin Pop | $(HS_LIBTESTBUILT_SRCS) |
2374 | d128fdb6 | Iustin Pop | |
2375 | 13e720f1 | Iustin Pop | .PHONY: TAGS |
2376 | 4c3d5fb6 | Iustin Pop | TAGS: $(GENERATED_FILES) |
2377 | 13e720f1 | Iustin Pop | rm -f TAGS |
2378 | 6b84f036 | Iustin Pop | $(GHC) -e ":etags" -v0 \ |
2379 | 6b84f036 | Iustin Pop | $(filter-out -O -Werror,$(HFLAGS)) \ |
2380 | 1ca709c1 | Iustin Pop | $(HS_PARALLEL3) $(HS_REGEX_PCRE) \ |
2381 | 6b84f036 | Iustin Pop | $(HS_LIBTEST_SRCS) |
2382 | 74fa8200 | Iustin Pop | find . -path './lib/*.py' -o -path './scripts/gnt-*' -o \ |
2383 | 74fa8200 | Iustin Pop | -path './daemons/ganeti-*' -o -path './tools/*' -o \ |
2384 | 74fa8200 | Iustin Pop | -path './qa/*.py' | \ |
2385 | 2db53645 | Iustin Pop | etags -l python -a - |
2386 | 13e720f1 | Iustin Pop | |
2387 | 27e336af | Michael Hanselmann | .PHONY: coverage |
2388 | e03e445c | Michele Tartara | |
2389 | e03e445c | Michele Tartara | COVERAGE_TESTS= |
2390 | b91e9518 | Iustin Pop | if WANT_HTOOLS |
2391 | e03e445c | Michele Tartara | COVERAGE_TESTS += hs-coverage |
2392 | b91e9518 | Iustin Pop | endif |
2393 | d14d93b0 | Helga Velroyen | if PY_UNIT |
2394 | e03e445c | Michele Tartara | COVERAGE_TESTS += py-coverage |
2395 | e03e445c | Michele Tartara | endif |
2396 | e03e445c | Michele Tartara | |
2397 | e03e445c | Michele Tartara | coverage: $(COVERAGE_TESTS) |
2398 | b91e9518 | Iustin Pop | |
2399 | b91e9518 | Iustin Pop | .PHONY: py-coverage |
2400 | 4c3d5fb6 | Iustin Pop | py-coverage: $(GENERATED_FILES) $(python_tests) |
2401 | 141c8421 | Michael Hanselmann | @test -n "$(PYCOVERAGE)" || \ |
2402 | 141c8421 | Michael Hanselmann | { echo 'python-coverage' not found during configure; exit 1; } |
2403 | 27e336af | Michael Hanselmann | set -e; \ |
2404 | 141c8421 | Michael Hanselmann | COVERAGE=$(PYCOVERAGE) \ |
2405 | 22c5390d | Iustin Pop | COVERAGE_FILE=$(CURDIR)/$(COVERAGE_PY_DIR)/data \ |
2406 | 22c5390d | Iustin Pop | TEXT_COVERAGE=$(CURDIR)/$(COVERAGE_PY_DIR)/report.txt \ |
2407 | 22c5390d | Iustin Pop | HTML_COVERAGE=$(CURDIR)/$(COVERAGE_PY_DIR) \ |
2408 | 208b02e3 | Iustin Pop | $(PLAIN_TESTS_ENVIRONMENT) \ |
2409 | 208b02e3 | Iustin Pop | $(abs_top_srcdir)/autotools/gen-py-coverage \ |
2410 | e8c8cf1a | Michael Hanselmann | $(python_tests) |
2411 | 27e336af | Michael Hanselmann | |
2412 | b91e9518 | Iustin Pop | .PHONY: hs-coverage |
2413 | 83846468 | Iustin Pop | hs-coverage: $(haskell_tests) test/hs/hpc-htools test/hs/hpc-mon-collector |
2414 | 316dc1ff | Iustin Pop | rm -f *.tix |
2415 | b0b8458a | Iustin Pop | $(MAKE) $(AM_MAKEFLAGS) hs-check |
2416 | 48f12e73 | Iustin Pop | @mkdir_p@ $(COVERAGE_HS_DIR) |
2417 | 5f2cdb2a | Michele Tartara | hpc sum --union $(HPCEXCL) \ |
2418 | 208b02e3 | Iustin Pop | htest.tix hpc-htools.tix hpc-mon-collector.tix > coverage-hs.tix |
2419 | 208b02e3 | Iustin Pop | hpc markup --destdir=$(COVERAGE_HS_DIR) coverage-hs.tix |
2420 | 961ddf1e | Thomas Thrainer | hpc report coverage-hs.tix | tee $(COVERAGE_HS_DIR)/report.txt |
2421 | 82888134 | Michael Hanselmann | $(LN_S) -f hpc_index.html $(COVERAGE_HS_DIR)/index.html |
2422 | b91e9518 | Iustin Pop | |
2423 | ec8379bd | Iustin Pop | # Special "kind-of-QA" target for htools, needs special setup (all |
2424 | ec8379bd | Iustin Pop | # tools compiled with -fhpc) |
2425 | ec8379bd | Iustin Pop | .PHONY: live-test |
2426 | ec8379bd | Iustin Pop | live-test: all |
2427 | ec8379bd | Iustin Pop | set -e ; \ |
2428 | 3add7574 | Iustin Pop | cd src; \ |
2429 | 82888134 | Michael Hanselmann | rm -f .hpc; $(LN_S) ../.hpc .hpc; \ |
2430 | ec8379bd | Iustin Pop | rm -f *.tix *.mix; \ |
2431 | ec8379bd | Iustin Pop | ./live-test.sh; \ |
2432 | 3add7574 | Iustin Pop | hpc sum --union $(HPCEXCL) $(addsuffix .tix,$(HS_PROGS:src/%=%)) \ |
2433 | ec8379bd | Iustin Pop | --output=live-test.tix ; \ |
2434 | 22c5390d | Iustin Pop | @mkdir_p@ ../$(COVERAGE_HS_DIR) ; \ |
2435 | 22c5390d | Iustin Pop | hpc markup --destdir=../$(COVERAGE_HS_DIR) live-test \ |
2436 | a2d7ea09 | Iustin Pop | --srcdir=.. $(HPCEXCL) ; \ |
2437 | ec8379bd | Iustin Pop | hpc report --srcdir=.. live-test $(HPCEXCL) |
2438 | b91e9518 | Iustin Pop | |
2439 | 00734cae | Michele Tartara | commit-check: autotools-check distcheck lint apidoc |
2440 | 00734cae | Michele Tartara | |
2441 | 00734cae | Michele Tartara | autotools-check: |
2442 | 00734cae | Michele Tartara | TESTDATA_DIR=./test/data shelltest $(SHELLTESTARGS) \ |
2443 | 00734cae | Michele Tartara | $(abs_top_srcdir)/test/autotools/*-*.test \ |
2444 | 00734cae | Michele Tartara | -- --hide-successes |
2445 | b341b9ca | Guido Trotter | |
2446 | 6438e259 | Iustin Pop | .PHONY: gitignore-check |
2447 | 6438e259 | Iustin Pop | gitignore-check: |
2448 | 6438e259 | Iustin Pop | @if [ -n "`git status --short`" ]; then \ |
2449 | 6438e259 | Iustin Pop | echo "Git status is not clean!" 1>&2 ; \ |
2450 | 6438e259 | Iustin Pop | git status --short; \ |
2451 | 6438e259 | Iustin Pop | exit 1; \ |
2452 | 6438e259 | Iustin Pop | fi |
2453 | 6438e259 | Iustin Pop | |
2454 | 6aff0514 | Iustin Pop | # target to rebuild all man pages (both groff and html output) |
2455 | 6aff0514 | Iustin Pop | .PHONY: man |
2456 | 6aff0514 | Iustin Pop | man: $(man_MANS) $(manhtml) |
2457 | 6aff0514 | Iustin Pop | |
2458 | 37519c09 | Iustin Pop | # Target that builds all binaries (including those that are not |
2459 | 37519c09 | Iustin Pop | # rebuilt except when running the tests) |
2460 | 37519c09 | Iustin Pop | .PHONY: really-all |
2461 | af42ffb6 | Iustin Pop | really-all: all $(check_SCRIPTS) $(haskell_tests) $(HS_ALL_PROGS) |
2462 | 37519c09 | Iustin Pop | |
2463 | 1d45f7a0 | Iustin Pop | # we don't need the ancient implicit rules: |
2464 | 1d45f7a0 | Iustin Pop | %: %,v |
2465 | 1d45f7a0 | Iustin Pop | %: RCS/%,v |
2466 | 1d45f7a0 | Iustin Pop | %: RCS/% |
2467 | 1d45f7a0 | Iustin Pop | %: s.% |
2468 | 1d45f7a0 | Iustin Pop | %: SCCS/s.% |
2469 | 1d45f7a0 | Iustin Pop | |
2470 | 3baa809c | Michael Hanselmann | -include ./Makefile.local |
2471 | 3baa809c | Michael Hanselmann | |
2472 | e8230860 | Michael Hanselmann | # vim: set noet : |