aboutsummaryrefslogtreecommitdiff
path: root/make_helpers/windows.mk
diff options
context:
space:
mode:
authorEvan Lloyd <evan.lloyd@arm.com>2017-04-07 16:58:57 +0100
committerEvan Lloyd <evan.lloyd@arm.com>2017-05-02 18:27:05 +0100
commit6ba7d274e25276143c3855dfa1a087f292141a63 (patch)
treecf907c249c53c3b64dada4b96ff54dd1c14b99f9 /make_helpers/windows.mk
parent7fa3214e18ad640208eaf6c8d6111ec53f3894aa (diff)
downloadtrusted-firmware-a-6ba7d274e25276143c3855dfa1a087f292141a63.tar.gz
Build: Fix parallel build
2 problems were found, but are in one change to avoid submitting a patch that might fail to build. The problems were: 1. The macro MAKE_PREREQ_DIR has a minor bug, in that it is capable of generating recursive dependencies. 2. The inclusion of BUILD_DIR in TEMP_OBJ_DIRS left no explicit dependency, BUILD_DIR might not exist when subdirectories are created by a thread on another CPU. This fix corrects these with the following changes: 1. MAKE_PREREQ_DIR does nothing for a direct self dependency. 2. BUILD_DIR is built using MAKE_PREREQ_DIR. 3. BUILD_DIR is an explicit prerequisite of all OBJ_DIRS. Change-Id: I938cddea4a006df225c02a47b9cf759212f27fb7 Signed-off-by: Evan Lloyd <evan.lloyd@arm.com>
Diffstat (limited to 'make_helpers/windows.mk')
-rw-r--r--make_helpers/windows.mk5
1 files changed, 4 insertions, 1 deletions
diff --git a/make_helpers/windows.mk b/make_helpers/windows.mk
index c4317d53d8..5138d1b9ca 100644
--- a/make_helpers/windows.mk
+++ b/make_helpers/windows.mk
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2016, ARM Limited and Contributors. All rights reserved.
+# Copyright (c) 2016-2017, ARM Limited and Contributors. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
@@ -75,12 +75,15 @@ ifndef WINDOWS_MK
# ${1} is the directory to be generated.
# ${2} is optional, and allows prerequisites to be specified.
+ # Do nothing if $1 == $2, to ignore self dependencies.
define MAKE_PREREQ_DIR
+ ifneq (${1},${2})
${1} : ${2}
$(eval tmp_dir:=$(subst /,\,${1}))
-@if not exist "$(tmp_dir)" mkdir "${tmp_dir}"
+ endif
endef
# ${1} is the directory to be removed.