Re: [PATCH 1/3] tools build: Introduce features dump include makefile

From: Arnaldo Carvalho de Melo
Date: Thu Nov 26 2015 - 11:23:37 EST


Em Thu, Nov 26, 2015 at 02:54:02PM +0100, Jiri Olsa escreveu:
> Creating the FEATURE-INCLUDE file, that contains all features
> status dumped in make's variable format:
> ...
> feature-backtrace=1
> feature-dwarf=1
> ...
>
> It's purpose is to be included in sub-project makefiles to get
> features detection state. This way we can run the detection only
> in top level project and propagate it down.

See, you can do it, nice explanation! :-)

- Arnaldo

> Cc: Wang Nan <wangnan0@xxxxxxxxxx>
> Link: http://lkml.kernel.org/n/tip-fcq5rtdhcu4300sjp2p8l936@xxxxxxxxxxxxxx
> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> ---
> tools/build/Makefile.feature | 12 ++++++++++++
> tools/perf/.gitignore | 1 +
> tools/perf/Makefile.perf | 2 +-
> 3 files changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/tools/build/Makefile.feature b/tools/build/Makefile.feature
> index 37ff4c9f92f1..51f8d5928f98 100644
> --- a/tools/build/Makefile.feature
> +++ b/tools/build/Makefile.feature
> @@ -131,6 +131,16 @@ ifeq ($(dwarf-post-unwind),1)
> FEATURE_DUMP += dwarf-post-unwind($(dwarf-post-unwind-text))
> endif
>
> +# The FEATURE-INCLUDE file contains all features status
> +# dumped in make's variable format:
> +# ...
> +# feature-backtrace=1
> +# feature-dwarf=1
> +# ...
> +# It's to be included in sub-project makefiles to get
> +# features detection state.
> +FEATURE_INCLUDE_FILENAME = $(OUTPUT)FEATURE-INCLUDE$(FEATURE_USER)
> +
> # The $(feature_display) controls the default detection message
> # output. It's set if:
> # - detected features differes from stored features from
> @@ -140,6 +150,8 @@ endif
>
> ifneq ("$(FEATURE_DUMP)","$(FEATURE_DUMP_FILE)")
> $(shell echo "$(FEATURE_DUMP)" > $(FEATURE_DUMP_FILENAME))
> + $(shell rm -f $(FEATURE_INCLUDE_FILENAME))
> + $(foreach feat,$(FEATURE_TESTS),$(shell echo "feature-$(feat)=$(feature-$(feat))" >> $(FEATURE_INCLUDE_FILENAME)))
> feature_display := 1
> endif
>
> diff --git a/tools/perf/.gitignore b/tools/perf/.gitignore
> index 3d1bb802dbf4..4a3eb8dedc54 100644
> --- a/tools/perf/.gitignore
> +++ b/tools/perf/.gitignore
> @@ -2,6 +2,7 @@ PERF-CFLAGS
> PERF-GUI-VARS
> PERF-VERSION-FILE
> FEATURE-DUMP
> +FEATURE-INCLUDE
> perf
> perf-read-vdso32
> perf-read-vdsox32
> diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
> index 0d19d5447d6c..97badfa2a195 100644
> --- a/tools/perf/Makefile.perf
> +++ b/tools/perf/Makefile.perf
> @@ -589,7 +589,7 @@ clean: $(LIBTRACEEVENT)-clean $(LIBAPI)-clean $(LIBBPF)-clean config-clean
> $(Q)find . -name '*.o' -delete -o -name '\.*.cmd' -delete -o -name '\.*.d' -delete
> $(Q)$(RM) $(OUTPUT).config-detected
> $(call QUIET_CLEAN, core-progs) $(RM) $(ALL_PROGRAMS) perf perf-read-vdso32 perf-read-vdsox32
> - $(call QUIET_CLEAN, core-gen) $(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope* $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)FEATURE-DUMP $(OUTPUT)util/*-bison* $(OUTPUT)util/*-flex* \
> + $(call QUIET_CLEAN, core-gen) $(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope* $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)FEATURE-DUMP $(OUTPUT)FEATURE-INCLUDE $(OUTPUT)util/*-bison* $(OUTPUT)util/*-flex* \
> $(OUTPUT)util/intel-pt-decoder/inat-tables.c
> $(QUIET_SUBDIR0)Documentation $(QUIET_SUBDIR1) clean
> $(python-clean)
> --
> 2.4.3
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/