Mercurial > hg-stable
annotate Makefile @ 43289:8d432d3a2d7c
rust-cpython: prepare for writing tests that require libpython
What I wanted is to disable the "cpython/extension-module<ver>" feature
while building tests executable, but that seems not doable. Instead,
this patch adds new features dedicated for tests.
The make rule is extracted so that we can easily run cargo tests.
Added a minimal test of ref-sharing as an example. More tests will follow.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Mon, 14 Oct 2019 16:15:19 +0900 |
parents | 7521e6d18057 |
children | 166808ff91de |
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 |
29004
145cdc45b0df
make: do assignment and export in a single statement
Augie Fackler <augie@google.com>
parents:
29003
diff
changeset
|
7 export PREFIX=/usr/local |
42058
ec7b478f1bf8
packaging: allow to run make with python3
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents:
40980
diff
changeset
|
8 PYTHON?=python |
29009
c05cc1b95848
make: backout changeset 51f5fae84e43
Siddharth Agarwal <sid0@fb.com>
parents:
29005
diff
changeset
|
9 $(eval HGROOT := $(shell pwd)) |
24194
00809c43d72c
Makefile: introduce testpy-% target for testing with a specifc Python
Augie Fackler <augie@google.com>
parents:
23940
diff
changeset
|
10 HGPYTHONS ?= $(HGROOT)/build/pythons |
7706
0ae7f0b312ea
use PURE option in Makefile
Martin Geisler <mg@daimi.au.dk>
parents:
7687
diff
changeset
|
11 PURE= |
38853
4ca5932065ca
i18n: avoid substitution of PYFILES at runtime for readability of output
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
38562
diff
changeset
|
12 PYFILESCMD=find mercurial hgext doc -name '*.py' |
4ca5932065ca
i18n: avoid substitution of PYFILES at runtime for readability of output
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
38562
diff
changeset
|
13 PYFILES:=$(shell $(PYFILESCMD)) |
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) |
33595
c5607b65fcb8
osx: wire up genosxversion script
Augie Fackler <augie@google.com>
parents:
33045
diff
changeset
|
18 OSXVERSIONFLAGS ?= $(shell echo $$OSXVERSIONFLAGS) |
42666
7521e6d18057
makefile: run Rust tests if cargo is installed
Raphaël Gomès <rgomes@octobus.net>
parents:
42058
diff
changeset
|
19 CARGO = cargo |
1008
85272e96b96a
Add Makefile for generating release tarballs.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
20 |
18056
7c9b07f0da73
makefile: allow local builds to work on windows/mingw32
Bryan O'Sullivan <bryano@fb.com>
parents:
17927
diff
changeset
|
21 # 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
|
22 COMPILER= |
7c9b07f0da73
makefile: allow local builds to work on windows/mingw32
Bryan O'Sullivan <bryano@fb.com>
parents:
17927
diff
changeset
|
23 |
29003
c6b108555dfa
make: alter how we compute compiler flags for setup.py
Augie Fackler <augie@google.com>
parents:
28995
diff
changeset
|
24 COMPILERFLAG_tmp_ = |
c6b108555dfa
make: alter how we compute compiler flags for setup.py
Augie Fackler <augie@google.com>
parents:
28995
diff
changeset
|
25 COMPILERFLAG_tmp_${COMPILER} ?= -c $(COMPILER) |
c6b108555dfa
make: alter how we compute compiler flags for setup.py
Augie Fackler <augie@google.com>
parents:
28995
diff
changeset
|
26 COMPILERFLAG=${COMPILERFLAG_tmp_${COMPILER}} |
c6b108555dfa
make: alter how we compute compiler flags for setup.py
Augie Fackler <augie@google.com>
parents:
28995
diff
changeset
|
27 |
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 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
|
29 @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
|
30 @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
|
31 @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
|
32 @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
|
33 @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
|
34 @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
|
35 @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
|
36 @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
|
37 @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
|
38 @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
|
39 @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
|
40 @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
|
41 @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
|
42 @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
|
43 @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
|
44 @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
|
45 @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
|
46 |
76be4e66ddc8
Just using 'make' now shows help. 'make all' doesn't perform inplace build.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2235
diff
changeset
|
47 all: build doc |
2235
457e4247315d
New make targets:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2234
diff
changeset
|
48 |
457e4247315d
New make targets:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2234
diff
changeset
|
49 local: |
18056
7c9b07f0da73
makefile: allow local builds to work on windows/mingw32
Bryan O'Sullivan <bryano@fb.com>
parents:
17927
diff
changeset
|
50 $(PYTHON) setup.py $(PURE) \ |
7c9b07f0da73
makefile: allow local builds to work on windows/mingw32
Bryan O'Sullivan <bryano@fb.com>
parents:
17927
diff
changeset
|
51 build_py -c -d . \ |
29003
c6b108555dfa
make: alter how we compute compiler flags for setup.py
Augie Fackler <augie@google.com>
parents:
28995
diff
changeset
|
52 build_ext $(COMPILERFLAG) -i \ |
c6b108555dfa
make: alter how we compute compiler flags for setup.py
Augie Fackler <augie@google.com>
parents:
28995
diff
changeset
|
53 build_hgexe $(COMPILERFLAG) -i \ |
18056
7c9b07f0da73
makefile: allow local builds to work on windows/mingw32
Bryan O'Sullivan <bryano@fb.com>
parents:
17927
diff
changeset
|
54 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
|
55 env HGRCPATH= $(PYTHON) hg version |
1020 | 56 |
2235
457e4247315d
New make targets:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2234
diff
changeset
|
57 build: |
29003
c6b108555dfa
make: alter how we compute compiler flags for setup.py
Augie Fackler <augie@google.com>
parents:
28995
diff
changeset
|
58 $(PYTHON) setup.py $(PURE) build $(COMPILERFLAG) |
2235
457e4247315d
New make targets:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2234
diff
changeset
|
59 |
26601
c5c7c686d6a6
makefile: add wheel build target
Nathan Goldbaum <ngoldbau@ucsc.edu>
parents:
26108
diff
changeset
|
60 wheel: |
29003
c6b108555dfa
make: alter how we compute compiler flags for setup.py
Augie Fackler <augie@google.com>
parents:
28995
diff
changeset
|
61 FORCE_SETUPTOOLS=1 $(PYTHON) setup.py $(PURE) bdist_wheel $(COMPILERFLAG) |
26601
c5c7c686d6a6
makefile: add wheel build target
Nathan Goldbaum <ngoldbau@ucsc.edu>
parents:
26108
diff
changeset
|
62 |
2235
457e4247315d
New make targets:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2234
diff
changeset
|
63 doc: |
457e4247315d
New make targets:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2234
diff
changeset
|
64 $(MAKE) -C doc |
1008
85272e96b96a
Add Makefile for generating release tarballs.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
65 |
29640
17b3309bfdff
make: introduce a target to clean everything but packages
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
29535
diff
changeset
|
66 cleanbutpackages: |
8365
94e91205d9b6
Makefile: fix grammar in comment
Greg Ward <greg-hg@gerg.ca>
parents:
8273
diff
changeset
|
67 -$(PYTHON) setup.py clean --all # ignore errors from this command |
33605
92f7dcf9a40b
make: add new directory 'hgdemandimport' to cleanbutpackages rule
Sean Farley <sean@farley.io>
parents:
33596
diff
changeset
|
68 find contrib doc hgext hgext3rd i18n mercurial tests hgdemandimport \ |
20007
23edc6673f0d
make: restrict recursion in make clean
Matt Mackall <mpm@selenic.com>
parents:
19991
diff
changeset
|
69 \( -name '*.py[cdo]' -o -name '*.so' \) -exec rm -f '{}' ';' |
22375
308ab71207ff
build: don't clean __version__.py on 'make clean' in release tarballs
J. Lewis Muir <jlmuir@anl.gov>
parents:
22358
diff
changeset
|
70 rm -f MANIFEST MANIFEST.in hgext/__index__.py tests/*.err |
28430
17b85d739b62
setup: create a module for the modulepolicy
timeless <timeless@mozdev.org>
parents:
27212
diff
changeset
|
71 rm -f mercurial/__modulepolicy__.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
|
72 if test -d .hg; then rm -f mercurial/__version__.py; fi |
29640
17b3309bfdff
make: introduce a target to clean everything but packages
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
29535
diff
changeset
|
73 rm -rf build mercurial/locale |
1423 | 74 $(MAKE) -C doc clean |
28974 | 75 $(MAKE) -C contrib/chg distclean |
40851
9072a890e523
rust: make clean takes care of rust/target
Georges Racinet <gracinet@anybox.fr>
parents:
40632
diff
changeset
|
76 rm -rf rust/target |
40980
462a26756f70
rust-cpython: build via HGWITHRUSTEXT=cpython
Georges Racinet <gracinet@anybox.fr>
parents:
40851
diff
changeset
|
77 rm -f mercurial/rustext.so |
1008
85272e96b96a
Add Makefile for generating release tarballs.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
78 |
29640
17b3309bfdff
make: introduce a target to clean everything but packages
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
29535
diff
changeset
|
79 clean: cleanbutpackages |
17b3309bfdff
make: introduce a target to clean everything but packages
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
29535
diff
changeset
|
80 rm -rf packages |
17b3309bfdff
make: introduce a target to clean everything but packages
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
29535
diff
changeset
|
81 |
2527
c51fad25e59e
Split installation targets into install-bin and install-doc.
Sascha Wilde <wilde@sha-bang.de>
parents:
2244
diff
changeset
|
82 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
|
83 |
c51fad25e59e
Split installation targets into install-bin and install-doc.
Sascha Wilde <wilde@sha-bang.de>
parents:
2244
diff
changeset
|
84 install-bin: build |
10961
ce6d56b95f2e
Respect the DESTDIR variable during 'make install'
Dévai Tamás <devait@vnet.hu>
parents:
10134
diff
changeset
|
85 $(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
|
86 |
c51fad25e59e
Split installation targets into install-bin and install-doc.
Sascha Wilde <wilde@sha-bang.de>
parents:
2244
diff
changeset
|
87 install-doc: doc |
2235
457e4247315d
New make targets:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2234
diff
changeset
|
88 cd doc && $(MAKE) $(MFLAGS) install |
457e4247315d
New make targets:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2234
diff
changeset
|
89 |
2527
c51fad25e59e
Split installation targets into install-bin and install-doc.
Sascha Wilde <wilde@sha-bang.de>
parents:
2244
diff
changeset
|
90 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
|
91 |
c51fad25e59e
Split installation targets into install-bin and install-doc.
Sascha Wilde <wilde@sha-bang.de>
parents:
2244
diff
changeset
|
92 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
|
93 $(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
|
94 |
c51fad25e59e
Split installation targets into install-bin and install-doc.
Sascha Wilde <wilde@sha-bang.de>
parents:
2244
diff
changeset
|
95 install-home-doc: doc |
2235
457e4247315d
New make targets:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2234
diff
changeset
|
96 cd doc && $(MAKE) $(MFLAGS) PREFIX="$(HOME)" install |
457e4247315d
New make targets:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2234
diff
changeset
|
97 |
3872
9d7ac8613340
fix MANIFEST generation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3865
diff
changeset
|
98 MANIFEST-doc: |
9d7ac8613340
fix MANIFEST generation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3865
diff
changeset
|
99 $(MAKE) -C doc MANIFEST |
9d7ac8613340
fix MANIFEST generation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3865
diff
changeset
|
100 |
14558
2ce7dfe17bc5
distutils: Create MANIFEST.in instead of MANIFEST in Makefile
Stephen Thorne <stephen@thorne.id.au>
parents:
14315
diff
changeset
|
101 MANIFEST.in: MANIFEST-doc |
2ce7dfe17bc5
distutils: Create MANIFEST.in instead of MANIFEST in Makefile
Stephen Thorne <stephen@thorne.id.au>
parents:
14315
diff
changeset
|
102 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
|
103 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
|
104 sed -e 's/^/include /' < doc/MANIFEST >> MANIFEST.in |
3872
9d7ac8613340
fix MANIFEST generation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3865
diff
changeset
|
105 |
2234
9ea93ff67a73
New make target "dist-notests" to create tarballs without running tests first.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2233
diff
changeset
|
106 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
|
107 |
14558
2ce7dfe17bc5
distutils: Create MANIFEST.in instead of MANIFEST in Makefile
Stephen Thorne <stephen@thorne.id.au>
parents:
14315
diff
changeset
|
108 dist-notests: doc MANIFEST.in |
3865
36a957364b1b
Make make dist a bit quieter
Matt Mackall <mpm@selenic.com>
parents:
3864
diff
changeset
|
109 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
|
110 |
14172
1a919c3271bf
add make check: tests rule
Johan Euphrosine <proppy@google.com>
parents:
13101
diff
changeset
|
111 check: tests |
1a919c3271bf
add make check: tests rule
Johan Euphrosine <proppy@google.com>
parents:
13101
diff
changeset
|
112 |
1008
85272e96b96a
Add Makefile for generating release tarballs.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
113 tests: |
42666
7521e6d18057
makefile: run Rust tests if cargo is installed
Raphaël Gomès <rgomes@octobus.net>
parents:
42058
diff
changeset
|
114 # Run Rust tests if cargo is installed |
7521e6d18057
makefile: run Rust tests if cargo is installed
Raphaël Gomès <rgomes@octobus.net>
parents:
42058
diff
changeset
|
115 if command -v $(CARGO) >/dev/null 2>&1; then \ |
43289
8d432d3a2d7c
rust-cpython: prepare for writing tests that require libpython
Yuya Nishihara <yuya@tcha.org>
parents:
42666
diff
changeset
|
116 $(MAKE) rust-tests; \ |
42666
7521e6d18057
makefile: run Rust tests if cargo is installed
Raphaël Gomès <rgomes@octobus.net>
parents:
42058
diff
changeset
|
117 fi |
3969
edaf68032a27
add possibility to pass flags when testing with the Makefile
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3872
diff
changeset
|
118 cd tests && $(PYTHON) run-tests.py $(TESTFLAGS) |
1008
85272e96b96a
Add Makefile for generating release tarballs.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
119 |
1426
e84c69b43cdb
add a target for running only one test
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1423
diff
changeset
|
120 test-%: |
3969
edaf68032a27
add possibility to pass flags when testing with the Makefile
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3872
diff
changeset
|
121 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
|
122 |
24194
00809c43d72c
Makefile: introduce testpy-% target for testing with a specifc Python
Augie Fackler <augie@google.com>
parents:
23940
diff
changeset
|
123 testpy-%: |
00809c43d72c
Makefile: introduce testpy-% target for testing with a specifc Python
Augie Fackler <augie@google.com>
parents:
23940
diff
changeset
|
124 @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
|
125 [ -e $(HGPYTHONS)/$*/bin/python ] || ( \ |
00809c43d72c
Makefile: introduce testpy-% target for testing with a specifc Python
Augie Fackler <augie@google.com>
parents:
23940
diff
changeset
|
126 cd $$(mktemp --directory --tmpdir) && \ |
00809c43d72c
Makefile: introduce testpy-% target for testing with a specifc Python
Augie Fackler <augie@google.com>
parents:
23940
diff
changeset
|
127 $(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
|
128 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
|
129 |
43289
8d432d3a2d7c
rust-cpython: prepare for writing tests that require libpython
Yuya Nishihara <yuya@tcha.org>
parents:
42666
diff
changeset
|
130 rust-tests: py_feature = $(shell $(PYTHON) -c \ |
8d432d3a2d7c
rust-cpython: prepare for writing tests that require libpython
Yuya Nishihara <yuya@tcha.org>
parents:
42666
diff
changeset
|
131 'import sys; print(["python27-bin", "python3-bin"][sys.version_info[0] >= 3])') |
8d432d3a2d7c
rust-cpython: prepare for writing tests that require libpython
Yuya Nishihara <yuya@tcha.org>
parents:
42666
diff
changeset
|
132 rust-tests: |
8d432d3a2d7c
rust-cpython: prepare for writing tests that require libpython
Yuya Nishihara <yuya@tcha.org>
parents:
42666
diff
changeset
|
133 cd $(HGROOT)/rust/hg-cpython \ |
8d432d3a2d7c
rust-cpython: prepare for writing tests that require libpython
Yuya Nishihara <yuya@tcha.org>
parents:
42666
diff
changeset
|
134 && $(CARGO) test --quiet --all \ |
8d432d3a2d7c
rust-cpython: prepare for writing tests that require libpython
Yuya Nishihara <yuya@tcha.org>
parents:
42666
diff
changeset
|
135 --no-default-features --features "$(py_feature)" |
8d432d3a2d7c
rust-cpython: prepare for writing tests that require libpython
Yuya Nishihara <yuya@tcha.org>
parents:
42666
diff
changeset
|
136 |
18598
4723ccb62282
check-code: add Makefile target to run check-code
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
18056
diff
changeset
|
137 check-code: |
4723ccb62282
check-code: add Makefile target to run check-code
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
18056
diff
changeset
|
138 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
|
139 |
34859
2bf152128d59
makefile: add target to apply clang-format in-place
Augie Fackler <augie@google.com>
parents:
34655
diff
changeset
|
140 format-c: |
2bf152128d59
makefile: add target to apply clang-format in-place
Augie Fackler <augie@google.com>
parents:
34655
diff
changeset
|
141 clang-format --style file -i \ |
37186
0024961aa493
contrib: rename clang-format-blacklist to clang-format-ignorelist
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36928
diff
changeset
|
142 `hg files 'set:(**.c or **.cc or **.h) and not "listfile:contrib/clang-format-ignorelist"'` |
34859
2bf152128d59
makefile: add target to apply clang-format in-place
Augie Fackler <augie@google.com>
parents:
34655
diff
changeset
|
143 |
7893
606723f4a327
enhance Makefile for language translators
Tobias Bell <tobias.bell@gmail.com>
parents:
7791
diff
changeset
|
144 update-pot: i18n/hg.pot |
606723f4a327
enhance Makefile for language translators
Tobias Bell <tobias.bell@gmail.com>
parents:
7791
diff
changeset
|
145 |
20358
4276c906d90e
Makefile: hg.pot depends on the scripts generating it
Simon Heimberg <simohe@besonet.ch>
parents:
20311
diff
changeset
|
146 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
|
147 $(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
|
148 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
|
149 mercurial/fileset.py mercurial/revset.py \ |
36928
521f6c7e1756
templater: split template functions to new module
Yuya Nishihara <yuya@tcha.org>
parents:
35949
diff
changeset
|
150 mercurial/templatefilters.py \ |
521f6c7e1756
templater: split template functions to new module
Yuya Nishihara <yuya@tcha.org>
parents:
35949
diff
changeset
|
151 mercurial/templatefuncs.py \ |
521f6c7e1756
templater: split template functions to new module
Yuya Nishihara <yuya@tcha.org>
parents:
35949
diff
changeset
|
152 mercurial/templatekw.py \ |
16126
0c4bec9596d8
filemerge: create detail of internal merge tools from documentation string
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
15379
diff
changeset
|
153 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
|
154 mercurial/hgweb/webcommands.py \ |
33841
fa7e30efe05a
i18n: get translation entries for description of each compression engines
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
33707
diff
changeset
|
155 mercurial/util.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
|
156 $(DOCFILES) > i18n/hg.pot.tmp |
7710
88326ee85a1b
i18n: extract strings with xgettext
Martin Geisler <mg@daimi.au.dk>
parents:
7706
diff
changeset
|
157 # All strings marked for translation in Mercurial contain |
88326ee85a1b
i18n: extract strings with xgettext
Martin Geisler <mg@daimi.au.dk>
parents:
7706
diff
changeset
|
158 # ASCII characters only. But some files contain string |
88326ee85a1b
i18n: extract strings with xgettext
Martin Geisler <mg@daimi.au.dk>
parents:
7706
diff
changeset
|
159 # literals like this '\037\213'. xgettext thinks it has to |
8273 | 160 # parse them even though they are not marked for translation. |
161 # Extracting with an explicit encoding of ISO-8859-1 will make | |
162 # xgettext "parse" and ignore them. | |
38853
4ca5932065ca
i18n: avoid substitution of PYFILES at runtime for readability of output
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
38562
diff
changeset
|
163 $(PYFILESCMD) | xargs \ |
9278
3d9f77c03105
Makefile: remove non-default wrapping of hg.pot strings
Martin Geisler <mg@lazybytes.net>
parents:
9079
diff
changeset
|
164 xgettext --package-name "Mercurial" \ |
30868
22a4f664c1a5
misc: replace domain of mercurial-devel ML address by mercurial-scm.org
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
30705
diff
changeset
|
165 --msgid-bugs-address "<mercurial-devel@mercurial-scm.org>" \ |
8272
79983cfa7efe
Makefile: add more meta data to hg.pot
Martin Geisler <mg@lazybytes.net>
parents:
7893
diff
changeset
|
166 --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
|
167 --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
|
168 -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
|
169 $(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
|
170 # 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
|
171 # 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
|
172 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
|
173 |
7893
606723f4a327
enhance Makefile for language translators
Tobias Bell <tobias.bell@gmail.com>
parents:
7791
diff
changeset
|
174 %.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
|
175 # 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
|
176 cp $@ $@.tmp |
ce5d711475a3
Makefile: do update on a temporary copy of a po file
Simon Heimberg <simohe@besonet.ch>
parents:
19427
diff
changeset
|
177 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
|
178 mv -f $@.tmp $@ |
7893
606723f4a327
enhance Makefile for language translators
Tobias Bell <tobias.bell@gmail.com>
parents:
7791
diff
changeset
|
179 |
21255
62a2749895e4
build: initial support for in-tree autobuilding recipes
Matt Mackall <mpm@selenic.com>
parents:
21229
diff
changeset
|
180 # Packaging targets |
62a2749895e4
build: initial support for in-tree autobuilding recipes
Matt Mackall <mpm@selenic.com>
parents:
21229
diff
changeset
|
181 |
38056
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
182 packaging_targets := \ |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
183 centos5 \ |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
184 centos6 \ |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
185 centos7 \ |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
186 deb \ |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
187 docker-centos5 \ |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
188 docker-centos6 \ |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
189 docker-centos7 \ |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
190 docker-debian-jessie \ |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
191 docker-debian-stretch \ |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
192 docker-fedora20 \ |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
193 docker-fedora21 \ |
38562
600d8d9b8551
packaging: add fedora 28
Augie Fackler <augie@google.com>
parents:
38056
diff
changeset
|
194 docker-fedora28 \ |
40632
d0a6b2c8f8b6
packaging: add Fedora 29 target
Augie Fackler <raf@durin42.com>
parents:
38853
diff
changeset
|
195 docker-fedora29 \ |
38056
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
196 docker-ubuntu-trusty \ |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
197 docker-ubuntu-trusty-ppa \ |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
198 docker-ubuntu-xenial \ |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
199 docker-ubuntu-xenial-ppa \ |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
200 docker-ubuntu-artful \ |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
201 docker-ubuntu-artful-ppa \ |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
202 docker-ubuntu-bionic \ |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
203 docker-ubuntu-bionic-ppa \ |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
204 fedora20 \ |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
205 fedora21 \ |
38562
600d8d9b8551
packaging: add fedora 28
Augie Fackler <augie@google.com>
parents:
38056
diff
changeset
|
206 fedora28 \ |
40632
d0a6b2c8f8b6
packaging: add Fedora 29 target
Augie Fackler <raf@durin42.com>
parents:
38853
diff
changeset
|
207 fedora29 \ |
38056
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
208 linux-wheels \ |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
209 linux-wheels-x86_64 \ |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
210 linux-wheels-i686 \ |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
211 ppa |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
212 |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
213 # Forward packaging targets for convenience. |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
214 $(packaging_targets): |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
215 $(MAKE) -C contrib/packaging $@ |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
216 |
21559
9a9de26ad99a
make: add a basic osx mpkg target
Matt Mackall <mpm@selenic.com>
parents:
21255
diff
changeset
|
217 osx: |
31616
6359976b43be
osx: always purge build/mercurial before starting build
Augie Fackler <augie@google.com>
parents:
31614
diff
changeset
|
218 rm -rf build/mercurial |
29535
da1848f07c6a
osx: explicitly build hg with /usr/bin/python2.7
Augie Fackler <augie@google.com>
parents:
29036
diff
changeset
|
219 /usr/bin/python2.7 setup.py install --optimize=1 \ |
29027
db5084d27df5
osx: create a modern package including manpages
Kevin Bullock <kbullock+mercurial@ringworld.org>
parents:
29024
diff
changeset
|
220 --root=build/mercurial/ --prefix=/usr/local/ \ |
db5084d27df5
osx: create a modern package including manpages
Kevin Bullock <kbullock+mercurial@ringworld.org>
parents:
29024
diff
changeset
|
221 --install-lib=/Library/Python/2.7/site-packages/ |
db5084d27df5
osx: create a modern package including manpages
Kevin Bullock <kbullock+mercurial@ringworld.org>
parents:
29024
diff
changeset
|
222 make -C doc all install DESTDIR="$(PWD)/build/mercurial/" |
32134
197eb93560b3
osx: override default exclude filter for pkgbuild
Augie Fackler <augie@google.com>
parents:
32080
diff
changeset
|
223 # Place a bogon .DS_Store file in the target dir so we can be |
197eb93560b3
osx: override default exclude filter for pkgbuild
Augie Fackler <augie@google.com>
parents:
32080
diff
changeset
|
224 # sure it doesn't get included in the final package. |
197eb93560b3
osx: override default exclude filter for pkgbuild
Augie Fackler <augie@google.com>
parents:
32080
diff
changeset
|
225 touch build/mercurial/.DS_Store |
31152
408dcf7475a7
osx: install bash and zsh completions by default
Augie Fackler <augie@google.com>
parents:
30980
diff
changeset
|
226 # install zsh completions - this location appears to be |
408dcf7475a7
osx: install bash and zsh completions by default
Augie Fackler <augie@google.com>
parents:
30980
diff
changeset
|
227 # searched by default as of macOS Sierra. |
31614
8e516f71577a
osx: install completion scripts using install(1) to avoid umask badness
Augie Fackler <augie@google.com>
parents:
31152
diff
changeset
|
228 install -d build/mercurial/usr/local/share/zsh/site-functions/ |
32135
501d48bda912
zsh_completion: install as _hg not hg
Kyle Lippincott <spectral@google.com>
parents:
32134
diff
changeset
|
229 install -m 0644 contrib/zsh_completion build/mercurial/usr/local/share/zsh/site-functions/_hg |
31152
408dcf7475a7
osx: install bash and zsh completions by default
Augie Fackler <augie@google.com>
parents:
30980
diff
changeset
|
230 # install bash completions - there doesn't appear to be a |
408dcf7475a7
osx: install bash and zsh completions by default
Augie Fackler <augie@google.com>
parents:
30980
diff
changeset
|
231 # place that's searched by default for bash, so we'll follow |
408dcf7475a7
osx: install bash and zsh completions by default
Augie Fackler <augie@google.com>
parents:
30980
diff
changeset
|
232 # the lead of Apple's git install and just put it in a |
408dcf7475a7
osx: install bash and zsh completions by default
Augie Fackler <augie@google.com>
parents:
30980
diff
changeset
|
233 # location of our own. |
31614
8e516f71577a
osx: install completion scripts using install(1) to avoid umask badness
Augie Fackler <augie@google.com>
parents:
31152
diff
changeset
|
234 install -d build/mercurial/usr/local/hg/contrib/ |
8e516f71577a
osx: install completion scripts using install(1) to avoid umask badness
Augie Fackler <augie@google.com>
parents:
31152
diff
changeset
|
235 install -m 0644 contrib/bash_completion build/mercurial/usr/local/hg/contrib/hg-completion.bash |
32505
a38ed42cd23c
osx: include chg by default
Augie Fackler <augie@google.com>
parents:
32504
diff
changeset
|
236 make -C contrib/chg \ |
a38ed42cd23c
osx: include chg by default
Augie Fackler <augie@google.com>
parents:
32504
diff
changeset
|
237 HGPATH=/usr/local/bin/hg \ |
a38ed42cd23c
osx: include chg by default
Augie Fackler <augie@google.com>
parents:
32504
diff
changeset
|
238 PYTHON=/usr/bin/python2.7 \ |
a38ed42cd23c
osx: include chg by default
Augie Fackler <augie@google.com>
parents:
32504
diff
changeset
|
239 HGEXTDIR=/Library/Python/2.7/site-packages/hgext \ |
a38ed42cd23c
osx: include chg by default
Augie Fackler <augie@google.com>
parents:
32504
diff
changeset
|
240 DESTDIR=../../build/mercurial \ |
a38ed42cd23c
osx: include chg by default
Augie Fackler <augie@google.com>
parents:
32504
diff
changeset
|
241 PREFIX=/usr/local \ |
a38ed42cd23c
osx: include chg by default
Augie Fackler <augie@google.com>
parents:
32504
diff
changeset
|
242 clean install |
29027
db5084d27df5
osx: create a modern package including manpages
Kevin Bullock <kbullock+mercurial@ringworld.org>
parents:
29024
diff
changeset
|
243 mkdir -p $${OUTPUTDIR:-dist} |
33662
8de8f8a91f2d
osx: delay version computation on macOS builds
Kevin Bullock <kbullock+mercurial@ringworld.org>
parents:
33605
diff
changeset
|
244 HGVER=$$(python contrib/genosxversion.py $(OSXVERSIONFLAGS) build/mercurial/Library/Python/2.7/site-packages/mercurial/__version__.py) && \ |
29027
db5084d27df5
osx: create a modern package including manpages
Kevin Bullock <kbullock+mercurial@ringworld.org>
parents:
29024
diff
changeset
|
245 OSXVER=$$(sw_vers -productVersion | cut -d. -f1,2) && \ |
32134
197eb93560b3
osx: override default exclude filter for pkgbuild
Augie Fackler <augie@google.com>
parents:
32080
diff
changeset
|
246 pkgbuild --filter \\.DS_Store --root build/mercurial/ \ |
29788
afa74947a414
osx: stamp the hg version into the version field in the pkg
Augie Fackler <augie@google.com>
parents:
29640
diff
changeset
|
247 --identifier org.mercurial-scm.mercurial \ |
afa74947a414
osx: stamp the hg version into the version field in the pkg
Augie Fackler <augie@google.com>
parents:
29640
diff
changeset
|
248 --version "$${HGVER}" \ |
afa74947a414
osx: stamp the hg version into the version field in the pkg
Augie Fackler <augie@google.com>
parents:
29640
diff
changeset
|
249 build/mercurial.pkg && \ |
38054
e5d2248dcc39
packaging: move contrib/macosx to contrib/packaging/
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38052
diff
changeset
|
250 productbuild --distribution contrib/packaging/macosx/distribution.xml \ |
29027
db5084d27df5
osx: create a modern package including manpages
Kevin Bullock <kbullock+mercurial@ringworld.org>
parents:
29024
diff
changeset
|
251 --package-path build/ \ |
db5084d27df5
osx: create a modern package including manpages
Kevin Bullock <kbullock+mercurial@ringworld.org>
parents:
29024
diff
changeset
|
252 --version "$${HGVER}" \ |
38054
e5d2248dcc39
packaging: move contrib/macosx to contrib/packaging/
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38052
diff
changeset
|
253 --resources contrib/packaging/macosx/ \ |
29027
db5084d27df5
osx: create a modern package including manpages
Kevin Bullock <kbullock+mercurial@ringworld.org>
parents:
29024
diff
changeset
|
254 "$${OUTPUTDIR:-dist/}"/Mercurial-"$${HGVER}"-macosx"$${OSXVER}".pkg |
21559
9a9de26ad99a
make: add a basic osx mpkg target
Matt Mackall <mpm@selenic.com>
parents:
21255
diff
changeset
|
255 |
29640
17b3309bfdff
make: introduce a target to clean everything but packages
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
29535
diff
changeset
|
256 .PHONY: help all local build doc cleanbutpackages clean install install-bin \ |
17b3309bfdff
make: introduce a target to clean everything but packages
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
29535
diff
changeset
|
257 install-doc install-home install-home-bin install-home-doc \ |
43289
8d432d3a2d7c
rust-cpython: prepare for writing tests that require libpython
Yuya Nishihara <yuya@tcha.org>
parents:
42666
diff
changeset
|
258 dist dist-notests check tests rust-tests check-code format-c \ |
8d432d3a2d7c
rust-cpython: prepare for writing tests that require libpython
Yuya Nishihara <yuya@tcha.org>
parents:
42666
diff
changeset
|
259 update-pot \ |
38056
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
260 $(packaging_targets) \ |
768bd75835d7
packaging: move most packaging targets to own Makefile
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38054
diff
changeset
|
261 osx |