Makefile
112 lines
| 3.6 KiB
| text/x-makefile
|
MakefileLexer
Martin Geisler
|
r10134 | # If you want to change PREFIX, do not just edit it below. The changed | ||
# value wont get passed on to recursive make calls. You should instead | ||||
# override the variable on the command like: | ||||
# | ||||
# % make PREFIX=/opt/ install | ||||
wilde@trapperkeeper.sha-bang.de
|
r2233 | PREFIX=/usr/local | ||
export PREFIX | ||||
Thomas Arendsen Hein
|
r1008 | PYTHON=python | ||
Martin Geisler
|
r7706 | PURE= | ||
Martin Geisler
|
r12816 | PYFILES:=$(shell find mercurial hgext doc -name '*.py') | ||
Martin Geisler
|
r12817 | DOCFILES=mercurial/help/*.txt | ||
Thomas Arendsen Hein
|
r1008 | |||
Thomas Arendsen Hein
|
r2244 | help: | ||
@echo 'Commonly used make targets:' | ||||
@echo ' all - build program and documentation' | ||||
@echo ' install - install program and man pages to PREFIX ($(PREFIX))' | ||||
@echo ' install-home - install with setup.py install --home=HOME ($(HOME))' | ||||
Markus F.X.J. Oberhumer
|
r4706 | @echo ' local - build for inplace usage' | ||
Thomas Arendsen Hein
|
r2244 | @echo ' tests - run all tests in the automatic test suite' | ||
@echo ' test-foo - run only specified tests (e.g. test-merge1)' | ||||
@echo ' dist - run all tests and create a source tarball in dist/' | ||||
@echo ' clean - remove files created by other targets' | ||||
@echo ' (except installed files or dist source tarball)' | ||||
Martin Geisler
|
r7648 | @echo ' update-pot - update i18n/hg.pot' | ||
Thomas Arendsen Hein
|
r2244 | @echo | ||
@echo 'Example for a system-wide installation under /usr/local:' | ||||
@echo ' make all && su -c "make install" && hg version' | ||||
@echo | ||||
@echo 'Example for a local installation (usable in this directory):' | ||||
@echo ' make local && ./hg version' | ||||
all: build doc | ||||
Thomas Arendsen Hein
|
r2235 | |||
local: | ||||
Martin Geisler
|
r7706 | $(PYTHON) setup.py $(PURE) build_py -c -d . build_ext -i build_mo | ||
Markus F.X.J. Oberhumer
|
r4706 | $(PYTHON) hg version | ||
mpm@selenic.com
|
r1020 | |||
Thomas Arendsen Hein
|
r2235 | build: | ||
Martin Geisler
|
r7706 | $(PYTHON) setup.py $(PURE) build | ||
Thomas Arendsen Hein
|
r2235 | |||
doc: | ||||
$(MAKE) -C doc | ||||
Thomas Arendsen Hein
|
r1008 | |||
clean: | ||||
Greg Ward
|
r8365 | -$(PYTHON) setup.py clean --all # ignore errors from this command | ||
Brodie Rao
|
r12499 | find . \( -name '*.py[cdo]' -o -name '*.so' \) -exec rm -f '{}' ';' | ||
rm -f MANIFEST mercurial/__version__.py tests/*.err | ||||
Brodie Rao
|
r12500 | rm -rf build mercurial/locale | ||
levon@movementarian.org
|
r1423 | $(MAKE) -C doc clean | ||
Thomas Arendsen Hein
|
r1008 | |||
Sascha Wilde
|
r2527 | install: install-bin install-doc | ||
install-bin: build | ||||
Dévai Tamás
|
r10961 | $(PYTHON) setup.py $(PURE) install --root="$(DESTDIR)/" --prefix="$(PREFIX)" --force | ||
Sascha Wilde
|
r2527 | |||
install-doc: doc | ||||
Thomas Arendsen Hein
|
r2235 | cd doc && $(MAKE) $(MFLAGS) install | ||
Sascha Wilde
|
r2527 | install-home: install-home-bin install-home-doc | ||
install-home-bin: build | ||||
Martin Geisler
|
r7706 | $(PYTHON) setup.py $(PURE) install --home="$(HOME)" --force | ||
Sascha Wilde
|
r2527 | |||
install-home-doc: doc | ||||
Thomas Arendsen Hein
|
r2235 | cd doc && $(MAKE) $(MFLAGS) PREFIX="$(HOME)" install | ||
Benoit Boissinot
|
r3872 | MANIFEST-doc: | ||
$(MAKE) -C doc MANIFEST | ||||
MANIFEST: MANIFEST-doc | ||||
hg manifest > MANIFEST | ||||
echo mercurial/__version__.py >> MANIFEST | ||||
cat doc/MANIFEST >> MANIFEST | ||||
Thomas Arendsen Hein
|
r2234 | dist: tests dist-notests | ||
Benoit Boissinot
|
r3872 | dist-notests: doc MANIFEST | ||
Matt Mackall
|
r3865 | TAR_OPTIONS="--owner=root --group=root --mode=u+w,go-w,a+rX-s" $(PYTHON) setup.py -q sdist | ||
Thomas Arendsen Hein
|
r1008 | |||
tests: | ||||
Benoit Boissinot
|
r3969 | cd tests && $(PYTHON) run-tests.py $(TESTFLAGS) | ||
Thomas Arendsen Hein
|
r1008 | |||
Benoit Boissinot
|
r1426 | test-%: | ||
Benoit Boissinot
|
r3969 | cd tests && $(PYTHON) run-tests.py $(TESTFLAGS) $@ | ||
Benoit Boissinot
|
r1426 | |||
Tobias Bell
|
r7893 | update-pot: i18n/hg.pot | ||
Martin Geisler
|
r12817 | i18n/hg.pot: $(PYFILES) $(DOCFILES) | ||
Martin Geisler
|
r8542 | $(PYTHON) i18n/hggettext mercurial/commands.py \ | ||
Wagner Bruna
|
r12854 | hgext/*.py hgext/*/__init__.py mercurial/revset.py \ | ||
$(DOCFILES) > i18n/hg.pot | ||||
Martin Geisler
|
r7710 | # All strings marked for translation in Mercurial contain | ||
# ASCII characters only. But some files contain string | ||||
# literals like this '\037\213'. xgettext thinks it has to | ||||
Martin Geisler
|
r8273 | # parse them even though they are not marked for translation. | ||
# Extracting with an explicit encoding of ISO-8859-1 will make | ||||
# xgettext "parse" and ignore them. | ||||
Martin Geisler
|
r12816 | echo $(PYFILES) | xargs \ | ||
Martin Geisler
|
r9278 | xgettext --package-name "Mercurial" \ | ||
Martin Geisler
|
r8272 | --msgid-bugs-address "<mercurial-devel@selenic.com>" \ | ||
--copyright-holder "Matt Mackall <mpm@selenic.com> and others" \ | ||||
Wagner Bruna
|
r12806 | --from-code ISO-8859-1 --join --sort-by-file --add-comments=i18n: \ | ||
Martin Geisler
|
r7710 | -d hg -p i18n -o hg.pot | ||
Wagner Bruna
|
r11390 | $(PYTHON) i18n/posplit i18n/hg.pot | ||
Thomas Arendsen Hein
|
r1008 | |||
Tobias Bell
|
r7893 | %.po: i18n/hg.pot | ||
msgmerge --no-location --update $@ $^ | ||||
Sascha Wilde
|
r2527 | .PHONY: help all local build doc clean install install-bin install-doc \ | ||
Martin Geisler
|
r7648 | install-home install-home-bin install-home-doc dist dist-notests tests \ | ||
update-pot | ||||