Peter Maydell <peter.mayd...@linaro.org> writes:
> Abstract out the "identify the pkgversion" code from the > rule for creating qemu-version.h, so it sets makefile > variables for QEMU_PKGVERSION and QEMU_FULL_VERSION. > (We will want to use these when building the Sphinx docs.) > > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Reviewed-by: Alex Bennée <alex.ben...@linaro.org> > --- > Makefile | 33 ++++++++++++++++----------------- > 1 file changed, 16 insertions(+), 17 deletions(-) > > diff --git a/Makefile b/Makefile > index d519fadee39..2d19d28a271 100644 > --- a/Makefile > +++ b/Makefile > @@ -87,6 +87,20 @@ endif > > include $(SRC_PATH)/rules.mak > > +# Create QEMU_PKGVERSION and FULL_VERSION strings > +# If PKGVERSION is set, use that; otherwise get version and -dirty status > from git > +QEMU_PKGVERSION := $(if $(PKGVERSION),$(PKGVERSION),$(shell \ > + cd $(SRC_PATH); \ > + if test -d .git; then \ > + git describe --match 'v*' 2>/dev/null | tr -d '\n'; \ > + if ! git diff-index --quiet HEAD &>/dev/null; then \ > + echo "-dirty"; \ > + fi; \ > + fi)) > + > +# Either "version (pkgversion)", or just "version" if pkgversion not set > +FULL_VERSION := $(if $(QEMU_PKGVERSION),$(VERSION) > ($(QEMU_PKGVERSION)),$(VERSION)) > + > GENERATED_FILES = qemu-version.h config-host.h qemu-options.def > > #see Makefile.objs for the definition of QAPI_MODULES > @@ -391,23 +405,8 @@ all: $(DOCS) sphinxdocs $(TOOLS) $(HELPERS-y) > recurse-all modules > > qemu-version.h: FORCE > $(call quiet-command, \ > - (cd $(SRC_PATH); \ > - if test -n "$(PKGVERSION)"; then \ > - pkgvers="$(PKGVERSION)"; \ > - else \ > - if test -d .git; then \ > - pkgvers=$$(git describe --match 'v*' > 2>/dev/null | tr -d '\n');\ > - if ! git diff-index --quiet HEAD &>/dev/null; > then \ > - pkgvers="$${pkgvers}-dirty"; \ > - fi; \ > - fi; \ > - fi; \ > - printf "#define QEMU_PKGVERSION \"$${pkgvers}\"\n"; \ > - if test -n "$${pkgvers}"; then \ > - printf '#define QEMU_FULL_VERSION QEMU_VERSION " (" > QEMU_PKGVERSION ")"\n'; \ > - else \ > - printf '#define QEMU_FULL_VERSION QEMU_VERSION\n'; \ > - fi; \ > + (printf '#define QEMU_PKGVERSION "$(QEMU_PKGVERSION)"\n'; \ > + printf '#define QEMU_FULL_VERSION "$(FULL_VERSION)"\n'; \ > ) > $@.tmp) > $(call quiet-command, if ! cmp -s $@ $@.tmp; then \ > mv $@.tmp $@; \ -- Alex Bennée