summaryrefslogtreecommitdiffstats
path: root/src/Makefile.housekeeping
diff options
context:
space:
mode:
Diffstat (limited to 'src/Makefile.housekeeping')
-rw-r--r--src/Makefile.housekeeping42
1 files changed, 31 insertions, 11 deletions
diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping
index 7ffa24ba..3694402b 100644
--- a/src/Makefile.housekeeping
+++ b/src/Makefile.housekeeping
@@ -41,27 +41,47 @@ VERYCLEANUP += .toolcheck
# Find a usable "echo -e" substitute.
#
-TAB := $(shell printf "\t")
-ifeq ($(shell echo '\t'),$(TAB))
-ECHO_E ?= echo
+TAB := $(shell $(PRINTF) '\t')
+ECHO_E_ECHO := $(ECHO)
+ECHO_E_ECHO_E := $(ECHO) -e
+ECHO_E_BIN_ECHO := /bin/echo
+ECHO_E_BIN_ECHO_E := /bin/echo -e
+ECHO_E_ECHO_TAB := $(shell $(ECHO_E_ECHO) '\t' | cat)
+ECHO_E_ECHO_E_TAB := $(shell $(ECHO_E_ECHO_E) '\t' | cat)
+ECHO_E_BIN_ECHO_TAB := $(shell $(ECHO_E_BIN_ECHO) '\t')
+ECHO_E_BIN_ECHO_E_TAB := $(shell $(ECHO_E_BIN_ECHO_E) '\t')
+
+ifeq ($(ECHO_E_ECHO_TAB),$(TAB))
+ECHO_E ?= $(ECHO_E_ECHO)
endif
-ifeq ($(shell echo -e '\t'),$(TAB))
-ECHO_E ?= echo -e
+ifeq ($(ECHO_E_ECHO_E_TAB),$(TAB))
+ECHO_E ?= $(ECHO_E_ECHO_E)
endif
-ifeq ($(shell /bin/echo '\t'),$(TAB))
-ECHO_E ?= /bin/echo
+ifeq ($(ECHO_E_BIN_ECHO_TAB),$(TAB))
+ECHO_E ?= $(ECHO_E_BIN_ECHO)
endif
-ifeq ($(shell /bin/echo -e '\t'),$(TAB))
-ECHO_E ?= /bin/echo -e
+ifeq ($(ECHO_E_BIN_ECHO_E_TAB),$(TAB))
+ECHO_E ?= $(ECHO_E_BIN_ECHO_E)
endif
+
.echocheck :
ifdef ECHO_E
- $(TOUCH) $@
+ @$(TOUCH) $@
else
- @echo "No usable \"echo -e\" substitute found"
+ @$(PRINTF) '%24s : x%sx\n' 'tab' '$(TAB)'
+ @$(PRINTF) '%24s : x%sx\n' '"$(ECHO_E_ECHO) \t"' \
+ '$(ECHO_E_ECHO_TAB)'
+ @$(PRINTF) '%24s : x%sx\n' '"$(ECHO_E_ECHO_E) \t"' \
+ '$(ECHO_E_ECHO_E_TAB)'
+ @$(PRINTF) '%24s : x%sx\n' '"$(ECHO_E_BIN_ECHO) \t"' \
+ '$(ECHO_E_BIN_ECHO_TAB)'
+ @$(PRINTF) '%24s : x%sx\n' '"$(ECHO_E_BIN_ECHO_E) \t"' \
+ '$(ECHO_E_BIN_ECHO_E_TAB)'
+ @$(ECHO) "No usable \"echo -e\" substitute found"
@exit 1
endif
VERYCLEANUP += .echocheck
+
echo :
@$(ECHO) "Using \"$(ECHO_E)\" for \"echo -e\""