dumb-init/Makefile

81 lines
2 KiB
Makefile
Raw Normal View History

2015-08-26 19:05:54 +03:00
CFLAGS=-std=gnu99 -static -Wall -Werror
TEST_PACKAGE_DEPS := python procps psmisc libpcre3
2015-08-08 03:17:12 +03:00
DOCKER_RUN_TEST := docker run -v $(PWD):/mnt:ro
2015-08-12 00:31:08 +03:00
DOCKER_DEB_TEST := sh -euxc ' \
apt-get update \
&& apt-get install -y --no-install-recommends $(TEST_PACKAGE_DEPS) \
2015-08-12 22:03:04 +03:00
&& (which timeout || apt-get install -y --no-install-recommends timeout) \
2015-08-12 00:31:08 +03:00
&& dpkg -i /mnt/dist/*.deb \
&& cd /mnt \
&& ./test \
'
DOCKER_PYTHON_TEST := sh -uexc ' \
apt-get update \
&& apt-get install -y --no-install-recommends python-pip build-essential $(TEST_PACKAGE_DEPS) \
2015-08-12 22:03:04 +03:00
&& (which timeout || apt-get install -y --no-install-recommends timeout) \
&& tmp=$$(mktemp -d) \
&& cp -r /mnt/* "$$tmp" \
&& cd "$$tmp" \
&& python setup.py clean \
&& python setup.py sdist \
&& pip install -vv dist/*.tar.gz \
2015-08-12 00:31:08 +03:00
&& ./test \
'
2015-08-05 20:56:55 +03:00
.PHONY: build
2015-07-30 02:03:55 +03:00
build:
2015-08-26 19:05:54 +03:00
$(CC) $(CFLAGS) -o dumb-init dumb-init.c
2015-07-30 02:03:55 +03:00
2015-08-05 20:56:55 +03:00
.PHONY: clean
2015-08-08 03:17:12 +03:00
clean: clean-tox
2015-08-05 20:56:55 +03:00
rm -rf dumb-init dist/ *.deb
2015-08-05 03:15:08 +03:00
2015-08-08 03:17:12 +03:00
.PHONY: clean-tox
clean-tox:
rm -rf .tox
2015-08-05 20:56:55 +03:00
.PHONY: builddeb
2015-08-05 03:15:08 +03:00
builddeb:
debuild -us -uc -b
2015-08-05 20:56:55 +03:00
rm -rf dist && mkdir dist
mv ../dumb-init_*.deb dist/
2015-08-05 03:15:08 +03:00
2015-08-05 20:56:55 +03:00
.PHONY: builddeb-docker
2015-08-05 03:15:08 +03:00
builddeb-docker: docker-image
docker run -v $(PWD):/mnt dumb-init-build
2015-08-05 20:56:55 +03:00
.PHONY: docker-image
2015-08-05 03:15:08 +03:00
docker-image:
docker build -t dumb-init-build .
2015-08-08 01:40:26 +03:00
.PHONY: test
test:
tox
.PHONY: install-hooks
install-hooks:
tox -e pre-commit -- install -f --install-hooks
2015-08-05 20:56:55 +03:00
.PHONY: itest itest_lucid itest_precise itest_trusty itest_wheezy itest_jessie itest_stretch
itest: itest_lucid itest_precise itest_trusty itest_wheezy itest_jessie itest_stretch
2015-08-11 23:46:03 +03:00
itest_lucid: _itest-ubuntu-lucid
2015-08-08 03:17:12 +03:00
itest_precise: _itest-ubuntu-precise
itest_trusty: _itest-ubuntu-trusty
itest_wheezy: _itest-debian-wheezy
itest_jessie: _itest-debian-jessie
itest_stretch: _itest-debian-stretch
2015-08-05 20:56:55 +03:00
2015-08-08 03:17:12 +03:00
_itest-%: _itest_deb-% _itest_python-%
@true
2015-08-05 03:15:08 +03:00
2015-08-08 03:17:12 +03:00
_itest_python-%:
2015-08-12 22:03:04 +03:00
$(eval DOCKER_IMG := $(shell echo $@ | cut -d- -f2- | sed 's/-/:/'))
2015-08-08 03:17:12 +03:00
$(DOCKER_RUN_TEST) $(DOCKER_IMG) $(DOCKER_PYTHON_TEST)
2015-08-05 03:15:08 +03:00
2015-08-12 22:03:04 +03:00
_itest_deb-%: builddeb-docker
$(eval DOCKER_IMG := $(shell echo $@ | cut -d- -f2- | sed 's/-/:/'))
2015-08-08 03:17:12 +03:00
$(DOCKER_RUN_TEST) $(DOCKER_IMG) $(DOCKER_DEB_TEST)