summaryrefslogtreecommitdiff
path: root/makext.mk
diff options
context:
space:
mode:
Diffstat (limited to 'makext.mk')
-rw-r--r--makext.mk20
1 files changed, 20 insertions, 0 deletions
diff --git a/makext.mk b/makext.mk
index 06953c5..b4846c0 100644
--- a/makext.mk
+++ b/makext.mk
@@ -15,6 +15,11 @@
# `makext` was written by Mitja Felicijan and is released under the BSD
# two-clause license, see the LICENSE file for more information.
+# Checks if operating system is Windows and exists with error.
+ifeq ($(OS),Windows_NT)
+$(error makext does not support Windows operating system)
+endif
+
# Help extension that lists all the targets with descriptions
# and adds description and license information if data provided.
.PHONY: .help
@@ -27,3 +32,18 @@ endif
ifdef MK_LICENSE
@echo "\n$(MK_LICENSE)" | fmt
endif
+
+# Checks `MK_ASSURE` variable if all the programs declared actually
+# exist on a machine. If not this exists make with error.
+.PHONY: .assure
+.assure:
+ifndef MK_ASSURE
+ @echo "Variable MK_ASSURE is not defined. Can not check for programs."
+else
+ @for prog in $(shell echo $(MK_ASSURE)); do \
+ if ! which $$prog > /dev/null; then \
+ echo "Error: '$$prog' not found on this machine."; \
+ exit 1; \
+ fi; \
+ done
+endif