diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..0a4c1e8 --- /dev/null +++ b/Makefile @@ -0,0 +1,62 @@ +MAKEFLAGS += --no-builtin-rules --no-builtin-variables --warn-undefined-variables +.DEFAULT_GOAL := all +.DELETE_ON_ERROR: +.SUFFIXES: +SHELL := bash +.SHELLFLAGS := -e -o pipefail -c + +escape = $(subst ','\'',$(1)) + +define noexpand +ifeq ($$(origin $(1)),environment) + $(1) := $$(value $(1)) +endif +ifeq ($$(origin $(1)),environment override) + $(1) := $$(value $(1)) +endif +ifeq ($$(origin $(1)),command line) + override $(1) := $$(value $(1)) +endif +endef + +.PHONY: all +all: serve + +PORT ?= 23666 +$(eval $(call noexpand,PORT)) + +URL := http://localhost:$(PORT)/ +STATE := ./void.state + +.PHONY: serve +serve: + ./server.py --port '$(call escape,$(PORT))' --void '$(call escape,$(STATE))' + +.PHONY: clean +clean: + rm -f -- '$(call escape,$(STATE))' + +.PHONY: view +view: + xdg-open '$(call escape,$(URL))' &> /dev/null + +DOCKER_HOST ?= unix:///var/run/docker.sock +$(eval $(call noexpand,DOCKER_HOST)) +export DOCKER_HOST + +.PHONY: docker-build +docker-build: + docker-compose pull + docker-compose build --pull + +.PHONY: docker-serve +docker-serve: docker-build + docker-compose up + +.PHONY: deploy +deploy: docker-build + docker-compose up -d + +.PHONY: undeploy +undeploy: + docker-compose down --rmi all --volumes |