Even with current '.make.output' finding the root cause for missing
feature is not enough. This patch adds extra information to
.make.output. It also creates a .make.makeoutput to collect output of
'make'.

Signed-off-by: Wang Nan <wangn...@huawei.com>
Cc: Daniel Wagner <daniel.wag...@bmw-carit.de>
Cc: Jiri Olsa <jo...@kernel.org>
---
 tools/build/Makefile.feature | 4 ++--
 tools/build/feature/Makefile | 7 ++++++-
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/tools/build/Makefile.feature b/tools/build/Makefile.feature
index 6c0519d..84927df 100644
--- a/tools/build/Makefile.feature
+++ b/tools/build/Makefile.feature
@@ -1,13 +1,13 @@
 feature_dir := $(srctree)/tools/build/feature
 
 ifneq ($(OUTPUT),)
-  OUTPUT_FEATURES = $(OUTPUT)feature/
+  OUTPUT_FEATURES = $(OUTPUT)feature$(FEATURE_USER)/
   $(shell mkdir -p $(OUTPUT_FEATURES))
 endif
 
 feature_check = $(eval $(feature_check_code))
 define feature_check_code
-  feature-$(1) := $(shell $(MAKE) OUTPUT=$(OUTPUT_FEATURES) 
CFLAGS="$(EXTRA_CFLAGS) $(FEATURE_CHECK_CFLAGS-$(1))" LDFLAGS="$(LDFLAGS) 
$(FEATURE_CHECK_LDFLAGS-$(1))" -C $(feature_dir) $(OUTPUT_FEATURES)test-$1.bin 
>/dev/null 2>/dev/null && echo 1 || echo 0)
+  feature-$(1) := $(shell $(MAKE) OUTPUT=$(OUTPUT_FEATURES) 
CFLAGS="$(EXTRA_CFLAGS) $(FEATURE_CHECK_CFLAGS-$(1))" LDFLAGS="$(LDFLAGS) 
$(FEATURE_CHECK_LDFLAGS-$(1))" -C $(feature_dir) $(OUTPUT_FEATURES)test-$1.bin 
>$(OUTPUT_FEATURES)test-$1.make.makeoutput 2>&1 && echo 1 || echo 0)
 endef
 
 feature_set = $(eval $(feature_set_code))
diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile
index bf8f035..842973a 100644
--- a/tools/build/feature/Makefile
+++ b/tools/build/feature/Makefile
@@ -45,7 +45,12 @@ PKG_CONFIG := $(CROSS_COMPILE)pkg-config
 all: $(FILES)
 
 __BUILD = $(CC) $(CFLAGS) -Wall -Werror -o $@ $(patsubst %.bin,%.c,$(@F)) 
$(LDFLAGS)
-  BUILD = $(__BUILD) > $(@:.bin=.make.output) 2>&1
+  BUILD = echo PWD=$(shell pwd) > $(@:.bin=.make.output); \
+         echo PATH=$$PATH >> $(@:.bin=.make.output); \
+         echo CFLAGS=$$CFLAGS >> $(@:.bin=.make.output); \
+         echo LDFLAGS=$$LDFLAGS >> $(@:.bin=.make.output); \
+         echo '$(__BUILD)' >> $(@:.bin=.make.output) ; \
+         $(__BUILD) >> $(@:.bin=.make.output) 2>&1
 
 ###############################
 
-- 
1.8.3.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to