Re: [PATCH 9/9] perf build: Use feature dump file for build-test

Jiri Olsa
2016-01-14T12:44:09Z

On Thu, Jan 14, 2016 at 06:24:00PM +0800, Wangnan (F) wrote:
>
>
> On 2016/1/14 18:19, Jiri Olsa wrote:
> >On Wed, Jan 13, 2016 at 12:17:22PM +0000, Wang Nan wrote:
> >
> >SNIP
> >
> >>+$(FEATURES_DUMP_FILE_STATIC):
> >>+ $(call clean)
> >>+ @cmd="cd $(PERF) && make FEATURE_DUMP_COPY=$@ $(O_OPT) LDFLAGS='-static' feature-dump"; \
> >>+ echo "- $@: $$cmd" && echo $$cmd && \
> >>+ ( eval $$cmd ) 2>&1
> >>+
> >>+$(foreach t,$(run) $(run_O),$(eval \
> >>+ $(t): $(if $(findstring make_static,$(t)),\
> >>+ $(FEATURES_DUMP_FILE_STATIC),\
> >>+ $(FEATURES_DUMP_FILE))))
> >>+
> >>+$(foreach t,$(run),$(if $(findstring make_static,$(t)),\
> >>+ $(eval $(t) := $($(t)) FEATURES_DUMP=$(FEATURES_DUMP_FILE_STATIC)),\
> >>+ $(eval $(t) := $($(t)) FEATURES_DUMP=$(FEATURES_DUMP_FILE))))
> >>+
> >the BUILD_TEST_FEATURE_DUMP rebuild is not silent:
> >
> >[jolsa@krava perf]$ rm BUILD_TEST_FEATURE_DUMP
> >[jolsa@krava perf]$ make -f tests/make
> >Testing Makefile
> >- /home/jolsa/kernel/linux-perf/tools/perf/BUILD_TEST_FEATURE_DUMP: cd . && make FEATURE_DUMP_COPY=/home/jolsa/kernel/linux-perf/tools/perf/BUILD_TEST_FEATURE_DUMP feature-dump
> >cd . && make FEATURE_DUMP_COPY=/home/jolsa/kernel/linux-perf/tools/perf/BUILD_TEST_FEATURE_DUMP feature-dump
> > BUILD: Doing 'make -j4' parallel build
> >
> >Auto-detecting system features:
> >... dwarf: [ on ]
> >... glibc: [ on ]
> >... gtk2: [ on ]
> >... libaudit: [ on ]
> >... libbfd: [ on ]
> >... libelf: [ on ]
> >... libnuma: [ on ]
> >... numa_num_possible_cpus: [ on ]
> >... libperl: [ on ]
> >... libpython: [ on ]
> >... libslang: [ on ]
> >... libunwind: [ on ]
> >... libdw-dwarf-unwind: [ on ]
> >... zlib: [ on ]
> >... lzma: [ on ]
> >... get_cpuid: [ on ]
> >... bpf: [ on ]
> >
> >...
> >
> >
> >also should 'make clean' remove BUILD_TEST_FEATURE_DUMP?
>
> If a simple 'make clean' removes these two feature dump file then
> they are unable to reused by multiple test cases. During build-test
> 'make clean' is called many times.
>
> What about force removing these two files here:
>
> ifeq ($(MAKECMDGOALS),)
> # no target specified, trigger the whole suite
> all:
> @rm -f $(FEATURES_DUMP_FILE) $(FEATURES_DUMP_FILE_STATIC) <---
> *HERE*
> @echo "Testing Makefile"; $(MAKE) -sf tests/make MK=Makefile
> @echo "Testing Makefile.perf"; $(MAKE) -sf tests/make
> MK=Makefile.perf SET_PARALLEL=1 SET_O=1
> else
> # run only specific test over 'Makefile'
> %:
> @rm -f $(FEATURES_DUMP_FILE) $(FEATURES_DUMP_FILE_STATIC) <--- *and
> HERE*
> @echo "Testing Makefile"; $(MAKE) -sf tests/make MK=Makefile $@
> endif

wouldn't they be rebuilt right away?

I think it'd be ok just to remove them right after the test

jirka