[CRIU] [PATCH 3/3] build: Generate criu version from toplevel
Pavel Emelyanov
xemul at virtuozzo.com
Thu Apr 14 04:41:50 PDT 2016
On 04/14/2016 02:01 PM, Cyrill Gorcunov wrote:
Why?
> Signed-off-by: Cyrill Gorcunov <gorcunov at openvz.org>
> ---
> Makefile | 48 +++++++++++++++++++++++++++++++++++++++++-------
> criu/Makefile | 4 ----
> criu/Makefile.version | 38 --------------------------------------
> 3 files changed, 41 insertions(+), 49 deletions(-)
> delete mode 100644 criu/Makefile.version
>
> diff --git a/Makefile b/Makefile
> index 441c9b78b14f..ddb678ca4441 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -7,11 +7,6 @@ include $(__nmk_dir)/include.mk
> include $(__nmk_dir)/macro.mk
>
> #
> -# Import tools versions early
> -# so subsequents may refer them.
> -include Makefile.versions
> -
> -#
> # To build host helpers.
> HOSTCC ?= gcc
> HOSTLD ?= ld
> @@ -135,6 +130,44 @@ endif
> CFLAGS += $(WARNINGS) $(DEFINES)
>
> #
> +# Version headers.
> +include Makefile.versions
> +
> +VERSION_HEADER := $(SRC_DIR)/criu/include/version.h
> +GITID_FILE := .gitid
> +GITID := $(shell if [ -d ".git" ]; then git describe; fi)
> +
> +ifeq ($(GITID),)
> + GITID := 0
> +else
> + GITID_FILE_VALUE := $(shell if [ -f '$(GITID_FILE)' ]; then if [ `cat '$(GITID_FILE)'` = $(GITID) ]; then echo y; fi; fi)
> + ifneq ($(GITID_FILE_VALUE),y)
> + .PHONY: $(GITID_FILE)
> + endif
> +endif
> +
> +$(GITID_FILE):
> + $(call msg-gen, $@)
> + $(Q) echo "$(GITID)" > $(GITID_FILE)
> +
> +$(VERSION_HEADER): Makefile.versions $(GITID_FILE)
> + $(call msg-gen, $@)
> + $(Q) echo "/* Autogenerated, do not edit */" > $@
> + $(Q) echo "#ifndef __CR_VERSION_H__" >> $@
> + $(Q) echo "#define __CR_VERSION_H__" >> $@
> + $(Q) echo "#define CRIU_VERSION \"$(CRIU_VERSION)\"" >> $@
> + $(Q) echo "#define CRIU_VERSION_MAJOR " $(CRIU_VERSION_MAJOR) >> $@
> + $(Q) echo "#define CRIU_VERSION_MINOR " $(CRIU_VERSION_MINOR) >> $@
> +ifneq ($(CRIU_VERSION_SUBLEVEL),)
> + $(Q) echo "#define CRIU_VERSION_SUBLEVEL " $(CRIU_VERSION_SUBLEVEL) >> $@
> +endif
> +ifneq ($(CRIU_VERSION_EXTRA),)
> + $(Q) echo "#define CRIU_VERSION_EXTRA " $(CRIU_VERSION_EXTRA) >> $@
> +endif
> + $(Q) echo "#define CRIU_GITID \"$(GITID)\"" >> $@
> + $(Q) echo "#endif /* __CR_VERSION_H__ */" >> $@
> +
> +#
> # Protobuf images first, they are not depending
> # on anything else.
> $(eval $(call gen-built-in,images))
> @@ -151,9 +184,9 @@ compel/%:
> #
> # But note that we're already included
> # the nmk so we can reuse it there.
> -criu/%: images/built-in.o compel/compel
> +criu/%: images/built-in.o compel/compel $(VERSION_HEADER)
> $(Q) $(MAKE) -C criu $@
> -criu: images/built-in.o compel/compel
> +criu: images/built-in.o compel/compel $(VERSION_HEADER)
> $(Q) $(MAKE) -C criu all
> .PHONY: criu
>
> @@ -188,6 +221,7 @@ mrproper: subclean
> $(Q) $(MAKE) $(build)=images $@
> $(Q) $(MAKE) $(build)=compel $@
> $(Q) $(MAKE) -C criu $@
> + $(Q) $(RM) $(VERSION_HEADER)
> $(Q) $(RM) cscope.*
> $(Q) $(RM) tags TAGS
> .PHONY: mrproper
> diff --git a/criu/Makefile b/criu/Makefile
> index 775a6a7a4dae..4f484b8eefe1 100644
> --- a/criu/Makefile
> +++ b/criu/Makefile
> @@ -80,10 +80,6 @@ endif
> include $(__nmk_dir)/msg.mk
>
> #
> -# Version header file.
> -include Makefile.version
> -
> -#
> # Configure variables.
> include Makefile.config
> config: $(VERSION_HEADER)
> diff --git a/criu/Makefile.version b/criu/Makefile.version
> deleted file mode 100644
> index 123487b5c4f1..000000000000
> --- a/criu/Makefile.version
> +++ /dev/null
> @@ -1,38 +0,0 @@
> -include $(__nmk_dir)msg.mk
> -
> -VERSION_HEADER := include/version.h
> -GITID_FILE := ../.gitid
> -GITID := $(shell if [ -d "../.git" ]; then cd .. && git describe; fi)
> -
> -ifeq ($(GITID),)
> - GITID := 0
> -else
> - GITID_FILE_VALUE := $(shell if [ -f '$(GITID_FILE)' ]; then if [ `cat '$(GITID_FILE)'` = $(GITID) ]; then echo y; fi; fi)
> - ifneq ($(GITID_FILE_VALUE),y)
> - .PHONY: $(GITID_FILE)
> - endif
> -endif
> -
> -$(GITID_FILE):
> - $(call msg-gen, $@)
> - $(Q) echo "$(GITID)" > $(GITID_FILE)
> -
> -$(VERSION_HEADER): ../Makefile.versions $(GITID_FILE)
> - $(call msg-gen, $@)
> - $(Q) echo "/* Autogenerated, do not edit */" > $(VERSION_HEADER)
> - $(Q) echo "#ifndef __CR_VERSION_H__" >> $(VERSION_HEADER)
> - $(Q) echo "#define __CR_VERSION_H__" >> $(VERSION_HEADER)
> - $(Q) echo "#define CRIU_VERSION \"$(CRIU_VERSION)\"" >> $(VERSION_HEADER)
> - $(Q) echo "#define CRIU_VERSION_MAJOR " $(CRIU_VERSION_MAJOR) >> $(VERSION_HEADER)
> - $(Q) echo "#define CRIU_VERSION_MINOR " $(CRIU_VERSION_MINOR) >> $(VERSION_HEADER)
> -ifneq ($(CRIU_VERSION_SUBLEVEL),)
> - $(Q) echo "#define CRIU_VERSION_SUBLEVEL " $(CRIU_VERSION_SUBLEVEL) >> $(VERSION_HEADER)
> -endif
> -ifneq ($(CRIU_VERSION_EXTRA),)
> - $(Q) echo "#define CRIU_VERSION_EXTRA " $(CRIU_VERSION_EXTRA) >> $(VERSION_HEADER)
> -endif
> - $(Q) echo "#define CRIU_GITID \"$(GITID)\"" >> $(VERSION_HEADER)
> - $(Q) echo "#endif /* __CR_VERSION_H__ */" >> $(VERSION_HEADER)
> -
> -Makefile.version:
> - @true
>
More information about the CRIU
mailing list