diff options
-rw-r--r-- | .dockerignore | 1 | ||||
-rw-r--r-- | Makefile | 22 | ||||
-rw-r--r-- | prelude.mk | 23 |
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/** @@ -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 |