Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Yet another attempt to autodetect an appropriate "echo -e".
  • Loading branch information
Michael Brown committed Dec 7, 2007
1 parent 27b414d commit 3ab5710
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 11 deletions.
1 change: 1 addition & 0 deletions src/Makefile
Expand Up @@ -73,6 +73,7 @@ TOUCH ?= touch
MKDIR ?= mkdir
CP ?= cp
ECHO ?= echo
PRINTF ?= printf
PERL ?= /usr/bin/perl
CC ?= $(CROSS_COMPILE)gcc
AS ?= $(CROSS_COMPILE)as
Expand Down
42 changes: 31 additions & 11 deletions src/Makefile.housekeeping
Expand Up @@ -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\""

Expand Down

0 comments on commit 3ab5710

Please sign in to comment.