From ab16cea1610bc1939164dea7bb4b7e7555ce1793 Mon Sep 17 00:00:00 2001 From: edeso Date: Tue, 28 Nov 2017 21:29:56 +0100 Subject: [PATCH] build: allow passing relative paths Allow using relative paths for GLUON_SITEDIR, GLUON_OUTPUTDIR, ... We also check for whitespace in paths now, as build will not work properly with whitespace anyways, and Make's abspath would require escaping otherwise. [Matthias Schiffer: minor changes, rewrite commit message] --- Makefile | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 20998277..c190dc59 100644 --- a/Makefile +++ b/Makefile @@ -5,13 +5,28 @@ LANG:=C export LC_ALL LANG -GLUON_SITEDIR ?= $(CURDIR)/site -GLUON_TMPDIR ?= $(CURDIR)/tmp +# initialize (possibly already user set) directory variables +GLUON_SITEDIR ?= site +GLUON_TMPDIR ?= tmp +GLUON_OUTPUTDIR ?= output -GLUON_OUTPUTDIR ?= $(CURDIR)/output GLUON_IMAGEDIR ?= $(GLUON_OUTPUTDIR)/images GLUON_PACKAGEDIR ?= $(GLUON_OUTPUTDIR)/packages +# check for spaces & resolve possibly relative paths +define mkabspath + ifneq (1,$(words [$($(1))])) + $$(error $(1) must not contain spaces) + endif + override $(1) := $(abspath $($(1))) +endef + +$(eval $(call mkabspath,GLUON_SITEDIR)) +$(eval $(call mkabspath,GLUON_TMPDIR)) +$(eval $(call mkabspath,GLUON_OUTPUTDIR)) +$(eval $(call mkabspath,GLUON_IMAGEDIR)) +$(eval $(call mkabspath,GLUON_PACKAGEDIR)) + export GLUON_TMPDIR GLUON_IMAGEDIR GLUON_PACKAGEDIR DEVICES