@@ -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))
@@ -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
###############################
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 <wangnan0@huawei.com> Cc: Daniel Wagner <daniel.wagner@bmw-carit.de> Cc: Jiri Olsa <jolsa@kernel.org> --- tools/build/Makefile.feature | 4 ++-- tools/build/feature/Makefile | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) -- 1.8.3.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/