aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/prelude.mk
diff options
context:
space:
mode:
authorEgor Tensin <Egor.Tensin@gmail.com>2023-06-30 12:15:41 +0200
committerEgor Tensin <Egor.Tensin@gmail.com>2023-06-30 12:15:41 +0200
commit6f01c822ba42a2e3c2a716fa32ab073f9da42141 (patch)
treeeb3157de05857f5399b930004607eed76c49bd4c /prelude.mk
parentMakefile: wrap long commands (diff)
downloadwinapi-utf8-6f01c822ba42a2e3c2a716fa32ab073f9da42141.tar.gz
winapi-utf8-6f01c822ba42a2e3c2a716fa32ab073f9da42141.zip
Makefile: move the prelude to prelude.mk
Diffstat (limited to 'prelude.mk')
-rw-r--r--prelude.mk23
1 files changed, 23 insertions, 0 deletions
diff --git a/prelude.mk b/prelude.mk
new file mode 100644
index 0000000..374111e
--- /dev/null
+++ b/prelude.mk
@@ -0,0 +1,23 @@
+# Please see https://egort.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