Yet another attempt to autodetect an appropriate "echo -e".
This commit is contained in:
parent
27b414da81
commit
3ab571006e
|
@ -73,6 +73,7 @@ TOUCH ?= touch
|
||||||
MKDIR ?= mkdir
|
MKDIR ?= mkdir
|
||||||
CP ?= cp
|
CP ?= cp
|
||||||
ECHO ?= echo
|
ECHO ?= echo
|
||||||
|
PRINTF ?= printf
|
||||||
PERL ?= /usr/bin/perl
|
PERL ?= /usr/bin/perl
|
||||||
CC ?= $(CROSS_COMPILE)gcc
|
CC ?= $(CROSS_COMPILE)gcc
|
||||||
AS ?= $(CROSS_COMPILE)as
|
AS ?= $(CROSS_COMPILE)as
|
||||||
|
|
|
@ -41,27 +41,47 @@ VERYCLEANUP += .toolcheck
|
||||||
|
|
||||||
# Find a usable "echo -e" substitute.
|
# Find a usable "echo -e" substitute.
|
||||||
#
|
#
|
||||||
TAB := $(shell printf "\t")
|
TAB := $(shell $(PRINTF) '\t')
|
||||||
ifeq ($(shell echo '\t'),$(TAB))
|
ECHO_E_ECHO := $(ECHO)
|
||||||
ECHO_E ?= 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
|
endif
|
||||||
ifeq ($(shell echo -e '\t'),$(TAB))
|
ifeq ($(ECHO_E_ECHO_E_TAB),$(TAB))
|
||||||
ECHO_E ?= echo -e
|
ECHO_E ?= $(ECHO_E_ECHO_E)
|
||||||
endif
|
endif
|
||||||
ifeq ($(shell /bin/echo '\t'),$(TAB))
|
ifeq ($(ECHO_E_BIN_ECHO_TAB),$(TAB))
|
||||||
ECHO_E ?= /bin/echo
|
ECHO_E ?= $(ECHO_E_BIN_ECHO)
|
||||||
endif
|
endif
|
||||||
ifeq ($(shell /bin/echo -e '\t'),$(TAB))
|
ifeq ($(ECHO_E_BIN_ECHO_E_TAB),$(TAB))
|
||||||
ECHO_E ?= /bin/echo -e
|
ECHO_E ?= $(ECHO_E_BIN_ECHO_E)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
.echocheck :
|
.echocheck :
|
||||||
ifdef ECHO_E
|
ifdef ECHO_E
|
||||||
$(TOUCH) $@
|
@$(TOUCH) $@
|
||||||
else
|
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
|
@exit 1
|
||||||
endif
|
endif
|
||||||
VERYCLEANUP += .echocheck
|
VERYCLEANUP += .echocheck
|
||||||
|
|
||||||
echo :
|
echo :
|
||||||
@$(ECHO) "Using \"$(ECHO_E)\" for \"echo -e\""
|
@$(ECHO) "Using \"$(ECHO_E)\" for \"echo -e\""
|
||||||
|
|
||||||
|
|
Reference in New Issue