Re: [PATCH] perf tools: Speed up git-version test on re-make

From: Namhyung Kim
Date: Wed Oct 02 2013 - 02:47:46 EST


On Tue, 1 Oct 2013 16:46:18 +0200, Ingo Molnar wrote:

[SNIP]
>
> -$(OUTPUT)PERF-VERSION-FILE: .FORCE-PERF-VERSION-FILE
> +$(OUTPUT)PERF-VERSION-FILE: ../../.git/HEAD
> @$(SHELL_PATH) util/PERF-VERSION-GEN $(OUTPUT)
> + @touch $(OUTPUT)PERF-VERSION-FILE
>
> CC = $(CROSS_COMPILE)gcc
> AR = $(CROSS_COMPILE)ar
> @@ -813,7 +814,17 @@ clean: $(LIBTRACEEVENT)-clean $(LIBLK)-c
> $(RM) $(OUTPUT)util/*-flex*
> $(python-clean)
>
> +#
> +# Trick: if ../../.git does not exist - we are building out of tree for example,
> +# then force version regeneration:
> +#
> +ifeq ($(wildcard ../../.git/HEAD),)
> + GIT-HEAD-PHONY = ../../.git/HEAD
> +else
> + GIT-HEAD-PHONY =
> +endif
> +
> .PHONY: all install clean strip $(LIBTRACEEVENT) $(LIBLK)
> .PHONY: shell_compatibility_test please_set_SHELL_PATH_to_a_more_modern_shell
> -.PHONY: .FORCE-PERF-VERSION-FILE TAGS tags cscope .FORCE-PERF-CFLAGS
> +.PHONY: $(GIT-HEAD-PHONY) TAGS tags cscope .FORCE-PERF-CFLAGS
>

I found an unrelated bug. When I tried to build perf out of tree after
'make perf-targz-src-pkg' it cannot get any version number.

GEN common-cmds.h
* new build flags or prefix
make[1]: *** No rule to make target `kernelversion'. Stop.
PERF_VERSION =
...
AR libperf.a
LINK perf

$ ./perf --version
perf version


It looks like we should save and pass the result of 'make kernelversion'
to the tarball.

Thanks,
Namhyung
--
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/