ppl-os/Makefile

36 lines
1.6 KiB
Makefile
Raw Normal View History

2018-10-21 11:59:08 +00:00
CHANNEL=$(shell bash conf-tool.sh read CHANNEL)
ENV=$(shell bash conf-tool.sh read ENV)
DEVICE_IP=$(shell bash conf-tool.sh read DEVICE_IP)
DEVICE_USERNAME=$(shell bash conf-tool.sh read DEVICE_USERNAME)
DEVICE_PORT=$(shell bash conf-tool.sh read DEVICE_PORT)
USER_KEY=$(shell bash conf-tool.sh read USER_KEY)
USER_EMAIL=$(shell bash conf-tool.sh read USER_EMAIL)
2018-10-21 12:13:16 +00:00
all: .config
.config:
bash conf-tool.sh
echo "Please re-run the command"
exit 2
2018-08-10 14:02:05 +00:00
clean:
2018-08-10 15:39:10 +00:00
rm -rf *.img *.model *.manifest snaps
2018-08-10 14:02:05 +00:00
2018-08-10 14:17:10 +00:00
%.model: boards/%.yaml # sign a model file
2018-10-21 12:13:16 +00:00
cat definition.yaml $< | python -c "import sys, yaml, json; json.dump(yaml.load(sys.stdin), sys.stdout, indent=2)" | sed "s|TIMESTAMP|$(shell date -Iseconds --utc)|g" | snap sign -k "$(USER_KEY)" > $@
2018-08-10 18:24:28 +00:00
snaps/%: deps/%.yaml
2018-08-10 15:30:16 +00:00
node build-tool.js --env $(ENV) --channel $(CHANNEL) --board $*
2018-10-21 13:22:59 +00:00
.cloud-init.yaml: $(ENV).cloud-init.yaml
cat $(ENV).cloud-init.yaml | USER_EMAIL=$(USER_EMAIL) envsubst > .cloud-init.yaml
%.img: %.model snaps/% .cloud-init.yaml # build an image
2018-08-10 15:39:10 +00:00
sudo ubuntu-image snap -o $@ --cloud-init $(ENV).cloud-init.yaml -c $(CHANNEL) $<
2018-08-10 14:02:05 +00:00
# VM stuff
vm.img: amd64.img # make a copy of the newest clean image
cp amd64.img vm.img
start: vm.img # launch the image with kvm
kvm -smp 2 -m 1500 -netdev user,id=mynet0,hostfwd=tcp::8022-:22,hostfwd=tcp::8090-:80 -device virtio-net-pci,netdev=mynet0 -drive file=vm.img,format=raw
ssh: # ssh into it (don't check the key because that one changes after every rebuild)
2018-10-21 11:59:08 +00:00
ssh $(DEVICE_USERNAME)@$(DEVICE_IP) -p $(DEVICE_PORT) -o StrictHostKeyChecking=no -o GlobalKnownHostsFile=/dev/null -o UserKnownHostsFile=/dev/null