[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Minios-devel] [UNIKRAFT PATCH v3 2/8] build: Test parameter O= to be an absolute path



Stops building with an error message when O= (build output directory)
is not an absolute path. The build system does not support relative paths.

Signed-off-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx>
---
 Makefile | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/Makefile b/Makefile
index 2ae8a948..13fed332 100644
--- a/Makefile
+++ b/Makefile
@@ -119,16 +119,20 @@ override CONFIG_UK_APP   := $(A)
 override APP_DIR  := $(A)
 override APP_BASE := $(A)
 
-# BUILD_DIR
+# parameter O: BUILD_DIR ###
 # Use O variable if set on the command line, otherwise use $(A)/build;
 ifneq ("$(origin O)", "command line")
-BUILD_DIR := $(shell mkdir -p $(CONFIG_UK_APP)/build && cd 
$(CONFIG_UK_APP)/build >/dev/null && pwd)
-$(if $(BUILD_DIR),, $(error could not create directory "$(A)/build"))
+_O := $(APP_BASE)/build
 else
-BUILD_DIR := $(shell mkdir -p $(O) && cd $(O) >/dev/null && pwd)
-$(if $(BUILD_DIR),, $(error could not create directory "$(O)"))
+ifeq ("$(filter /%,$(O))", "")
+$(error Path to output directory (O) is not absolute)
 endif
-override BUILD_DIR := $(realpath $(patsubst %/,%,$(patsubst 
%.,%,$(BUILD_DIR))))
+_O := $(realpath $(dir $(O)))/$(notdir $(O))
+endif
+BUILD_DIR := $(shell mkdir -p $(_O) && cd $(_O) >/dev/null && pwd)
+$(if $(BUILD_DIR),, $(error could not create directory "$(_O)"))
+BUILD_DIR := $(realpath $(patsubst %/,%,$(patsubst %.,%,$(BUILD_DIR))))
+override O := $(BUILD_DIR)
 
 # EPLAT_DIR (list of external platform libraries)
 # Retrieved from P variable from the command line (paths separated by colon)
-- 
2.20.1


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.