1
0
mirror of https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud.git synced 2026-06-21 00:07:16 +03:00
tiny-cloud/Makefile
2026-05-09 22:06:44 +00:00

69 lines
1.9 KiB
Makefile

PREFIX ?= /
CLOUDS = $(sort $(notdir $(patsubst %/,%,$(wildcard lib/tiny-cloud/cloud/*/))))
MAN1PAGES = docs/imds.1
MAN5PAGES = docs/tiny-cloud.conf.5 docs/cloud-config.5 docs/alpine-config.5
MAN8PAGES = docs/tiny-cloud.8
SUBPACKAGES = core openrc $(CLOUDS)
.PHONY: check install $(SUBPACKAGES)
install: $(SUBPACKAGES)
core: $(MAN1PAGES) $(MAN5PAGES) $(MAN8PAGES)
install -Dm755 -t "$(PREFIX)"/usr/bin \
bin/imds
install -Dm644 -t "$(PREFIX)"/usr/share/man/man1 \
$(MAN1PAGES)
install -Dm644 -t "$(PREFIX)"/usr/share/man/man5 \
$(MAN5PAGES)
install -Dm644 -t "$(PREFIX)"/usr/share/man/man8 \
$(MAN8PAGES)
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 $@
docs/%.1: docs/%.1.scd
scdoc < $< > $@
docs/%.5: docs/%.5.scd
scdoc < $< > $@
docs/%.8: docs/%.8.scd
scdoc < $< > $@