setup.py: Try git when printing the release version
[git-cola.git] / Makefile
bloba2e821116a8d89ee57c6aeb536f145501964ba0b
1 # The default target of this Makefile is...
2 all::
4 # The external commands used by this Makefile are...
5 GIT = git
6 NOSETESTS = nosetests
7 PYTHON = python
8 TAR = tar
10 # These values can be overridden on the command-line or via config.mak
11 prefix = $(HOME)
12 bindir = $(prefix)/bin
13 # DESTDIR =
15 cola_app = git-cola.app
16 cola_version = $(shell env TERM=dummy $(PYTHON) cola/version.py)
17 cola_dist := cola-$(cola_version)
19 python_path = $(CURDIR):$(CURDIR)/thirdparty:$(PYTHONPATH)
20 python_version = $(shell env TERM=dummy $(PYTHON) -c 'import distutils.sysconfig as sc; print(sc.get_python_version())')
21 python_site := $(prefix)/lib*/python$(python_version)/site-packages
23 test_flags =
24 all_test_flags = --with-doctest $(test_flags)
26 # User customizations
27 -include config.mak
29 ifdef standalone
30 standalone_args ?= --standalone
31 endif
34 all::
35 $(PYTHON) setup.py build
37 install: all
38 $(PYTHON) setup.py --quiet install \
39 $(standalone_args) \
40 --prefix=$(DESTDIR)$(prefix) \
41 --install-scripts=$(DESTDIR)$(bindir) \
42 --force && \
43 rm -f $(DESTDIR)$(python_site)/git_cola*
44 rmdir -p $(DESTDIR)$(python_site) 2>/dev/null || true
45 (cd $(DESTDIR)$(bindir) && \
46 ! test -e cola && ln -s git-cola cola) || true
48 # Maintainer's dist target
49 dist: all
50 $(GIT) archive --format=tar --prefix=$(cola_dist)/ HEAD^{tree} \
51 >$(cola_dist).tar
52 mkdir -p $(cola_dist)/cola
53 cp cola/builtin_version.py $(cola_dist)/cola
54 echo $(cola_version) > $(cola_dist)/version
55 $(TAR) rf $(cola_dist).tar \
56 $(cola_dist)/version \
57 $(cola_dist)/cola/builtin_version.py
58 rm -r $(cola_dist)
59 gzip -f -9 $(cola_dist).tar
61 doc:
62 $(MAKE) -C share/doc/git-cola prefix=$(prefix) all
64 html:
65 $(MAKE) -C share/doc/git-cola prefix=$(prefix) html
67 install-doc:
68 $(MAKE) -C share/doc/git-cola prefix=$(prefix) install
70 install-html:
71 $(MAKE) -C share/doc/git-cola prefix=$(prefix) install-html
73 uninstall:
74 rm -rf $(DESTDIR)$(prefix)/bin/git-cola \
75 $(DESTDIR)$(prefix)/bin/cola \
76 $(DESTDIR)$(prefix)/share/applications/cola.desktop \
77 $(DESTDIR)$(prefix)/share/git-cola \
78 $(DESTDIR)$(prefix)/share/doc/git-cola
80 test: all
81 @env PYTHONPATH=$(python_path) \
82 $(NOSETESTS) $(all_test_flags)
84 coverage:
85 @env PYTHONPATH=$(python_path) \
86 $(NOSETESTS) --with-coverage --cover-package=cola $(all_test_flags)
88 clean:
89 $(MAKE) -C share/doc/git-cola clean
90 find . -name .noseids -print0 | xargs -0 rm -f
91 find . -name '*.py[co]' -print0 | xargs -0 rm -f
92 rm -rf build dist tmp tags git-cola.app
93 rm -rf share/locale
95 tags:
96 find . -name '*.py' -print0 | xargs -0 ctags -f tags
98 pot:
99 $(PYTHON) setup.py build_pot -N -d .
102 $(PYTHON) setup.py build_mo -f
104 git-cola.app:
105 mkdir -p $(cola_app)/Contents/MacOS
106 cp darwin/git-cola $(cola_app)/Contents/MacOS
107 cp darwin/Info.plist darwin/PkgInfo $(cola_app)/Contents
108 $(MAKE) prefix=$(cola_app)/Contents/Resources install
109 cp darwin/git-cola.icns $(cola_app)/Contents/Resources
111 app-tarball: git-cola.app
112 $(TAR) czf git-cola-$(cola_version).app.tar.gz $(cola_app)
114 .PHONY: all install doc install-doc install-html test clean tags
115 .PHONY: git-cola.app app-tarball