From 2871b670f47b7d04d18abae56ce23ffd38a32249 Mon Sep 17 00:00:00 2001 From: Mitja Felicijan Date: Sun, 12 May 2024 03:25:48 +0200 Subject: Added .assure extension --- makext.mk | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'makext.mk') 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 -- cgit v1.2.3