Mercurial > hg
annotate Makefile @ 28087:0b7ce0b16d8a
pathauditor: change parts verification order to be root first
Previously, when we verified the parts of a path in the auditor, we would
validate the deepest directory first, then it's parent, and so on up to the
root. If there happened to be a symlink in the chain, that meant our first check
would likely traverse that symlink. In some cases that symlink might point to
a network filesystem that is expensive, and therefore this simple check could be
very slow.
The fix is to check the path parts starting at the root and working our way
down.
This has a minor performance difference in that we used to be able to short
circuit from the audit if we reached a directory that had already been checked.
Now we can't, but the cost is N dictionary look ups, where N is the number of
parts in the path, which should be fairly minor.
author | Durham Goode <durham@fb.com> |
---|---|
date | Thu, 11 Feb 2016 17:04:33 -0800 |
parents | ef9301ce6046 |
children | 17b85d739b62 |
rev | line source |
---|---|
10134
821793e3049c
Makefile: added instructions on how to override PREFIX
Martin Geisler <mg@lazybytes.net>
parents:
10073
diff
changeset
|
1 # If you want to change PREFIX, do not just edit it below. The changed |
821793e3049c
Makefile: added instructions on how to override PREFIX
Martin Geisler <mg@lazybytes.net>
parents:
10073
diff
changeset
|
2 # value wont get passed on to recursive make calls. You should instead |
821793e3049c
Makefile: added instructions on how to override PREFIX
Martin Geisler <mg@lazybytes.net>
parents:
10073
diff
changeset
|
3 # override the variable on the command like: |
821793e3049c
Makefile: added instructions on how to override PREFIX
Martin Geisler <mg@lazybytes.net>
parents:
10073
diff
changeset
|
4 # |
821793e3049c
Makefile: added instructions on how to override PREFIX
Martin Geisler <mg@lazybytes.net>
parents:
10073
diff
changeset
|
5 # % make PREFIX=/opt/ install |
821793e3049c
Makefile: added instructions on how to override PREFIX
Martin Geisler <mg@lazybytes.net>
parents:
10073
diff
changeset
|
6 |
2233 | 7 PREFIX=/usr/local |
8 export PREFIX | |
1008
85272e96b96a
Add Makefile for generating release tarballs.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
9 PYTHON=python |
24194
00809c43d72c
Makefile: introduce testpy-% target for testing with a specifc Python
Augie Fackler <augie@google.com>
parents:
23940
diff
changeset
|
10 $(eval HGROOT := $(shell pwd)) |
00809c43d72c
Makefile: introduce testpy-% target for testing with a specifc Python
Augie Fackler <augie@google.com>
parents:
23940
diff
changeset
|
11 HGPYTHONS ?= $(HGROOT)/build/pythons |
7706
0ae7f0b312ea
use PURE option in Makefile
Martin Geisler <mg@daimi.au.dk>
parents:
7687
diff
changeset
|
12 PURE= |
12816
61c73c9dce1d
Makefile: remove underscore in var name
Martin Geisler <mg@lazybytes.net>
parents:
12806
diff
changeset
|
13 PYFILES:=$(shell find mercurial hgext doc -name '*.py') |
12817
372370923b30
Makefile: var for documentation files
Martin Geisler <mg@lazybytes.net>
parents:
12816
diff
changeset
|
14 DOCFILES=mercurial/help/*.txt |
19427
80983af366b5
doc: make i18n man and html
Takumi IINO <trot.thunder@gmail.com>
parents:
18598
diff
changeset
|
15 export LANGUAGE=C |
80983af366b5
doc: make i18n man and html
Takumi IINO <trot.thunder@gmail.com>
parents:
18598
diff
changeset
|
16 export LC_ALL=C |
24195
250d9cf97fb3
Makefile: allow setting HGTESTFLAGS in shell environment for TESTFLAGS
Augie Fackler <augie@google.com>
parents:
24194
diff
changeset
|
17 TESTFLAGS ?= $(shell echo $$HGTESTFLAGS) |
1008
85272e96b96a
Add Makefile for generating release tarballs.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
18 |
18056
7c9b07f0da73
makefile: allow local builds to work on windows/mingw32
Bryan O'Sullivan <bryano@fb.com>
parents:
17927
diff
changeset
|
19 # Set this to e.g. "mingw32" to use a non-default compiler. |
7c9b07f0da73
makefile: allow local builds to work on windows/mingw32
Bryan O'Sullivan <bryano@fb.com>
parents:
17927
diff
changeset
|
20 COMPILER= |
7c9b07f0da73
makefile: allow local builds to work on windows/mingw32
Bryan O'Sullivan <bryano@fb.com>
parents:
17927
diff
changeset
|
21 |
2244
76be4e66ddc8
Just using 'make' now shows help. 'make all' doesn't perform inplace build.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2235
diff
changeset
|
22 help: |
76be4e66ddc8
Just using 'make' now shows help. 'make all' doesn't perform inplace build.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2235
diff
changeset
|
23 @echo 'Commonly used make targets:' |
76be4e66ddc8
Just using 'make' now shows help. 'make all' doesn't perform inplace build.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2235
diff
changeset
|
24 @echo ' all - build program and documentation' |
20311
8824009d2704
makefile: add $ to environment variables in help message
Matt Mackall <mpm@selenic.com>
parents:
20121
diff
changeset
|
25 @echo ' install - install program and man pages to $$PREFIX ($(PREFIX))' |
8824009d2704
makefile: add $ to environment variables in help message
Matt Mackall <mpm@selenic.com>
parents:
20121
diff
changeset
|
26 @echo ' install-home - install with setup.py install --home=$$HOME ($(HOME))' |
4706
f0aa759b8f93
Makefile: change "make local" to build a fully working local version.
Markus F.X.J. Oberhumer <markus@oberhumer.com>
parents:
3969
diff
changeset
|
27 @echo ' local - build for inplace usage' |
2244
76be4e66ddc8
Just using 'make' now shows help. 'make all' doesn't perform inplace build.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2235
diff
changeset
|
28 @echo ' tests - run all tests in the automatic test suite' |
15379
3ca419fb435e
Makefile: adjust example, test-merge1 is now test-merge1.t
Thomas Arendsen Hein <thomas@intevation.de>
parents:
14815
diff
changeset
|
29 @echo ' test-foo - run only specified tests (e.g. test-merge1.t)' |
2244
76be4e66ddc8
Just using 'make' now shows help. 'make all' doesn't perform inplace build.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2235
diff
changeset
|
30 @echo ' dist - run all tests and create a source tarball in dist/' |
76be4e66ddc8
Just using 'make' now shows help. 'make all' doesn't perform inplace build.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2235
diff
changeset
|
31 @echo ' clean - remove files created by other targets' |
76be4e66ddc8
Just using 'make' now shows help. 'make all' doesn't perform inplace build.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2235
diff
changeset
|
32 @echo ' (except installed files or dist source tarball)' |
7648
02e358a3a8a7
i18n: let Makefile generate i18n/hg.pot
Martin Geisler <mg@daimi.au.dk>
parents:
4707
diff
changeset
|
33 @echo ' update-pot - update i18n/hg.pot' |
2244
76be4e66ddc8
Just using 'make' now shows help. 'make all' doesn't perform inplace build.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2235
diff
changeset
|
34 @echo |
76be4e66ddc8
Just using 'make' now shows help. 'make all' doesn't perform inplace build.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2235
diff
changeset
|
35 @echo 'Example for a system-wide installation under /usr/local:' |
76be4e66ddc8
Just using 'make' now shows help. 'make all' doesn't perform inplace build.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2235
diff
changeset
|
36 @echo ' make all && su -c "make install" && hg version' |
76be4e66ddc8
Just using 'make' now shows help. 'make all' doesn't perform inplace build.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2235
diff
changeset
|
37 @echo |
76be4e66ddc8
Just using 'make' now shows help. 'make all' doesn't perform inplace build.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2235
diff
changeset
|
38 @echo 'Example for a local installation (usable in this directory):' |
76be4e66ddc8
Just using 'make' now shows help. 'make all' doesn't perform inplace build.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2235
diff
changeset
|
39 @echo ' make local && ./hg version' |
76be4e66ddc8
Just using 'make' now shows help. 'make all' doesn't perform inplace build.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2235
diff
changeset
|
40 |
76be4e66ddc8
Just using 'make' now shows help. 'make all' doesn't perform inplace build.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2235
diff
changeset
|
41 all: build doc |
2235
457e4247315d
New make targets:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2234
diff
changeset
|
42 |
457e4247315d
New make targets:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2234
diff
changeset
|
43 local: |
18056
7c9b07f0da73
makefile: allow local builds to work on windows/mingw32
Bryan O'Sullivan <bryano@fb.com>
parents:
17927
diff
changeset
|
44 $(PYTHON) setup.py $(PURE) \ |
7c9b07f0da73
makefile: allow local builds to work on windows/mingw32
Bryan O'Sullivan <bryano@fb.com>
parents:
17927
diff
changeset
|
45 build_py -c -d . \ |
7c9b07f0da73
makefile: allow local builds to work on windows/mingw32
Bryan O'Sullivan <bryano@fb.com>
parents:
17927
diff
changeset
|
46 build_ext $(COMPILER:%=-c %) -i \ |
7c9b07f0da73
makefile: allow local builds to work on windows/mingw32
Bryan O'Sullivan <bryano@fb.com>
parents:
17927
diff
changeset
|
47 build_hgexe $(COMPILER:%=-c %) -i \ |
7c9b07f0da73
makefile: allow local builds to work on windows/mingw32
Bryan O'Sullivan <bryano@fb.com>
parents:
17927
diff
changeset
|
48 build_mo |
17927
9796d5437e72
makefile: don't use system hgrc when running hg in-place
Bryan O'Sullivan <bryano@fb.com>
parents:
17062
diff
changeset
|
49 env HGRCPATH= $(PYTHON) hg version |
1020 | 50 |
2235
457e4247315d
New make targets:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2234
diff
changeset
|
51 build: |
18056
7c9b07f0da73
makefile: allow local builds to work on windows/mingw32
Bryan O'Sullivan <bryano@fb.com>
parents:
17927
diff
changeset
|
52 $(PYTHON) setup.py $(PURE) build $(COMPILER:%=-c %) |
2235
457e4247315d
New make targets:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2234
diff
changeset
|
53 |
26601
c5c7c686d6a6
makefile: add wheel build target
Nathan Goldbaum <ngoldbau@ucsc.edu>
parents:
26108
diff
changeset
|
54 wheel: |
c5c7c686d6a6
makefile: add wheel build target
Nathan Goldbaum <ngoldbau@ucsc.edu>
parents:
26108
diff
changeset
|
55 FORCE_SETUPTOOLS=1 $(PYTHON) setup.py $(PURE) bdist_wheel $(COMPILER:%=-c %) |
c5c7c686d6a6
makefile: add wheel build target
Nathan Goldbaum <ngoldbau@ucsc.edu>
parents:
26108
diff
changeset
|
56 |
2235
457e4247315d
New make targets:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2234
diff
changeset
|
57 doc: |
457e4247315d
New make targets:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2234
diff
changeset
|
58 $(MAKE) -C doc |
1008
85272e96b96a
Add Makefile for generating release tarballs.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
59 |
85272e96b96a
Add Makefile for generating release tarballs.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
60 clean: |
8365
94e91205d9b6
Makefile: fix grammar in comment
Greg Ward <greg-hg@gerg.ca>
parents:
8273
diff
changeset
|
61 -$(PYTHON) setup.py clean --all # ignore errors from this command |
20007
23edc6673f0d
make: restrict recursion in make clean
Matt Mackall <mpm@selenic.com>
parents:
19991
diff
changeset
|
62 find contrib doc hgext i18n mercurial tests \ |
23edc6673f0d
make: restrict recursion in make clean
Matt Mackall <mpm@selenic.com>
parents:
19991
diff
changeset
|
63 \( -name '*.py[cdo]' -o -name '*.so' \) -exec rm -f '{}' ';' |
16460
d9e2f09d5488
Makefile: be more careful when cleaning up pure/ components
Matt Mackall <mpm@selenic.com>
parents:
16126
diff
changeset
|
64 rm -f $(addprefix mercurial/,$(notdir $(wildcard mercurial/pure/[a-z]*.py))) |
22375
308ab71207ff
build: don't clean __version__.py on 'make clean' in release tarballs
J. Lewis Muir <jlmuir@anl.gov>
parents:
22358
diff
changeset
|
65 rm -f MANIFEST MANIFEST.in hgext/__index__.py tests/*.err |
308ab71207ff
build: don't clean __version__.py on 'make clean' in release tarballs
J. Lewis Muir <jlmuir@anl.gov>
parents:
22358
diff
changeset
|
66 if test -d .hg; then rm -f mercurial/__version__.py; fi |
12500
deeef07c6e7d
Makefile: remove the build folder manually
Brodie Rao <brodie@bitheap.org>
parents:
12499
diff
changeset
|
67 rm -rf build mercurial/locale |
1423 | 68 $(MAKE) -C doc clean |
1008
85272e96b96a
Add Makefile for generating release tarballs.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
69 |
2527
c51fad25e59e
Split installation targets into install-bin and install-doc.
Sascha Wilde <wilde@sha-bang.de>
parents:
2244
diff
changeset
|
70 install: install-bin install-doc |
c51fad25e59e
Split installation targets into install-bin and install-doc.
Sascha Wilde <wilde@sha-bang.de>
parents:
2244
diff
changeset
|
71 |
c51fad25e59e
Split installation targets into install-bin and install-doc.
Sascha Wilde <wilde@sha-bang.de>
parents:
2244
diff
changeset
|
72 install-bin: build |
10961
ce6d56b95f2e
Respect the DESTDIR variable during 'make install'
Dévai Tamás <devait@vnet.hu>
parents:
10134
diff
changeset
|
73 $(PYTHON) setup.py $(PURE) install --root="$(DESTDIR)/" --prefix="$(PREFIX)" --force |
2527
c51fad25e59e
Split installation targets into install-bin and install-doc.
Sascha Wilde <wilde@sha-bang.de>
parents:
2244
diff
changeset
|
74 |
c51fad25e59e
Split installation targets into install-bin and install-doc.
Sascha Wilde <wilde@sha-bang.de>
parents:
2244
diff
changeset
|
75 install-doc: doc |
2235
457e4247315d
New make targets:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2234
diff
changeset
|
76 cd doc && $(MAKE) $(MFLAGS) install |
457e4247315d
New make targets:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2234
diff
changeset
|
77 |
2527
c51fad25e59e
Split installation targets into install-bin and install-doc.
Sascha Wilde <wilde@sha-bang.de>
parents:
2244
diff
changeset
|
78 install-home: install-home-bin install-home-doc |
c51fad25e59e
Split installation targets into install-bin and install-doc.
Sascha Wilde <wilde@sha-bang.de>
parents:
2244
diff
changeset
|
79 |
c51fad25e59e
Split installation targets into install-bin and install-doc.
Sascha Wilde <wilde@sha-bang.de>
parents:
2244
diff
changeset
|
80 install-home-bin: build |
20614
1bc68ff4e0a2
setup: specify --prefix="" for install-home-bin to avoid badness with defaults
Augie Fackler <raf@durin42.com>
parents:
20358
diff
changeset
|
81 $(PYTHON) setup.py $(PURE) install --home="$(HOME)" --prefix="" --force |
2527
c51fad25e59e
Split installation targets into install-bin and install-doc.
Sascha Wilde <wilde@sha-bang.de>
parents:
2244
diff
changeset
|
82 |
c51fad25e59e
Split installation targets into install-bin and install-doc.
Sascha Wilde <wilde@sha-bang.de>
parents:
2244
diff
changeset
|
83 install-home-doc: doc |
2235
457e4247315d
New make targets:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2234
diff
changeset
|
84 cd doc && $(MAKE) $(MFLAGS) PREFIX="$(HOME)" install |
457e4247315d
New make targets:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2234
diff
changeset
|
85 |
3872
9d7ac8613340
fix MANIFEST generation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3865
diff
changeset
|
86 MANIFEST-doc: |
9d7ac8613340
fix MANIFEST generation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3865
diff
changeset
|
87 $(MAKE) -C doc MANIFEST |
9d7ac8613340
fix MANIFEST generation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3865
diff
changeset
|
88 |
14558
2ce7dfe17bc5
distutils: Create MANIFEST.in instead of MANIFEST in Makefile
Stephen Thorne <stephen@thorne.id.au>
parents:
14315
diff
changeset
|
89 MANIFEST.in: MANIFEST-doc |
2ce7dfe17bc5
distutils: Create MANIFEST.in instead of MANIFEST in Makefile
Stephen Thorne <stephen@thorne.id.au>
parents:
14315
diff
changeset
|
90 hg manifest | sed -e 's/^/include /' > MANIFEST.in |
2ce7dfe17bc5
distutils: Create MANIFEST.in instead of MANIFEST in Makefile
Stephen Thorne <stephen@thorne.id.au>
parents:
14315
diff
changeset
|
91 echo include mercurial/__version__.py >> MANIFEST.in |
2ce7dfe17bc5
distutils: Create MANIFEST.in instead of MANIFEST in Makefile
Stephen Thorne <stephen@thorne.id.au>
parents:
14315
diff
changeset
|
92 sed -e 's/^/include /' < doc/MANIFEST >> MANIFEST.in |
3872
9d7ac8613340
fix MANIFEST generation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3865
diff
changeset
|
93 |
2234
9ea93ff67a73
New make target "dist-notests" to create tarballs without running tests first.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2233
diff
changeset
|
94 dist: tests dist-notests |
9ea93ff67a73
New make target "dist-notests" to create tarballs without running tests first.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2233
diff
changeset
|
95 |
14558
2ce7dfe17bc5
distutils: Create MANIFEST.in instead of MANIFEST in Makefile
Stephen Thorne <stephen@thorne.id.au>
parents:
14315
diff
changeset
|
96 dist-notests: doc MANIFEST.in |
3865
36a957364b1b
Make make dist a bit quieter
Matt Mackall <mpm@selenic.com>
parents:
3864
diff
changeset
|
97 TAR_OPTIONS="--owner=root --group=root --mode=u+w,go-w,a+rX-s" $(PYTHON) setup.py -q sdist |
1008
85272e96b96a
Add Makefile for generating release tarballs.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
98 |
14172
1a919c3271bf
add make check: tests rule
Johan Euphrosine <proppy@google.com>
parents:
13101
diff
changeset
|
99 check: tests |
1a919c3271bf
add make check: tests rule
Johan Euphrosine <proppy@google.com>
parents:
13101
diff
changeset
|
100 |
1008
85272e96b96a
Add Makefile for generating release tarballs.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
101 tests: |
3969
edaf68032a27
add possibility to pass flags when testing with the Makefile
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3872
diff
changeset
|
102 cd tests && $(PYTHON) run-tests.py $(TESTFLAGS) |
1008
85272e96b96a
Add Makefile for generating release tarballs.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
103 |
1426
e84c69b43cdb
add a target for running only one test
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1423
diff
changeset
|
104 test-%: |
3969
edaf68032a27
add possibility to pass flags when testing with the Makefile
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3872
diff
changeset
|
105 cd tests && $(PYTHON) run-tests.py $(TESTFLAGS) $@ |
1426
e84c69b43cdb
add a target for running only one test
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1423
diff
changeset
|
106 |
24194
00809c43d72c
Makefile: introduce testpy-% target for testing with a specifc Python
Augie Fackler <augie@google.com>
parents:
23940
diff
changeset
|
107 testpy-%: |
00809c43d72c
Makefile: introduce testpy-% target for testing with a specifc Python
Augie Fackler <augie@google.com>
parents:
23940
diff
changeset
|
108 @echo Looking for Python $* in $(HGPYTHONS) |
00809c43d72c
Makefile: introduce testpy-% target for testing with a specifc Python
Augie Fackler <augie@google.com>
parents:
23940
diff
changeset
|
109 [ -e $(HGPYTHONS)/$*/bin/python ] || ( \ |
00809c43d72c
Makefile: introduce testpy-% target for testing with a specifc Python
Augie Fackler <augie@google.com>
parents:
23940
diff
changeset
|
110 cd $$(mktemp --directory --tmpdir) && \ |
00809c43d72c
Makefile: introduce testpy-% target for testing with a specifc Python
Augie Fackler <augie@google.com>
parents:
23940
diff
changeset
|
111 $(MAKE) -f $(HGROOT)/contrib/Makefile.python PYTHONVER=$* PREFIX=$(HGPYTHONS)/$* python ) |
00809c43d72c
Makefile: introduce testpy-% target for testing with a specifc Python
Augie Fackler <augie@google.com>
parents:
23940
diff
changeset
|
112 cd tests && $(HGPYTHONS)/$*/bin/python run-tests.py $(TESTFLAGS) |
00809c43d72c
Makefile: introduce testpy-% target for testing with a specifc Python
Augie Fackler <augie@google.com>
parents:
23940
diff
changeset
|
113 |
18598
4723ccb62282
check-code: add Makefile target to run check-code
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
18056
diff
changeset
|
114 check-code: |
4723ccb62282
check-code: add Makefile target to run check-code
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
18056
diff
changeset
|
115 hg manifest | xargs python contrib/check-code.py |
4723ccb62282
check-code: add Makefile target to run check-code
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
18056
diff
changeset
|
116 |
7893
606723f4a327
enhance Makefile for language translators
Tobias Bell <tobias.bell@gmail.com>
parents:
7791
diff
changeset
|
117 update-pot: i18n/hg.pot |
606723f4a327
enhance Makefile for language translators
Tobias Bell <tobias.bell@gmail.com>
parents:
7791
diff
changeset
|
118 |
20358
4276c906d90e
Makefile: hg.pot depends on the scripts generating it
Simon Heimberg <simohe@besonet.ch>
parents:
20311
diff
changeset
|
119 i18n/hg.pot: $(PYFILES) $(DOCFILES) i18n/posplit i18n/hggettext |
8542
de150a942ec8
i18n: accurately generate hg.pot
Martin Geisler <mg@lazybytes.net>
parents:
8365
diff
changeset
|
120 $(PYTHON) i18n/hggettext mercurial/commands.py \ |
16126
0c4bec9596d8
filemerge: create detail of internal merge tools from documentation string
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
15379
diff
changeset
|
121 hgext/*.py hgext/*/__init__.py \ |
0c4bec9596d8
filemerge: create detail of internal merge tools from documentation string
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
15379
diff
changeset
|
122 mercurial/fileset.py mercurial/revset.py \ |
14815
5b7dc16b331b
i18n-ru: translated missing strings for commands, some typos corrected
Alexander Sauta <demosito@gmail.com>
parents:
14705
diff
changeset
|
123 mercurial/templatefilters.py mercurial/templatekw.py \ |
24601
d80819f67d59
templater: tell hggettext to collect help of template functions
Yuya Nishihara <yuya@tcha.org>
parents:
24195
diff
changeset
|
124 mercurial/templater.py \ |
16126
0c4bec9596d8
filemerge: create detail of internal merge tools from documentation string
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
15379
diff
changeset
|
125 mercurial/filemerge.py \ |
24859
64e3f97bdf08
i18n: extract doc string of each web commands as translatable one
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
24601
diff
changeset
|
126 mercurial/hgweb/webcommands.py \ |
20121
2af9e1d40dc7
Makefile: temporary copy of hg.pot is hg.pot.tmp instead of hg.pot~
Simon Heimberg <simohe@besonet.ch>
parents:
20120
diff
changeset
|
127 $(DOCFILES) > i18n/hg.pot.tmp |
7710
88326ee85a1b
i18n: extract strings with xgettext
Martin Geisler <mg@daimi.au.dk>
parents:
7706
diff
changeset
|
128 # All strings marked for translation in Mercurial contain |
88326ee85a1b
i18n: extract strings with xgettext
Martin Geisler <mg@daimi.au.dk>
parents:
7706
diff
changeset
|
129 # ASCII characters only. But some files contain string |
88326ee85a1b
i18n: extract strings with xgettext
Martin Geisler <mg@daimi.au.dk>
parents:
7706
diff
changeset
|
130 # literals like this '\037\213'. xgettext thinks it has to |
8273 | 131 # parse them even though they are not marked for translation. |
132 # Extracting with an explicit encoding of ISO-8859-1 will make | |
133 # xgettext "parse" and ignore them. | |
12816
61c73c9dce1d
Makefile: remove underscore in var name
Martin Geisler <mg@lazybytes.net>
parents:
12806
diff
changeset
|
134 echo $(PYFILES) | xargs \ |
9278
3d9f77c03105
Makefile: remove non-default wrapping of hg.pot strings
Martin Geisler <mg@lazybytes.net>
parents:
9079
diff
changeset
|
135 xgettext --package-name "Mercurial" \ |
8272
79983cfa7efe
Makefile: add more meta data to hg.pot
Martin Geisler <mg@lazybytes.net>
parents:
7893
diff
changeset
|
136 --msgid-bugs-address "<mercurial-devel@selenic.com>" \ |
79983cfa7efe
Makefile: add more meta data to hg.pot
Martin Geisler <mg@lazybytes.net>
parents:
7893
diff
changeset
|
137 --copyright-holder "Matt Mackall <mpm@selenic.com> and others" \ |
12806
57b9fd75b6f8
i18n: extract comments marked for translator hints
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
12500
diff
changeset
|
138 --from-code ISO-8859-1 --join --sort-by-file --add-comments=i18n: \ |
20121
2af9e1d40dc7
Makefile: temporary copy of hg.pot is hg.pot.tmp instead of hg.pot~
Simon Heimberg <simohe@besonet.ch>
parents:
20120
diff
changeset
|
139 -d hg -p i18n -o hg.pot.tmp |
2af9e1d40dc7
Makefile: temporary copy of hg.pot is hg.pot.tmp instead of hg.pot~
Simon Heimberg <simohe@besonet.ch>
parents:
20120
diff
changeset
|
140 $(PYTHON) i18n/posplit i18n/hg.pot.tmp |
20080
c845b1a95eed
Makefile: intermediate steps work with temporary copy of hg.pot
Simon Heimberg <simohe@besonet.ch>
parents:
20007
diff
changeset
|
141 # The target file is not created before the last step. So it never is in |
c845b1a95eed
Makefile: intermediate steps work with temporary copy of hg.pot
Simon Heimberg <simohe@besonet.ch>
parents:
20007
diff
changeset
|
142 # an intermediate state. |
20121
2af9e1d40dc7
Makefile: temporary copy of hg.pot is hg.pot.tmp instead of hg.pot~
Simon Heimberg <simohe@besonet.ch>
parents:
20120
diff
changeset
|
143 mv -f i18n/hg.pot.tmp i18n/hg.pot |
1008
85272e96b96a
Add Makefile for generating release tarballs.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
144 |
7893
606723f4a327
enhance Makefile for language translators
Tobias Bell <tobias.bell@gmail.com>
parents:
7791
diff
changeset
|
145 %.po: i18n/hg.pot |
19991
ce5d711475a3
Makefile: do update on a temporary copy of a po file
Simon Heimberg <simohe@besonet.ch>
parents:
19427
diff
changeset
|
146 # work on a temporary copy for never having a half completed target |
ce5d711475a3
Makefile: do update on a temporary copy of a po file
Simon Heimberg <simohe@besonet.ch>
parents:
19427
diff
changeset
|
147 cp $@ $@.tmp |
ce5d711475a3
Makefile: do update on a temporary copy of a po file
Simon Heimberg <simohe@besonet.ch>
parents:
19427
diff
changeset
|
148 msgmerge --no-location --update $@.tmp $^ |
20120
872f81de2865
Makefile: fix po file updating by using same file name everywhere
Simon Heimberg <simohe@besonet.ch>
parents:
20080
diff
changeset
|
149 mv -f $@.tmp $@ |
7893
606723f4a327
enhance Makefile for language translators
Tobias Bell <tobias.bell@gmail.com>
parents:
7791
diff
changeset
|
150 |
21255
62a2749895e4
build: initial support for in-tree autobuilding recipes
Matt Mackall <mpm@selenic.com>
parents:
21229
diff
changeset
|
151 # Packaging targets |
62a2749895e4
build: initial support for in-tree autobuilding recipes
Matt Mackall <mpm@selenic.com>
parents:
21229
diff
changeset
|
152 |
21559
9a9de26ad99a
make: add a basic osx mpkg target
Matt Mackall <mpm@selenic.com>
parents:
21255
diff
changeset
|
153 osx: |
23932
d7a90949fc18
osx: use bdist_mpkg.script_bdist_mpkg module instead of bdist_mpkg command
Mads Kiilerich <madski@unity3d.com>
parents:
23931
diff
changeset
|
154 python -c 'import bdist_mpkg.script_bdist_mpkg' || \ |
21559
9a9de26ad99a
make: add a basic osx mpkg target
Matt Mackall <mpm@selenic.com>
parents:
21255
diff
changeset
|
155 (echo "Missing bdist_mpkg (easy_install bdist_mpkg)"; false) |
22358
198e2da3ee20
osx: create dmg with installer instead of zip
Mads Kiilerich <madski@unity3d.com>
parents:
22308
diff
changeset
|
156 rm -rf dist/mercurial-*.mpkg |
23932
d7a90949fc18
osx: use bdist_mpkg.script_bdist_mpkg module instead of bdist_mpkg command
Mads Kiilerich <madski@unity3d.com>
parents:
23931
diff
changeset
|
157 python -m bdist_mpkg.script_bdist_mpkg setup.py -- |
23940
d0ef40776999
osx: patch .pax.gz files in pkg bundles so they extract as root (issue4081)
Mads Kiilerich <madski@unity3d.com>
parents:
23932
diff
changeset
|
158 python contrib/fixpax.py dist/mercurial-*.mpkg/Contents/Packages/*.pkg/Contents/Archive.pax.gz |
21560
a9e1ab2da30d
packaging: move output directory from build/ to packages/
Matt Mackall <mpm@selenic.com>
parents:
21559
diff
changeset
|
159 mkdir -p packages/osx |
22358
198e2da3ee20
osx: create dmg with installer instead of zip
Mads Kiilerich <madski@unity3d.com>
parents:
22308
diff
changeset
|
160 N=`cd dist && echo mercurial-*.mpkg | sed 's,\.mpkg$$,,'` && hdiutil create -srcfolder dist/$$N.mpkg/ -scrub -volname "$$N" -ov packages/osx/$$N.dmg |
21559
9a9de26ad99a
make: add a basic osx mpkg target
Matt Mackall <mpm@selenic.com>
parents:
21255
diff
changeset
|
161 rm -rf dist/mercurial-*.mpkg |
9a9de26ad99a
make: add a basic osx mpkg target
Matt Mackall <mpm@selenic.com>
parents:
21255
diff
changeset
|
162 |
26088
3375ae1e7d0b
makefile: rename debian-jessie to deb
Augie Fackler <augie@google.com>
parents:
24973
diff
changeset
|
163 deb: |
27212
ef9301ce6046
builddeb: read default distribution and codename from lsb_release
Anton Shestakov <av6@dwimlabs.net>
parents:
27210
diff
changeset
|
164 contrib/builddeb |
24971
ab75baaf81d5
builddeb: new script for building a deb package
Augie Fackler <augie@google.com>
parents:
24859
diff
changeset
|
165 |
24973
4c4d0012db4f
dockerdeb: rules to build a debian package using docker
Augie Fackler <augie@google.com>
parents:
24971
diff
changeset
|
166 docker-debian-jessie: |
26089
01d8db874abf
docker-debian-jessie: fix errant mkdir
Augie Fackler <augie@google.com>
parents:
26088
diff
changeset
|
167 mkdir -p packages/debian-jessie |
27210
9b86d29867a5
builddeb: add --distid option to specify Distributor ID
Anton Shestakov <av6@dwimlabs.net>
parents:
27209
diff
changeset
|
168 contrib/dockerdeb debian jessie |
24973
4c4d0012db4f
dockerdeb: rules to build a debian package using docker
Augie Fackler <augie@google.com>
parents:
24971
diff
changeset
|
169 |
22442
77da9c03be60
docker: use stable tags for fedora and centos
Mads Kiilerich <madski@unity3d.com>
parents:
22375
diff
changeset
|
170 fedora20: |
77da9c03be60
docker: use stable tags for fedora and centos
Mads Kiilerich <madski@unity3d.com>
parents:
22375
diff
changeset
|
171 mkdir -p packages/fedora20 |
21640
4bfb721de6dd
buildrpm: remove prompt for uncommitted changes - it was a bad idea
Mads Kiilerich <madski@unity3d.com>
parents:
21560
diff
changeset
|
172 contrib/buildrpm |
22442
77da9c03be60
docker: use stable tags for fedora and centos
Mads Kiilerich <madski@unity3d.com>
parents:
22375
diff
changeset
|
173 cp rpmbuild/RPMS/*/* packages/fedora20 |
77da9c03be60
docker: use stable tags for fedora and centos
Mads Kiilerich <madski@unity3d.com>
parents:
22375
diff
changeset
|
174 cp rpmbuild/SRPMS/* packages/fedora20 |
21255
62a2749895e4
build: initial support for in-tree autobuilding recipes
Matt Mackall <mpm@selenic.com>
parents:
21229
diff
changeset
|
175 rm -rf rpmbuild |
62a2749895e4
build: initial support for in-tree autobuilding recipes
Matt Mackall <mpm@selenic.com>
parents:
21229
diff
changeset
|
176 |
22442
77da9c03be60
docker: use stable tags for fedora and centos
Mads Kiilerich <madski@unity3d.com>
parents:
22375
diff
changeset
|
177 docker-fedora20: |
77da9c03be60
docker: use stable tags for fedora and centos
Mads Kiilerich <madski@unity3d.com>
parents:
22375
diff
changeset
|
178 mkdir -p packages/fedora20 |
77da9c03be60
docker: use stable tags for fedora and centos
Mads Kiilerich <madski@unity3d.com>
parents:
22375
diff
changeset
|
179 contrib/dockerrpm fedora20 |
21255
62a2749895e4
build: initial support for in-tree autobuilding recipes
Matt Mackall <mpm@selenic.com>
parents:
21229
diff
changeset
|
180 |
23882
272b1cc3e83e
docker: support Fedora 21
Mads Kiilerich <madski@unity3d.com>
parents:
23125
diff
changeset
|
181 fedora21: |
272b1cc3e83e
docker: support Fedora 21
Mads Kiilerich <madski@unity3d.com>
parents:
23125
diff
changeset
|
182 mkdir -p packages/fedora21 |
272b1cc3e83e
docker: support Fedora 21
Mads Kiilerich <madski@unity3d.com>
parents:
23125
diff
changeset
|
183 contrib/buildrpm |
272b1cc3e83e
docker: support Fedora 21
Mads Kiilerich <madski@unity3d.com>
parents:
23125
diff
changeset
|
184 cp rpmbuild/RPMS/*/* packages/fedora21 |
272b1cc3e83e
docker: support Fedora 21
Mads Kiilerich <madski@unity3d.com>
parents:
23125
diff
changeset
|
185 cp rpmbuild/SRPMS/* packages/fedora21 |
272b1cc3e83e
docker: support Fedora 21
Mads Kiilerich <madski@unity3d.com>
parents:
23125
diff
changeset
|
186 rm -rf rpmbuild |
272b1cc3e83e
docker: support Fedora 21
Mads Kiilerich <madski@unity3d.com>
parents:
23125
diff
changeset
|
187 |
272b1cc3e83e
docker: support Fedora 21
Mads Kiilerich <madski@unity3d.com>
parents:
23125
diff
changeset
|
188 docker-fedora21: |
272b1cc3e83e
docker: support Fedora 21
Mads Kiilerich <madski@unity3d.com>
parents:
23125
diff
changeset
|
189 mkdir -p packages/fedora21 |
272b1cc3e83e
docker: support Fedora 21
Mads Kiilerich <madski@unity3d.com>
parents:
23125
diff
changeset
|
190 contrib/dockerrpm fedora21 |
272b1cc3e83e
docker: support Fedora 21
Mads Kiilerich <madski@unity3d.com>
parents:
23125
diff
changeset
|
191 |
22443 | 192 centos5: |
193 mkdir -p packages/centos5 | |
194 contrib/buildrpm --withpython | |
195 cp rpmbuild/RPMS/*/* packages/centos5 | |
196 cp rpmbuild/SRPMS/* packages/centos5 | |
197 | |
198 docker-centos5: | |
199 mkdir -p packages/centos5 | |
200 contrib/dockerrpm centos5 --withpython | |
201 | |
21255
62a2749895e4
build: initial support for in-tree autobuilding recipes
Matt Mackall <mpm@selenic.com>
parents:
21229
diff
changeset
|
202 centos6: |
21560
a9e1ab2da30d
packaging: move output directory from build/ to packages/
Matt Mackall <mpm@selenic.com>
parents:
21559
diff
changeset
|
203 mkdir -p packages/centos6 |
21640
4bfb721de6dd
buildrpm: remove prompt for uncommitted changes - it was a bad idea
Mads Kiilerich <madski@unity3d.com>
parents:
21560
diff
changeset
|
204 contrib/buildrpm |
21560
a9e1ab2da30d
packaging: move output directory from build/ to packages/
Matt Mackall <mpm@selenic.com>
parents:
21559
diff
changeset
|
205 cp rpmbuild/RPMS/*/* packages/centos6 |
a9e1ab2da30d
packaging: move output directory from build/ to packages/
Matt Mackall <mpm@selenic.com>
parents:
21559
diff
changeset
|
206 cp rpmbuild/SRPMS/* packages/centos6 |
21255
62a2749895e4
build: initial support for in-tree autobuilding recipes
Matt Mackall <mpm@selenic.com>
parents:
21229
diff
changeset
|
207 |
62a2749895e4
build: initial support for in-tree autobuilding recipes
Matt Mackall <mpm@selenic.com>
parents:
21229
diff
changeset
|
208 docker-centos6: |
21560
a9e1ab2da30d
packaging: move output directory from build/ to packages/
Matt Mackall <mpm@selenic.com>
parents:
21559
diff
changeset
|
209 mkdir -p packages/centos6 |
21255
62a2749895e4
build: initial support for in-tree autobuilding recipes
Matt Mackall <mpm@selenic.com>
parents:
21229
diff
changeset
|
210 contrib/dockerrpm centos6 |
62a2749895e4
build: initial support for in-tree autobuilding recipes
Matt Mackall <mpm@selenic.com>
parents:
21229
diff
changeset
|
211 |
23033
1d354814ff4d
docker: add centos7 target for CentOS / Red Hat 7 support
Mads Kiilerich <madski@unity3d.com>
parents:
22443
diff
changeset
|
212 centos7: |
1d354814ff4d
docker: add centos7 target for CentOS / Red Hat 7 support
Mads Kiilerich <madski@unity3d.com>
parents:
22443
diff
changeset
|
213 mkdir -p packages/centos7 |
1d354814ff4d
docker: add centos7 target for CentOS / Red Hat 7 support
Mads Kiilerich <madski@unity3d.com>
parents:
22443
diff
changeset
|
214 contrib/buildrpm |
1d354814ff4d
docker: add centos7 target for CentOS / Red Hat 7 support
Mads Kiilerich <madski@unity3d.com>
parents:
22443
diff
changeset
|
215 cp rpmbuild/RPMS/*/* packages/centos7 |
1d354814ff4d
docker: add centos7 target for CentOS / Red Hat 7 support
Mads Kiilerich <madski@unity3d.com>
parents:
22443
diff
changeset
|
216 cp rpmbuild/SRPMS/* packages/centos7 |
1d354814ff4d
docker: add centos7 target for CentOS / Red Hat 7 support
Mads Kiilerich <madski@unity3d.com>
parents:
22443
diff
changeset
|
217 |
1d354814ff4d
docker: add centos7 target for CentOS / Red Hat 7 support
Mads Kiilerich <madski@unity3d.com>
parents:
22443
diff
changeset
|
218 docker-centos7: |
1d354814ff4d
docker: add centos7 target for CentOS / Red Hat 7 support
Mads Kiilerich <madski@unity3d.com>
parents:
22443
diff
changeset
|
219 mkdir -p packages/centos7 |
1d354814ff4d
docker: add centos7 target for CentOS / Red Hat 7 support
Mads Kiilerich <madski@unity3d.com>
parents:
22443
diff
changeset
|
220 contrib/dockerrpm centos7 |
1d354814ff4d
docker: add centos7 target for CentOS / Red Hat 7 support
Mads Kiilerich <madski@unity3d.com>
parents:
22443
diff
changeset
|
221 |
2527
c51fad25e59e
Split installation targets into install-bin and install-doc.
Sascha Wilde <wilde@sha-bang.de>
parents:
2244
diff
changeset
|
222 .PHONY: help all local build doc clean install install-bin install-doc \ |
23125
a5d6a609752b
Makefile: update .PHONY
Mads Kiilerich <madski@unity3d.com>
parents:
23033
diff
changeset
|
223 install-home install-home-bin install-home-doc \ |
a5d6a609752b
Makefile: update .PHONY
Mads Kiilerich <madski@unity3d.com>
parents:
23033
diff
changeset
|
224 dist dist-notests check tests check-code update-pot \ |
23882
272b1cc3e83e
docker: support Fedora 21
Mads Kiilerich <madski@unity3d.com>
parents:
23125
diff
changeset
|
225 osx fedora20 docker-fedora20 fedora21 docker-fedora21 \ |
23125
a5d6a609752b
Makefile: update .PHONY
Mads Kiilerich <madski@unity3d.com>
parents:
23033
diff
changeset
|
226 centos5 docker-centos5 centos6 docker-centos6 centos7 docker-centos7 |