summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--Makefile24
-rw-r--r--prelude.mk23
2 files changed, 47 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..eae0b27
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,24 @@
+include prelude.mk
+
+PKG_NAME ?= linux-status
+DESTDIR ?=
+
+$(eval $(call noexpand,PKG_NAME))
+$(eval $(call noexpand,DESTDIR))
+
+.PHONY: all
+all:
+
+.PHONY: install
+install:
+ install -D -m 0644 -t '$(call escape,$(DESTDIR))/usr/share/$(call escape,$(PKG_NAME))' LICENSE.txt
+
+ install -D -m 0644 -t '$(call escape,$(DESTDIR))/usr/share/doc/$(call escape,$(PKG_NAME))' README.md
+ install -D -m 0644 -t '$(call escape,$(DESTDIR))/usr/share/doc/$(call escape,$(PKG_NAME))/doc' doc/example.png
+
+ install -D -m 0755 -t '$(call escape,$(DESTDIR))/srv/$(call escape,$(PKG_NAME))' src/app.py
+ install -D -m 0755 -t '$(call escape,$(DESTDIR))/srv/$(call escape,$(PKG_NAME))' src/server.py
+
+ cp -dr --preserve=mode,timestamp -- html '$(call escape,$(DESTDIR))/srv/$(call escape,$(PKG_NAME))'
+
+ install -D -m 0644 -t '$(call escape,$(DESTDIR))/usr/lib/systemd/system' 'dist/systemd/$(call escape,$(PKG_NAME)).service'
diff --git a/prelude.mk b/prelude.mk
new file mode 100644
index 0000000..da836d7
--- /dev/null
+++ b/prelude.mk
@@ -0,0 +1,23 @@
+# Please see https://tensin.name/blog/notes/makefile.html
+
+MAKEFLAGS += --no-builtin-rules --no-builtin-variables --warn-undefined-variables
+unexport MAKEFLAGS
+.DEFAULT_GOAL := all
+.DELETE_ON_ERROR:
+.SUFFIXES:
+SHELL := bash
+.SHELLFLAGS := -eu -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