view Makefile @ 6703:cc49139f580f

evolve: drop cmdutil.STATES compatibility for hg 5.0 The diff is not looking great, but actually the change is pretty straightforward. What was at some point living inside mercurial.cmdutil, now lives in mercurial.state and has slightly more sophisticated API.
author Anton Shestakov <av6@dwimlabs.net>
date Thu, 11 Jan 2024 13:21:08 -0300
parents a80ed2e4745b
children
line wrap: on
line source

PYTHON ?= python3
VERSION = $(shell $(PYTHON) setup.py --version)
TESTFLAGS ?= $(shell echo $$HGTESTFLAGS)
HGTESTS = $(HGROOT)/tests

.PHONY: help
help:
	@echo 'Commonly used make targets:'
	@echo '  deb-prepare        - prepare the build of a debian package'
	@echo '  install-home       - install with setup.py install --home=$$HOME ($(HOME))'
	@echo '  tests              - run all tests in the automatic test suite'

.PHONY: all
all: help

.PHONY: deb-prepare
deb-prepare:
	$(PYTHON) setup.py sdist --dist-dir ..
	mv -f ../hg-evolve-$(VERSION).tar.gz ../mercurial-evolve_$(VERSION).orig.tar.gz
	tar xf ../mercurial-evolve_$(VERSION).orig.tar.gz
	rm -rf ../mercurial-evolve_$(VERSION).orig
	mv hg-evolve-$(VERSION) ../mercurial-evolve_$(VERSION).orig
	cp -r debian/ ../mercurial-evolve_$(VERSION).orig/
	@cd ../mercurial-evolve_$(VERSION).orig && echo 'debian build directory ready at' `pwd`

.PHONY: install-home
install-home:
	$(PYTHON) setup.py install --home="$(HOME)" --prefix="" --force --old-and-unmanageable --single-version-externally-managed

.PHONY: doc
doc:
	$(MAKE) -C docs

.PHONY: _check_hgroot
_check_hgroot:
ifeq ($(HGROOT),)
	$(error HGROOT is not set to the root of the hg source tree)
endif

.PHONY: tests
tests: _check_hgroot
	cd tests && $(PYTHON) $(HGTESTS)/run-tests.py $(TESTFLAGS)

test-%: _check_hgroot
	cd tests && $(PYTHON) $(HGTESTS)/run-tests.py $(TESTFLAGS) $@