PREFIX ?= / CLOUDS = $(sort $(notdir $(patsubst %/,%,$(wildcard lib/tiny-cloud/cloud/*/)))) SUBPACKAGES = core openrc $(CLOUDS) .PHONY: check install $(SUBPACKAGES) install: $(SUBPACKAGES) core: install -Dm755 -t "$(PREFIX)"/usr/bin \ bin/imds install -Dm644 -t "$(PREFIX)"/usr/lib/tiny-cloud \ lib/tiny-cloud/common \ lib/tiny-cloud/init \ lib/tiny-cloud/tiny-cloud.conf install -Dm644 -t "$(PREFIX)"/usr/lib/tiny-cloud/user-data \ lib/tiny-cloud/user-data/* install -Dm644 lib/tiny-cloud/tiny-cloud.conf \ "$(PREFIX)"/etc/tiny-cloud.conf install -Dm755 -t "$(PREFIX)"/usr/sbin \ sbin/tiny-cloud openrc: install -Dm755 -t "$(PREFIX)"/etc/init.d \ dist/openrc/* $(CLOUDS): install -Dm644 -t "$(PREFIX)"/usr/lib/tiny-cloud/cloud/$@ \ lib/tiny-cloud/cloud/$@/* [ -f "$(PREFIX)"/usr/lib/tiny-cloud/cloud/$@/autodetect ] && \ chmod 0755 "$(PREFIX)"/usr/lib/tiny-cloud/cloud/$@/autodetect check: tests/Kyuafile Kyuafile kyua --variable parallelism=$(shell nproc) test || (kyua report --verbose && exit 1) tests/Kyuafile: $(wildcard tests/*.test) echo "syntax(2)" > $@.tmp echo "test_suite('tiny-cloud')" >> $@.tmp for i in $(notdir $(wildcard tests/*.test)); do \ echo "atf_test_program{name='$$i',timeout=5}" >> $@.tmp ; \ done mv $@.tmp $@ Kyuafile: echo "syntax(2)" > $@.tmp echo "test_suite('tiny-cloud')" >> $@.tmp echo "include('tests/Kyuafile')" >> $@.tmp mv $@.tmp $@