summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorEvan Lloyd <evan.lloyd@arm.com>2015-12-02 20:30:13 +0000
committerEvan Lloyd <evan.lloyd@arm.com>2016-04-01 12:33:09 +0100
commitbb5a762c3fc9c023ed8a69ff8661c9e6c118a48a (patch)
treeb701a0cc6667fe83c51ce5c01521662d7849c119 /tools
parente7f54dbd034fa319bd9ea07d7cc0bc0dcf46e096 (diff)
Build:Replace soft links with file copy.
Some build environments do not support symbolic links. This patch removes the symlinks previously used to build fip_create and instead copies the relevant header files. The original motivation for using symlinks was to avoid Trusted Firmware library headers conflicting with headers in the compiler standard include path. Copying the header files instead has the same effect. Like other build artefacts, the copied files are listed in .gitignore. The distclean targets have also been updated to remove the copies. Change-Id: Ie8b67bcb133f7f1d660ae93b857950aa15e42b1e
Diffstat (limited to 'tools')
-rw-r--r--tools/fip_create/Makefile23
l---------tools/fip_create/firmware_image_package.h1
l---------tools/fip_create/uuid.h1
3 files changed, 19 insertions, 6 deletions
diff --git a/tools/fip_create/Makefile b/tools/fip_create/Makefile
index 52e06a7e..da993024 100644
--- a/tools/fip_create/Makefile
+++ b/tools/fip_create/Makefile
@@ -34,6 +34,7 @@ include ${MAKE_HELPERS_DIRECTORY}build_env.mk
PROJECT = fip_create
OBJECTS = fip_create.o
+COPIED_H_FILES := uuid.h firmware_image_package.h
CFLAGS = -Wall -Werror -pedantic -std=c99
ifeq (${DEBUG},1)
@@ -42,13 +43,12 @@ else
CFLAGS += -O2
endif
-# Make soft links and include from local directory otherwise wrong headers
-# could get pulled in from firmware tree.
+# Only include from local directory (see comment below).
INCLUDE_PATHS = -I.
CC := gcc
-.PHONY: all clean
+.PHONY: all clean distclean
all: ${PROJECT}
@@ -59,10 +59,25 @@ ${PROJECT}: ${OBJECTS} Makefile
@echo "Built $@ successfully"
@${ECHO_BLANK_LINE}
-%.o: %.c %.h Makefile
+%.o: %.c %.h ${COPIED_H_FILES} Makefile
@echo " CC $<"
${Q}${CC} -c ${CFLAGS} ${INCLUDE_PATHS} $< -o $@
+#
+# Copy required library headers to a local directory so they can be included
+# by this project without adding the library directories to the system include
+# path. This avoids conflicts with definitions in the compiler standard
+# include path.
+#
+uuid.h : ../../include/stdlib/sys/uuid.h
+ $(call SHELL_COPY,$<,$@)
+
+firmware_image_package.h : ../../include/common/firmware_image_package.h
+ $(call SHELL_COPY,$<,$@)
+
clean:
$(call SHELL_DELETE_ALL, ${PROJECT} ${OBJECTS})
+distclean: clean
+ $(call SHELL_DELETE_ALL, ${COPIED_H_FILES})
+
diff --git a/tools/fip_create/firmware_image_package.h b/tools/fip_create/firmware_image_package.h
deleted file mode 120000
index cc61903e..00000000
--- a/tools/fip_create/firmware_image_package.h
+++ /dev/null
@@ -1 +0,0 @@
-../../include/common/firmware_image_package.h \ No newline at end of file
diff --git a/tools/fip_create/uuid.h b/tools/fip_create/uuid.h
deleted file mode 120000
index c77762f4..00000000
--- a/tools/fip_create/uuid.h
+++ /dev/null
@@ -1 +0,0 @@
-../../include/stdlib/sys/uuid.h \ No newline at end of file