umorpha-boxes/Makefile

51 lines
1.5 KiB
Makefile

# Copyright (C) 2023 Umorpha Systems
# SPDX-License-Identifier: AGPL-3.0-or-later
export osi_tools = $(CURDIR)/../notsystemd-tests
PATH := $(osi_tools):$(PATH)
all: $(patsubst %.sh,%.rootfs.img,$(wildcard images/*.sh))
.PHONY: all
.SECONDARY:
.DELETE_ON_ERROR:
################################################################################
deps.mk: images $(wildcard images/*.sh)
grep -H -o -e '--module=\S*' images/*.sh | sed -E 's,images/([^:]*).sh:--module=(.*),images/\1.rootfs.img: \2,' >$@
-include deps.mk
images/%.rootfs.img: images/%.sh
rm -f $@
$< $@
chmod 444 $@
images/%.gpt.img: images/%.rootfs.img bin/umorpha-install
rm -f $@
truncate --size=3G $@
sudo bin/umorpha-install $@ images/$*.rootfs.img
run/%: images/%.gpt.img
qemu-system-x86_64 \
-accel kvm \
-m 2G \
-drive if=pflash,format=raw,readonly=on,file=/usr/share/ovmf/x64/OVMF.fd \
-drive file=images/$*.gpt.img,format=raw \
-net user,hostfwd=tcp::8022-:22,hostfwd=tcp::8080-:80 -net nic
.PHONY: run/%
deploy/%: images/%.rootfs.img vultr/%.sh
vultr/$*.sh
.PHONY: deploy/%
################################################################################
modules/service-gitea.sh: modules/service-gitea.sh.in
modules/service-gitea.sh: secrets/gitea-infomaniak-clientid.txt
modules/service-gitea.sh: secrets/gitea-infomaniak-clientsecret.txt
sed \
-e "s,@CLIENT_ID@,$$(cat secrets/gitea-infomaniak-clientid.txt),g" \
-e "s,@CLIENT_SECRET@,$$(cat secrets/gitea-infomaniak-clientsecret.txt),g" \
<modules/service-gitea.sh.in >$@