view Makefile @ 6645:4443117fdf94 stable

topic: wrap makebundlerepository() to wrap bundlerepository class (issue6856) Previously we just tried to wrap bundlerepo.bundlerepository class globally, but it looks like in some situations it leads to an infinite recursion or similar issues. This patch tries to fix this by moving the class-wrapping logic inside a function that is used for creating bundlerepository.
author Anton Shestakov <av6@dwimlabs.net>
date Fri, 05 Jan 2024 13:35:27 -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) $@