Makefile
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
Tue, 07 Mar 2017 12:04:05 +0100
changeset 2045 db617700d318
parent 2040 934d70e3be97
child 2269 b838c069bf4e
permissions -rw-r--r--
tests: move "test setup" script into a 'testlib' directory This will avoid cluttering the tests directory.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
542
ca5bb72d14ae pkg: abstract version in makefile
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 531
diff changeset
     1
VERSION=$(shell python setup.py --version)
ca5bb72d14ae pkg: abstract version in makefile
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 531
diff changeset
     2
2039
103da16f3be2 makefile: only check for HGROOT when running tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2020
diff changeset
     3
PYTHON=python
0
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     4
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     5
help:
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     6
	@echo 'Commonly used make targets:'
1769
38d1463f3e0f makefile: fix documentation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1524
diff changeset
     7
	@echo '  deb-prepare - prepare the build of a debian package'
0
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     8
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     9
all: help
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    10
531
b18b00036355 pkg/debian: Debian packaging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 0
diff changeset
    11
deb-prepare:
b18b00036355 pkg/debian: Debian packaging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 0
diff changeset
    12
	python setup.py sdist --dist-dir ..
542
ca5bb72d14ae pkg: abstract version in makefile
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 531
diff changeset
    13
	mv -f ../hg-evolve-$(VERSION).tar.gz ../mercurial-evolve_$(VERSION).orig.tar.gz
ca5bb72d14ae pkg: abstract version in makefile
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 531
diff changeset
    14
	tar xf ../mercurial-evolve_$(VERSION).orig.tar.gz
ca5bb72d14ae pkg: abstract version in makefile
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 531
diff changeset
    15
	rm -rf ../mercurial-evolve_$(VERSION).orig
ca5bb72d14ae pkg: abstract version in makefile
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 531
diff changeset
    16
	mv hg-evolve-$(VERSION) ../mercurial-evolve_$(VERSION).orig
ca5bb72d14ae pkg: abstract version in makefile
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 531
diff changeset
    17
	cp -r debian/ ../mercurial-evolve_$(VERSION).orig/
ca5bb72d14ae pkg: abstract version in makefile
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 531
diff changeset
    18
	@cd ../mercurial-evolve_$(VERSION).orig && echo 'debian build directory ready at' `pwd`
2020
143c8e4dc22d topic: merge the topic extension in the evolve repository
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1769 1893
diff changeset
    19
2040
934d70e3be97 makefile: add an 'install-home' target
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2039
diff changeset
    20
install-home:
934d70e3be97 makefile: add an 'install-home' target
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2039
diff changeset
    21
	$(PYTHON) setup.py install --home="$(HOME)" --prefix="" --force
934d70e3be97 makefile: add an 'install-home' target
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2039
diff changeset
    22
2020
143c8e4dc22d topic: merge the topic extension in the evolve repository
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1769 1893
diff changeset
    23
# test targets
1879
bd5c2922a8ad Makefile: rework running of tests
Augie Fackler <raf@durin42.com>
parents: 1839
diff changeset
    24
TESTFLAGS ?= $(shell echo $$HGTESTFLAGS)
bd5c2922a8ad Makefile: rework running of tests
Augie Fackler <raf@durin42.com>
parents: 1839
diff changeset
    25
bd5c2922a8ad Makefile: rework running of tests
Augie Fackler <raf@durin42.com>
parents: 1839
diff changeset
    26
HGTESTS=$(HGROOT)/tests
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
    27
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
    28
help:
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
    29
	@echo 'Commonly used make targets:'
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
    30
	@echo '  tests              - run all tests in the automatic test suite'
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
    31
	@echo '  all-version-tests - run all tests against many hg versions'
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
    32
	@echo '  tests-%s           - run all tests in the specified hg version'
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
    33
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
    34
all: help
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
    35
2039
103da16f3be2 makefile: only check for HGROOT when running tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2020
diff changeset
    36
_check_hgroot:
103da16f3be2 makefile: only check for HGROOT when running tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2020
diff changeset
    37
	ifeq ($(HGROOT),)
103da16f3be2 makefile: only check for HGROOT when running tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2020
diff changeset
    38
	  $(error HGROOT is not set to the root of the hg source tree)
103da16f3be2 makefile: only check for HGROOT when running tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2020
diff changeset
    39
	endif
103da16f3be2 makefile: only check for HGROOT when running tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2020
diff changeset
    40
103da16f3be2 makefile: only check for HGROOT when running tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2020
diff changeset
    41
tests: _check_hgroot
1879
bd5c2922a8ad Makefile: rework running of tests
Augie Fackler <raf@durin42.com>
parents: 1839
diff changeset
    42
	cd tests && $(PYTHON) $(HGTESTS)/run-tests.py $(TESTFLAGS)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
    43
2020
143c8e4dc22d topic: merge the topic extension in the evolve repository
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1769 1893
diff changeset
    44
# /!\ run outside of the compatibility branch output test will likely fails
143c8e4dc22d topic: merge the topic extension in the evolve repository
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1769 1893
diff changeset
    45
2039
103da16f3be2 makefile: only check for HGROOT when running tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2020
diff changeset
    46
test-%: _check_hgroot
1879
bd5c2922a8ad Makefile: rework running of tests
Augie Fackler <raf@durin42.com>
parents: 1839
diff changeset
    47
	cd tests && $(PYTHON) $(HGTESTS)/run-tests.py $(TESTFLAGS) $@
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
    48
2039
103da16f3be2 makefile: only check for HGROOT when running tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2020
diff changeset
    49
tests-%: _check_hgroot
1879
bd5c2922a8ad Makefile: rework running of tests
Augie Fackler <raf@durin42.com>
parents: 1839
diff changeset
    50
	hg -R $(HGROOT) checkout $$(echo $@ | sed s/tests-//) && \
bd5c2922a8ad Makefile: rework running of tests
Augie Fackler <raf@durin42.com>
parents: 1839
diff changeset
    51
	(cd $(HGROOT) ; $(MAKE) clean ) && \
bd5c2922a8ad Makefile: rework running of tests
Augie Fackler <raf@durin42.com>
parents: 1839
diff changeset
    52
	cd tests && $(PYTHON) $(HGTESTS)/run-tests.py $(TESTFLAGS)
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
    53
2020
143c8e4dc22d topic: merge the topic extension in the evolve repository
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1769 1893
diff changeset
    54
# build a script to extract declared version
143c8e4dc22d topic: merge the topic extension in the evolve repository
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1769 1893
diff changeset
    55
all-version-tests: tests-@
1839
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
    56
1bc5e62fc0c7 Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff changeset
    57
.PHONY: tests all-version-tests