Makefile 2.5 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12
PYTHON=`which python`
DESTDIR=/
BUILDIR=$(CURDIR)/debian/avocado
PROJECT=avocado
VERSION=`$(CURDIR)/avocado/version.py`

all:
	@echo "make source - Create source package"
	@echo "make install - Install on local system"
	@echo "make build-deb-src - Generate a source debian package"
	@echo "make build-deb-bin - Generate a binary debian package"
	@echo "make build-deb-all - Generate both source and binary debian packages"
13
	@echo "make build-rpm-all - Generate both source and binary RPMs"
14
	@echo "make man - Generate the avocado man page"
15
	@echo "make check - Runs tree static check, unittests and functional tests"
16 17 18
	@echo "make clean - Get rid of scratch and byte files"

source:
19
	$(PYTHON) setup.py sdist $(COMPILE) --dist-dir=SOURCES --prune
20 21 22 23 24 25 26

install:
	$(PYTHON) setup.py install --root $(DESTDIR) $(COMPILE)

prepare-source:
	# build the source package in the parent directory
	# then rename it to project_version.orig.tar.gz
27
	dch -D "trusty" -M -v "$(VERSION)" "Automated (make builddeb) build."
28 29 30 31 32
	$(PYTHON) setup.py sdist $(COMPILE) --dist-dir=../ --prune
	rename -f 's/$(PROJECT)-(.*)\.tar\.gz/$(PROJECT)_$$1\.orig\.tar\.gz/' ../*

build-deb-src: prepare-source
	# build the source package
33
	dpkg-buildpackage -S -elookkas@gmail.com -rfakeroot
34 35 36 37 38 39 40 41 42

build-deb-bin: prepare-source
	# build binary package
	dpkg-buildpackage -b -rfakeroot

build-deb-all: prepare-source
	# build both source and binary packages
	dpkg-buildpackage -i -I -rfakeroot

43 44 45 46
build-rpm-all: source
	rpmbuild --define '_topdir %{getenv:PWD}' \
		 -ba avocado.spec

47 48
clean:
	$(PYTHON) setup.py clean
49
	$(MAKE) -f $(CURDIR)/debian/rules clean || true
50
	rm -rf build/ MANIFEST BUILD BUILDROOT SPECS RPMS SRPMS SOURCES
51
	find . -name '*.pyc' -delete
52
	rm -f man/avocado.1
53
	rm -f man/avocado-rest-client.1
54
	rm -rf docs/build
C
Cleber Rosa 已提交
55 56 57
	test -L avocado/virt && rm -f avocado/virt || true
	test -L avocado/plugins/virt.py && rm -f avocado/plugins/virt.py || true
	test -L avocado/plugins/virt_bootstrap.py && rm -f avocado/plugins/virt_bootstrap.py || true
58 59 60

check:
	selftests/checkall
61

C
Cleber Rosa 已提交
62 63 64 65 66
link:
	test -d ../avocado-virt/avocado/virt && ln -s ../../avocado-virt/avocado/virt avocado || true
	test -f ../avocado-virt/avocado/plugins/virt.py && ln -s ../../../avocado-virt/avocado/plugins/virt.py avocado/plugins/ || true
	test -f ../avocado-virt/avocado/plugins/virt_bootstrap.py && ln -s ../../../avocado-virt/avocado/plugins/virt_bootstrap.py avocado/plugins/ || true

67 68
man:
	rst2man man/avocado.rst man/avocado.1
69
	rst2man man/avocado-rest-client.rst man/avocado-rest-client.1
70

C
Cleber Rosa 已提交
71
.PHONY: source install clean check link man