From 0107316cb3e4e2de9886e55f2860ce83001ad2da Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 11 Apr 2016 16:34:21 +0100 Subject: [PATCH 2/4] Generate metadata from make variables. This allows one to use the same makefiles when building for other (host compatible) arches. The ARCH is resolved with xdg-app --default-arch but can be overridden to build compatible 32bit code on a 64bit platform, with e.g: make ARCH=i386 The metadata files will be regenerated on every invocation of make. --- Makefile | 18 +++++++++++++++--- metadata.platform | 4 ---- metadata.platform.in | 4 ++++ metadata.sdk | 4 ---- metadata.sdk.in | 4 ++++ 5 files changed, 23 insertions(+), 11 deletions(-) delete mode 100644 metadata.platform create mode 100644 metadata.platform.in delete mode 100644 metadata.sdk create mode 100644 metadata.sdk.in diff --git a/Makefile b/Makefile index b146816..459dd85 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,10 @@ +# Override the arch with `make ARCH=i386` +VERSION = 1.5 +ARCH ?= $(shell xdg-app --default-arch) + srcdir = $(CURDIR) builddir = $(CURDIR) - NULL= -ARCH=x86_64 -VERSION=1.5 HASH:=$(shell git rev-parse HEAD) IMAGEDIR=images/${ARCH} SDK_IMAGE=${IMAGEDIR}/freedesktop-contents-sdk-${ARCH}-${HASH}.tar.gz @@ -50,3 +51,14 @@ ${FILE_REF_PLATFORM}: metadata.platform ${PLATFORM_IMAGE} ostree commit ${COMMIT_ARGS} ${GPG_ARGS} --branch=${REF_PLATFORM} -s "build of ${HASH}" platform ostree summary -u --repo=repo ${GPG_ARGS} rm -rf platform + +METADATA_FILES=metadata.sdk metadata.platform +${METADATA_FILES}: metadata_FORCE + +%:%.in + sed -e 's/@@ARCH@@/${ARCH}/g' \ + -e 's/@@VERSION@@/${VERSION}/g' \ + $< > $@.tmp && mv $@.tmp $@ || exit 1 + +# force the files to be rebuilt every make invocation +metadata_FORCE: diff --git a/metadata.platform b/metadata.platform deleted file mode 100644 index c2ca72e..0000000 --- a/metadata.platform +++ /dev/null @@ -1,4 +0,0 @@ -[Runtime] -name=org.freedesktop.BasePlatform -runtime=org.freedesktop.BasePlatform/x86_64/1.5 -sdk=org.freedesktop.BaseSdk/x86_64/1.5 diff --git a/metadata.platform.in b/metadata.platform.in new file mode 100644 index 0000000..b46703a --- /dev/null +++ b/metadata.platform.in @@ -0,0 +1,4 @@ +[Runtime] +name=org.freedesktop.BasePlatform +runtime=org.freedesktop.BasePlatform/@@ARCH@@/@@VERSION@@ +sdk=org.freedesktop.BaseSdk/@@ARCH@@/@@VERSION@@ diff --git a/metadata.sdk b/metadata.sdk deleted file mode 100644 index a0b520e..0000000 --- a/metadata.sdk +++ /dev/null @@ -1,4 +0,0 @@ -[Runtime] -name=org.freedesktop.BaseSdk -runtime=org.freedesktop.BasePlatform/x86_64/1.5 -sdk=org.freedesktop.BaseSdk/x86_64/1.5 diff --git a/metadata.sdk.in b/metadata.sdk.in new file mode 100644 index 0000000..f69621d --- /dev/null +++ b/metadata.sdk.in @@ -0,0 +1,4 @@ +[Runtime] +name=org.freedesktop.BaseSdk +runtime=org.freedesktop.BasePlatform/@@ARCH@@/@@VERSION@@ +sdk=org.freedesktop.BaseSdk/@@ARCH@@/@@VERSION@@ -- 2.7.4