root / Makefile.am @ 501c95a2
History | View | Annotate | Download (6.6 kB)
1 | e8230860 | Michael Hanselmann | # Ganeti makefile |
---|---|---|---|
2 | e8230860 | Michael Hanselmann | # - Indent with tabs only. |
3 | e8230860 | Michael Hanselmann | # - Keep files sorted; one line per file. |
4 | e8230860 | Michael Hanselmann | # - Directories in lib/ must have their own *dir variable (see hypervisor). |
5 | e8230860 | Michael Hanselmann | # - All directories must be listed DIRS. |
6 | e8230860 | Michael Hanselmann | # - Use autogen.sh to generate Makefile.in and configure script |
7 | e8230860 | Michael Hanselmann | |
8 | e8230860 | Michael Hanselmann | # Automake doesn't export these variables before version 1.10. |
9 | e8230860 | Michael Hanselmann | abs_top_builddir = @abs_top_builddir@ |
10 | e8230860 | Michael Hanselmann | abs_top_srcdir = @abs_top_srcdir@ |
11 | e8230860 | Michael Hanselmann | |
12 | 6e06b36c | Iustin Pop | ACLOCAL_AMFLAGS = -I autotools |
13 | e8230860 | Michael Hanselmann | DOCBOOK_WRAPPER = $(top_srcdir)/autotools/docbook-wrapper |
14 | e8230860 | Michael Hanselmann | REPLACE_VARS_SED = autotools/replace_vars.sed |
15 | e8230860 | Michael Hanselmann | |
16 | e8230860 | Michael Hanselmann | hypervisordir = $(pkgpythondir)/hypervisor |
17 | e8230860 | Michael Hanselmann | toolsdir = $(pkglibdir)/tools |
18 | e8230860 | Michael Hanselmann | docdir = $(datadir)/doc/$(PACKAGE) |
19 | e8230860 | Michael Hanselmann | |
20 | e8230860 | Michael Hanselmann | DIRS = \ |
21 | e8230860 | Michael Hanselmann | autotools \ |
22 | e8230860 | Michael Hanselmann | daemons \ |
23 | e8230860 | Michael Hanselmann | devel \ |
24 | e8230860 | Michael Hanselmann | doc \ |
25 | e8230860 | Michael Hanselmann | doc/examples \ |
26 | e8230860 | Michael Hanselmann | lib \ |
27 | e8230860 | Michael Hanselmann | lib/hypervisor \ |
28 | e8230860 | Michael Hanselmann | man \ |
29 | e8230860 | Michael Hanselmann | qa \ |
30 | e8230860 | Michael Hanselmann | qa/hooks \ |
31 | e8230860 | Michael Hanselmann | scripts \ |
32 | e8230860 | Michael Hanselmann | test \ |
33 | e8230860 | Michael Hanselmann | test/data \ |
34 | e8230860 | Michael Hanselmann | tools |
35 | e8230860 | Michael Hanselmann | |
36 | e8230860 | Michael Hanselmann | CLEANFILES = \ |
37 | e8230860 | Michael Hanselmann | autotools/replace_vars.sed \ |
38 | e8230860 | Michael Hanselmann | devel/upload \ |
39 | e8230860 | Michael Hanselmann | doc/*.html \ |
40 | e8230860 | Michael Hanselmann | doc/*.in \ |
41 | e8230860 | Michael Hanselmann | doc/*.pdf \ |
42 | e8230860 | Michael Hanselmann | doc/examples/ganeti.initd \ |
43 | e8230860 | Michael Hanselmann | doc/examples/ganeti.cron \ |
44 | e8230860 | Michael Hanselmann | lib/*.py[co] \ |
45 | e8230860 | Michael Hanselmann | lib/hypervisor/*.py[co] \ |
46 | e8230860 | Michael Hanselmann | man/*.[78] \ |
47 | e8230860 | Michael Hanselmann | man/*.in \ |
48 | e8230860 | Michael Hanselmann | qa/*.py[co] \ |
49 | e8230860 | Michael Hanselmann | qa/hooks/*.py[co] \ |
50 | e8230860 | Michael Hanselmann | test/*.py[co] \ |
51 | e8230860 | Michael Hanselmann | stamp-directories \ |
52 | e8230860 | Michael Hanselmann | $(nodist_pkgpython_PYTHON) |
53 | e8230860 | Michael Hanselmann | |
54 | e8230860 | Michael Hanselmann | nodist_pkgpython_PYTHON = \ |
55 | e8230860 | Michael Hanselmann | lib/_autoconf.py |
56 | e8230860 | Michael Hanselmann | |
57 | e8230860 | Michael Hanselmann | pkgpython_PYTHON = \ |
58 | e8230860 | Michael Hanselmann | lib/__init__.py \ |
59 | e8230860 | Michael Hanselmann | lib/backend.py \ |
60 | e8230860 | Michael Hanselmann | lib/bdev.py \ |
61 | e8230860 | Michael Hanselmann | lib/bootstrap.py \ |
62 | e8230860 | Michael Hanselmann | lib/cli.py \ |
63 | e8230860 | Michael Hanselmann | lib/cmdlib.py \ |
64 | e8230860 | Michael Hanselmann | lib/config.py \ |
65 | e8230860 | Michael Hanselmann | lib/constants.py \ |
66 | e8230860 | Michael Hanselmann | lib/errors.py \ |
67 | e8230860 | Michael Hanselmann | lib/jqueue.py \ |
68 | e8230860 | Michael Hanselmann | lib/locking.py \ |
69 | e8230860 | Michael Hanselmann | lib/logger.py \ |
70 | e8230860 | Michael Hanselmann | lib/luxi.py \ |
71 | e8230860 | Michael Hanselmann | lib/mcpu.py \ |
72 | e8230860 | Michael Hanselmann | lib/objects.py \ |
73 | e8230860 | Michael Hanselmann | lib/opcodes.py \ |
74 | e8230860 | Michael Hanselmann | lib/rpc.py \ |
75 | e8230860 | Michael Hanselmann | lib/serializer.py \ |
76 | e8230860 | Michael Hanselmann | lib/ssconf.py \ |
77 | e8230860 | Michael Hanselmann | lib/ssh.py \ |
78 | e8230860 | Michael Hanselmann | lib/utils.py |
79 | e8230860 | Michael Hanselmann | |
80 | e8230860 | Michael Hanselmann | hypervisor_PYTHON = \ |
81 | e8230860 | Michael Hanselmann | lib/hypervisor/__init__.py \ |
82 | e8230860 | Michael Hanselmann | lib/hypervisor/hv_base.py \ |
83 | e8230860 | Michael Hanselmann | lib/hypervisor/hv_fake.py \ |
84 | e8230860 | Michael Hanselmann | lib/hypervisor/hv_xen.py |
85 | e8230860 | Michael Hanselmann | |
86 | e8230860 | Michael Hanselmann | docsgml = \ |
87 | e8230860 | Michael Hanselmann | doc/hooks.sgml \ |
88 | e8230860 | Michael Hanselmann | doc/install.sgml \ |
89 | e8230860 | Michael Hanselmann | doc/admin.sgml \ |
90 | e8230860 | Michael Hanselmann | doc/iallocator.sgml |
91 | e8230860 | Michael Hanselmann | |
92 | e8230860 | Michael Hanselmann | doc_DATA = \ |
93 | e8230860 | Michael Hanselmann | $(patsubst %.sgml,%.html,$(docsgml)) \ |
94 | e8230860 | Michael Hanselmann | $(patsubst %.sgml,%.pdf,$(docsgml)) |
95 | e8230860 | Michael Hanselmann | |
96 | e8230860 | Michael Hanselmann | dist_sbin_SCRIPTS = \ |
97 | e8230860 | Michael Hanselmann | daemons/ganeti-noded \ |
98 | e8230860 | Michael Hanselmann | daemons/ganeti-watcher \ |
99 | e8230860 | Michael Hanselmann | daemons/ganeti-master \ |
100 | e8230860 | Michael Hanselmann | daemons/ganeti-masterd \ |
101 | e8230860 | Michael Hanselmann | scripts/gnt-backup \ |
102 | e8230860 | Michael Hanselmann | scripts/gnt-cluster \ |
103 | e8230860 | Michael Hanselmann | scripts/gnt-debug \ |
104 | e8230860 | Michael Hanselmann | scripts/gnt-instance \ |
105 | e8230860 | Michael Hanselmann | scripts/gnt-job \ |
106 | e8230860 | Michael Hanselmann | scripts/gnt-node \ |
107 | e8230860 | Michael Hanselmann | scripts/gnt-os |
108 | e8230860 | Michael Hanselmann | |
109 | e8230860 | Michael Hanselmann | dist_tools_SCRIPTS = \ |
110 | e8230860 | Michael Hanselmann | tools/burnin \ |
111 | e8230860 | Michael Hanselmann | tools/cfgshell \ |
112 | e8230860 | Michael Hanselmann | tools/cfgupgrade \ |
113 | e8230860 | Michael Hanselmann | tools/lvmstrap |
114 | e8230860 | Michael Hanselmann | |
115 | e8230860 | Michael Hanselmann | EXTRA_DIST = \ |
116 | e8230860 | Michael Hanselmann | NEWS \ |
117 | e8230860 | Michael Hanselmann | DEVNOTES \ |
118 | e8230860 | Michael Hanselmann | autotools/docbook-wrapper \ |
119 | e8230860 | Michael Hanselmann | devel/upload.in \ |
120 | e8230860 | Michael Hanselmann | $(docsgml) \ |
121 | e8230860 | Michael Hanselmann | doc/examples/ganeti.initd.in \ |
122 | e8230860 | Michael Hanselmann | doc/examples/ganeti.cron.in \ |
123 | e8230860 | Michael Hanselmann | doc/examples/dumb-allocator \ |
124 | e8230860 | Michael Hanselmann | qa/hooks/datehook.py \ |
125 | e8230860 | Michael Hanselmann | qa/hooks/loghook.py \ |
126 | e8230860 | Michael Hanselmann | test/testutils.py \ |
127 | e8230860 | Michael Hanselmann | test/mocks.py \ |
128 | e8230860 | Michael Hanselmann | $(dist_TESTS) \ |
129 | e8230860 | Michael Hanselmann | $(TEST_FILES) \ |
130 | e8230860 | Michael Hanselmann | man/footer.sgml \ |
131 | e8230860 | Michael Hanselmann | $(mansgml) \ |
132 | e8230860 | Michael Hanselmann | qa/ganeti-qa.py \ |
133 | e8230860 | Michael Hanselmann | qa/qa-sample.yaml \ |
134 | e8230860 | Michael Hanselmann | qa/qa_cluster.py \ |
135 | e8230860 | Michael Hanselmann | qa/qa_config.py \ |
136 | e8230860 | Michael Hanselmann | qa/qa_daemon.py \ |
137 | e8230860 | Michael Hanselmann | qa/qa_env.py \ |
138 | e8230860 | Michael Hanselmann | qa/qa_error.py \ |
139 | e8230860 | Michael Hanselmann | qa/qa_instance.py \ |
140 | e8230860 | Michael Hanselmann | qa/qa_node.py \ |
141 | e8230860 | Michael Hanselmann | qa/qa_os.py \ |
142 | e8230860 | Michael Hanselmann | qa/qa_other.py \ |
143 | e8230860 | Michael Hanselmann | qa/qa_tags.py \ |
144 | e8230860 | Michael Hanselmann | qa/qa_utils.py |
145 | e8230860 | Michael Hanselmann | |
146 | e8230860 | Michael Hanselmann | man_MANS = \ |
147 | e8230860 | Michael Hanselmann | man/ganeti.7 \ |
148 | e8230860 | Michael Hanselmann | man/ganeti-master.8 \ |
149 | e8230860 | Michael Hanselmann | man/ganeti-noded.8 \ |
150 | e8230860 | Michael Hanselmann | man/ganeti-os-interface.7 \ |
151 | e8230860 | Michael Hanselmann | man/ganeti-watcher.8 \ |
152 | e8230860 | Michael Hanselmann | man/gnt-backup.8 \ |
153 | e8230860 | Michael Hanselmann | man/gnt-cluster.8 \ |
154 | e8230860 | Michael Hanselmann | man/gnt-instance.8 \ |
155 | e8230860 | Michael Hanselmann | man/gnt-node.8 \ |
156 | e8230860 | Michael Hanselmann | man/gnt-os.8 |
157 | e8230860 | Michael Hanselmann | |
158 | e8230860 | Michael Hanselmann | maninput = $(patsubst %.7,%.in,$(patsubst %.8,%.in,$(man_MANS))) |
159 | e8230860 | Michael Hanselmann | mansgml = $(patsubst %.in,%.sgml,$(maninput)) |
160 | e8230860 | Michael Hanselmann | |
161 | e8230860 | Michael Hanselmann | TEST_FILES = \ |
162 | e8230860 | Michael Hanselmann | test/data/bdev-both.txt \ |
163 | e8230860 | Michael Hanselmann | test/data/bdev-disk.txt \ |
164 | e8230860 | Michael Hanselmann | test/data/bdev-net.txt \ |
165 | e8230860 | Michael Hanselmann | test/data/proc_drbd8.txt |
166 | e8230860 | Michael Hanselmann | |
167 | e8230860 | Michael Hanselmann | dist_TESTS = \ |
168 | e8230860 | Michael Hanselmann | test/ganeti.config_unittest.py \ |
169 | e8230860 | Michael Hanselmann | test/ganeti.hooks_unittest.py \ |
170 | e8230860 | Michael Hanselmann | test/ganeti.utils_unittest.py \ |
171 | e8230860 | Michael Hanselmann | test/ganeti.bdev_unittest.py \ |
172 | e8230860 | Michael Hanselmann | test/ganeti.ssh_unittest.py \ |
173 | e8230860 | Michael Hanselmann | test/ganeti.locking_unittest.py \ |
174 | 501c95a2 | Michael Hanselmann | test/ganeti.serializer_unittest.py \ |
175 | e8230860 | Michael Hanselmann | test/ganeti.constants_unittest.py |
176 | e8230860 | Michael Hanselmann | |
177 | e8230860 | Michael Hanselmann | nodist_TESTS = |
178 | e8230860 | Michael Hanselmann | |
179 | e8230860 | Michael Hanselmann | TESTS = $(dist_TESTS) $(nodist_TESTS) |
180 | e8230860 | Michael Hanselmann | |
181 | e8230860 | Michael Hanselmann | TESTS_ENVIRONMENT = PYTHONPATH=.:$(top_builddir) |
182 | e8230860 | Michael Hanselmann | |
183 | 6e06b36c | Iustin Pop | |
184 | e8230860 | Michael Hanselmann | all-local: stamp-directories lib/_autoconf.py devel/upload \ |
185 | e8230860 | Michael Hanselmann | doc/examples/ganeti.initd doc/examples/ganeti.cron |
186 | e8230860 | Michael Hanselmann | |
187 | e8230860 | Michael Hanselmann | devel/upload: devel/upload.in stamp-directories $(REPLACE_VARS_SED) |
188 | e8230860 | Michael Hanselmann | sed -f $(REPLACE_VARS_SED) < $< > $@ |
189 | e8230860 | Michael Hanselmann | chmod u+x $@ |
190 | e8230860 | Michael Hanselmann | |
191 | e8230860 | Michael Hanselmann | doc/examples/ganeti.%: doc/examples/ganeti.%.in stamp-directories \ |
192 | e8230860 | Michael Hanselmann | $(REPLACE_VARS_SED) |
193 | e8230860 | Michael Hanselmann | sed -f $(REPLACE_VARS_SED) < $< > $@ |
194 | e8230860 | Michael Hanselmann | |
195 | e8230860 | Michael Hanselmann | doc/%.in: doc/%.sgml stamp-directories $(REPLACE_VARS_SED) |
196 | e8230860 | Michael Hanselmann | sed -f $(REPLACE_VARS_SED) < $< > $@ |
197 | e8230860 | Michael Hanselmann | |
198 | e8230860 | Michael Hanselmann | man/%.in: man/%.sgml stamp-directories $(REPLACE_VARS_SED) |
199 | e8230860 | Michael Hanselmann | sed -f $(REPLACE_VARS_SED) < $< > $@ |
200 | e8230860 | Michael Hanselmann | |
201 | e8230860 | Michael Hanselmann | doc/%.pdf: doc/%.in $(DOCBOOK_WRAPPER) |
202 | e8230860 | Michael Hanselmann | $(DOCBOOK_WRAPPER) $< $@ |
203 | e8230860 | Michael Hanselmann | |
204 | e8230860 | Michael Hanselmann | doc/%.html: doc/%.in $(DOCBOOK_WRAPPER) |
205 | e8230860 | Michael Hanselmann | $(DOCBOOK_WRAPPER) $< $@ |
206 | e8230860 | Michael Hanselmann | |
207 | e8230860 | Michael Hanselmann | man/%.7: man/%.in man/footer.sgml $(DOCBOOK_WRAPPER) |
208 | e8230860 | Michael Hanselmann | $(DOCBOOK_WRAPPER) $< $@ |
209 | e8230860 | Michael Hanselmann | |
210 | e8230860 | Michael Hanselmann | man/%.8: man/%.in man/footer.sgml $(DOCBOOK_WRAPPER) |
211 | e8230860 | Michael Hanselmann | $(DOCBOOK_WRAPPER) $< $@ |
212 | e8230860 | Michael Hanselmann | |
213 | e8230860 | Michael Hanselmann | man/footer.sgml $(TESTS): srclinks |
214 | e8230860 | Michael Hanselmann | |
215 | e8230860 | Michael Hanselmann | $(TESTS): ganeti |
216 | e8230860 | Michael Hanselmann | |
217 | e8230860 | Michael Hanselmann | lib/_autoconf.py: Makefile stamp-directories |
218 | e8230860 | Michael Hanselmann | set -e; \ |
219 | e8230860 | Michael Hanselmann | { echo '# This file is automatically generated, do not edit!'; \ |
220 | e8230860 | Michael Hanselmann | echo '#'; \ |
221 | e8230860 | Michael Hanselmann | echo "PACKAGE_VERSION = '$(PACKAGE_VERSION)'"; \ |
222 | e8230860 | Michael Hanselmann | echo "VERSION_MAJOR = '$(VERSION_MAJOR)'"; \ |
223 | e8230860 | Michael Hanselmann | echo "VERSION_MINOR = '$(VERSION_MINOR)'"; \ |
224 | e8230860 | Michael Hanselmann | echo "VERSION_REVISION = '$(VERSION_REVISION)'"; \ |
225 | e8230860 | Michael Hanselmann | echo "VERSION_SUFFIX = '$(VERSION_SUFFIX)'"; \ |
226 | e8230860 | Michael Hanselmann | echo "VERSION_FULL = '$(VERSION_FULL)'"; \ |
227 | e8230860 | Michael Hanselmann | echo "LOCALSTATEDIR = '$(localstatedir)'"; \ |
228 | e8230860 | Michael Hanselmann | echo "SYSCONFDIR = '$(sysconfdir)'"; \ |
229 | e8230860 | Michael Hanselmann | echo "SSH_INITD_SCRIPT = '$(SSH_INITD_SCRIPT)'"; \ |
230 | e8230860 | Michael Hanselmann | echo "EXPORT_DIR = '$(EXPORT_DIR)'"; \ |
231 | e8230860 | Michael Hanselmann | echo "OS_SEARCH_PATH = [$(OS_SEARCH_PATH)]"; \ |
232 | e8230860 | Michael Hanselmann | echo "XEN_KERNEL = '$(XEN_KERNEL)'"; \ |
233 | e8230860 | Michael Hanselmann | echo "XEN_INITRD = '$(XEN_INITRD)'"; \ |
234 | e8230860 | Michael Hanselmann | echo "FILE_STORAGE_DIR = '$(FILE_STORAGE_DIR)'"; \ |
235 | e8230860 | Michael Hanselmann | echo "IALLOCATOR_SEARCH_PATH = [$(IALLOCATOR_SEARCH_PATH)]"; \ |
236 | e8230860 | Michael Hanselmann | } > $@ |
237 | e8230860 | Michael Hanselmann | |
238 | e8230860 | Michael Hanselmann | $(REPLACE_VARS_SED): Makefile stamp-directories |
239 | e8230860 | Michael Hanselmann | set -e; \ |
240 | e8230860 | Michael Hanselmann | { echo 's#@PREFIX@#$(prefix)#g'; \ |
241 | e8230860 | Michael Hanselmann | echo 's#@SYSCONFDIR@#$(sysconfdir)#g'; \ |
242 | e8230860 | Michael Hanselmann | echo 's#@LOCALSTATEDIR@#$(localstatedir)#g'; \ |
243 | e8230860 | Michael Hanselmann | echo 's#@SBINDIR@#$(sbindir)#g'; \ |
244 | e8230860 | Michael Hanselmann | echo 's#@GANETI_VERSION@#$(PACKAGE_VERSION)#g'; \ |
245 | e8230860 | Michael Hanselmann | echo 's#@LOCALSTATEDIR@#$(localstatedir)#g'; \ |
246 | e8230860 | Michael Hanselmann | echo 's#@CUSTOM_XEN_KERNEL@#$(XEN_KERNEL)#g'; \ |
247 | e8230860 | Michael Hanselmann | echo 's#@CUSTOM_XEN_INITRD@#$(XEN_INITRD)#g'; \ |
248 | e8230860 | Michael Hanselmann | } > $@ |
249 | e8230860 | Michael Hanselmann | |
250 | e8230860 | Michael Hanselmann | # We need to create symlinks because "make distcheck" will not install Python |
251 | e8230860 | Michael Hanselmann | # files when building. |
252 | e8230860 | Michael Hanselmann | #.PHONY: srclinks |
253 | e8230860 | Michael Hanselmann | srclinks: stamp-directories |
254 | e8230860 | Michael Hanselmann | set -e; \ |
255 | e8230860 | Michael Hanselmann | for i in man/footer.sgml $(pkgpython_PYTHON) $(hypervisor_PYTHON); do \ |
256 | e8230860 | Michael Hanselmann | if test ! -f $$i -a -f $(abs_top_srcdir)/$$i; then \ |
257 | e8230860 | Michael Hanselmann | $(LN_S) $(abs_top_srcdir)/$$i $$i; \ |
258 | e8230860 | Michael Hanselmann | fi; \ |
259 | e8230860 | Michael Hanselmann | done |
260 | 97a37b3f | Michael Hanselmann | |
261 | 9ff7e35c | Michael Hanselmann | .PHONY: ganeti |
262 | 9ff7e35c | Michael Hanselmann | ganeti: |
263 | 9ff7e35c | Michael Hanselmann | cd $(top_builddir) && rm -f $@ && $(LN_S) lib $@ |
264 | 9ff7e35c | Michael Hanselmann | |
265 | b6f2e47f | Iustin Pop | # a dist hook rule for catching revision control directories |
266 | b6f2e47f | Iustin Pop | distcheck-hook: |
267 | b6f2e47f | Iustin Pop | if find $(top_distdir) | grep -F -e '.svn' -e '.git'; then \ |
268 | b6f2e47f | Iustin Pop | echo "Found revision control files in final archive" 1>&2 ; \ |
269 | b6f2e47f | Iustin Pop | exit 1; \ |
270 | b6f2e47f | Iustin Pop | fi |
271 | b6f2e47f | Iustin Pop | |
272 | 8925faaa | Iustin Pop | install-exec-local: |
273 | 0d93b082 | Michael Hanselmann | @mkdir_p@ "$(DESTDIR)${localstatedir}/lib/ganeti" \ |
274 | 2fa9f1dd | Michael Hanselmann | "$(DESTDIR)${localstatedir}/log/ganeti" \ |
275 | 2fa9f1dd | Michael Hanselmann | "$(DESTDIR)${localstatedir}/run/ganeti" |
276 | e8230860 | Michael Hanselmann | |
277 | e8230860 | Michael Hanselmann | stamp-directories: Makefile |
278 | e8230860 | Michael Hanselmann | @mkdir_p@ $(DIRS) |
279 | e8230860 | Michael Hanselmann | touch $@ |
280 | e8230860 | Michael Hanselmann | |
281 | e8230860 | Michael Hanselmann | # vim: set noet : |