summaryrefslogtreecommitdiffstats
path: root/Makefile.python.am
blob: 0ea3fcf16bddb7d137206fc18415614a6a0b1acc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
pkgname = $(shell basename "$(abs_srcdir)")
pkgpythondir = $(pythondir)/$(pkgname)

all-local:
	cd $(srcdir); $(PYTHON) setup.py build \
	--build-base "$(abs_builddir)/build" \
	--verbose

install-exec-local:
	$(PYTHON) $(srcdir)/setup.py install \
		--prefix "$(DESTDIR)$(prefix)" \
		--single-version-externally-managed \
		--record "$(DESTDIR)$(pkgpythondir)/install_files.txt" \
		--optimize 1 \
		--verbose

uninstall-local:
	cat "$(DESTDIR)$(pkgpythondir)/install_files.txt" | xargs rm -rf
	rm -rf "$(DESTDIR)$(pkgpythondir)"

clean-local:
	$(PYTHON) "$(srcdir)/setup.py" clean --all
	rm -rf "$(srcdir)/build" "$(srcdir)/dist" "$(srcdir)/MANIFEST"
	find "$(srcdir)" \
		-name "*.py[co]" -delete -o	\
		-name "__pycache__" -delete -o	\
		-name "*.egg-info" -exec rm -rf {} +

# take list of all Python source files and copy them into distdir
# SOURCES.txt does not contain directories so we need to create those
dist-hook:
	$(PYTHON) "$(srcdir)/setup.py" egg_info
	PYTHON_SOURCES=$$(cat "$(srcdir)/$(pkgname).egg-info/SOURCES.txt") || exit $$?;	\
	for FILEN in $${PYTHON_SOURCES}; 						\
	do										\
		if test -x "$(srcdir)/$${FILEN}"; then MODE=755; else MODE=644; fi;	\
		$(INSTALL) -D -m $${MODE} "$(srcdir)/$${FILEN}" "$(distdir)/$${FILEN}" || exit $$?;	\
	done