aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--.dockerignore1
-rw-r--r--Makefile22
-rw-r--r--prelude.mk23
3 files changed, 25 insertions, 21 deletions
diff --git a/.dockerignore b/.dockerignore
index 3c0c9fc..67cae72 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -4,5 +4,6 @@
!/CMakeLists.txt
!/LICENSE.txt
!/Makefile
+!/prelude.mk
!/src/**
!/test/**
diff --git a/Makefile b/Makefile
index 4ab6c72..e5fdbc9 100644
--- a/Makefile
+++ b/Makefile
@@ -1,24 +1,4 @@
-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
+include prelude.mk
src_dir := $(abspath .)
build_dir := $(src_dir)/build
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