1XEN_ROOT = $(CURDIR)/../..
2include $(XEN_ROOT)/tools/Rules.mk
3
4.PHONY: all
5all: build
6
7PY_CFLAGS = $(CFLAGS) $(PY_NOOPT_CFLAGS)
8PY_LDFLAGS = $(SHLIB_LDFLAGS) $(APPEND_LDFLAGS)
9INSTALL_LOG = build/installed_files.txt
10
11setup.py = CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDSHARED="$(CC)" LDFLAGS="$(PY_LDFLAGS)" \
12           SHLIB_libxenctrl="$(SHLIB_libxenctrl)" \
13           SHLIB_libxenguest="$(SHLIB_libxenguest)" \
14           SHLIB_libxenstore="$(SHLIB_libxenstore)" \
15           $(PYTHON) setup.py
16
17.PHONY: build
18build:
19	$(setup.py) build
20
21.PHONY: install
22install:
23	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
24	$(setup.py) install --record $(INSTALL_LOG) $(PYTHON_PREFIX_ARG) \
25		--root="$(DESTDIR)" --force
26	$(INSTALL_PYTHON_PROG) scripts/convert-legacy-stream $(DESTDIR)$(LIBEXEC_BIN)
27	$(INSTALL_PYTHON_PROG) scripts/verify-stream-v2 $(DESTDIR)$(LIBEXEC_BIN)
28
29.PHONY: uninstall
30uninstall:
31	rm -f $(DESTDIR)$(LIBEXEC_BIN)/verify-stream-v2
32	rm -f $(DESTDIR)$(LIBEXEC_BIN)/convert-legacy-stream
33	if [ -e $(INSTALL_LOG) ]; then \
34		cat $(INSTALL_LOG) | xargs -i rm -f $(DESTDIR)/{}; \
35	fi
36
37.PHONY: test
38test:
39	LD_LIBRARY_PATH=$$(readlink -f ../libs/ctrl):$$(readlink -f ../xenstore) $(PYTHON) -m unittest discover -v
40
41.PHONY: clean
42clean:
43	find . \( -name "*.py[ocd]" -o -name "*~" -o -name "_*.[hc]" \) -delete
44	rm -rf build/
45	rm -f $(DEPS_RM)
46
47.PHONY: distclean
48distclean: clean
49
50-include $(DEPS_INCLUDE)
51