stash: Make rescan a local command
[git-cola.git] / Makefile
blob77b29ff35c0cb038348caa5a55729cdc4dde262c
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:
50 $(GIT) archive --format=tar --prefix=$(cola_dist)/ HEAD^{tree} | \
51 gzip -f -9 - >$(cola_dist).tar.gz
53 doc:
54 $(MAKE) -C share/doc/git-cola prefix=$(prefix) all
56 html:
57 $(MAKE) -C share/doc/git-cola prefix=$(prefix) html
59 install-doc:
60 $(MAKE) -C share/doc/git-cola prefix=$(prefix) install
62 install-html:
63 $(MAKE) -C share/doc/git-cola prefix=$(prefix) install-html
65 uninstall:
66 rm -rf $(DESTDIR)$(prefix)/bin/git-cola \
67 $(DESTDIR)$(prefix)/bin/cola \
68 $(DESTDIR)$(prefix)/share/applications/cola.desktop \
69 $(DESTDIR)$(prefix)/share/git-cola \
70 $(DESTDIR)$(prefix)/share/doc/git-cola
72 test: all
73 @env PYTHONPATH=$(python_path) \
74 $(NOSETESTS) $(all_test_flags)
76 coverage:
77 @env PYTHONPATH=$(python_path) \
78 $(NOSETESTS) --with-coverage --cover-package=cola $(all_test_flags)
80 clean:
81 $(MAKE) -C share/doc/git-cola clean
82 find . -name .noseids -print0 | xargs -0 rm -f
83 find . -name '*.py[co]' -print0 | xargs -0 rm -f
84 rm -rf build dist tmp tags git-cola.app
85 rm -rf share/locale
87 tags:
88 find . -name '*.py' -print0 | xargs -0 ctags -f tags
90 pot:
91 $(PYTHON) setup.py build_pot -N -d .
93 mo:
94 $(PYTHON) setup.py build_mo -f
96 git-cola.app:
97 mkdir -p $(cola_app)/Contents/MacOS
98 cp darwin/git-cola $(cola_app)/Contents/MacOS
99 cp darwin/Info.plist darwin/PkgInfo $(cola_app)/Contents
100 $(MAKE) prefix=$(cola_app)/Contents/Resources install
101 cp darwin/git-cola.icns $(cola_app)/Contents/Resources
103 app-tarball: git-cola.app
104 $(TAR) czf git-cola-$(cola_version).app.tar.gz $(cola_app)
106 .PHONY: all install doc install-doc install-html test clean tags
107 .PHONY: git-cola.app app-tarball