aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2019-02-28 14:56:23 +0000
committerPeter Maydell <peter.maydell@linaro.org>2019-03-05 12:46:25 +0000
commit479f831441ec932d7478aaaa225a46018e410794 (patch)
treec804007c919db1f47fff1fae752e7ec86c6b29fe
parentae80b868689a11460e2421fcf51d21b983a1916b (diff)
downloadqemu-arm-479f831441ec932d7478aaaa225a46018e410794.tar.gz
Makefile: Abstract out "identify the pkgversion" code
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.maydell@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Acked-by: Aleksandar Markovic <amarkovic@wavecomp.com> Message-id: 20190228145624.24885-11-peter.maydell@linaro.org
-rw-r--r--Makefile33
1 files changed, 16 insertions, 17 deletions
diff --git a/Makefile b/Makefile
index add22cf294..0f5fdc2d2b 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
GENERATED_QAPI_FILES = qapi/qapi-builtin-types.h qapi/qapi-builtin-types.c
@@ -392,23 +406,8 @@ all: $(DOCS) $(if $(BUILD_DOCS),sphinxdocs) $(TOOLS) $(HELPERS-y) recurse-all mo
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 $@; \