david/ipxe
david
/
ipxe
Archived
1
0
Fork 0

Yet another attempt to autodetect an appropriate "echo -e".

This commit is contained in:
Michael Brown 2007-12-07 14:25:02 -06:00
parent 27b414da81
commit 3ab571006e
2 changed files with 32 additions and 11 deletions

View File

@ -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

View File

@ -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\""