diff --git a/Makefile b/Makefile index b59d785..b644b20 100644 --- a/Makefile +++ b/Makefile @@ -629,18 +629,18 @@ ifneq (${GENERATE_COT},0) fwu_certificates: ${FWU_CRT_DEPS} ${CRTTOOL} ${Q}${CRTTOOL} ${FWU_CRT_ARGS} - @echo + @${ECHO_BLANK_LINE} @echo "Built $@ successfully" @echo "FWU certificates can be found in ${BUILD_PLAT}" - @echo + @${ECHO_BLANK_LINE} endif ${BUILD_PLAT}/${FWU_FIP_NAME}: ${FWU_FIP_DEPS} ${FIPTOOL} ${Q}${FIPTOOL} create ${FWU_FIP_ARGS} $@ ${Q}${FIPTOOL} info $@ - @echo + @${ECHO_BLANK_LINE} @echo "Built $@ successfully" - @echo + @${ECHO_BLANK_LINE} fiptool: ${FIPTOOL} fip: ${BUILD_PLAT}/${FIP_NAME} diff --git a/make_helpers/build_macros.mk b/make_helpers/build_macros.mk index 2d23ef8..36f220e 100644 --- a/make_helpers/build_macros.mk +++ b/make_helpers/build_macros.mk @@ -284,14 +284,16 @@ $(eval BL_LINKERFILE := $(BL$(call uppercase,$(1))_LINKERFILE)) # We use sort only to get a list of unique object directory names. # ordering is not relevant but sort removes duplicates. - $(eval TEMP_OBJ_DIRS := $(sort $(BUILD_DIR)/ $(dir ${OBJS} ${LINKERFILE}))) + $(eval TEMP_OBJ_DIRS := $(sort $(dir ${OBJS} ${LINKERFILE}))) # The $(dir ) function leaves a trailing / on the directory names # Rip off the / to match directory names with make rule targets. $(eval OBJ_DIRS := $(patsubst %/,%,$(TEMP_OBJ_DIRS))) # Create generators for object directory structure -$(eval $(foreach objd,${OBJ_DIRS},$(call MAKE_PREREQ_DIR,${objd},))) +$(eval $(call MAKE_PREREQ_DIR,${BUILD_DIR},)) + +$(eval $(foreach objd,${OBJ_DIRS},$(call MAKE_PREREQ_DIR,${objd},${BUILD_DIR}))) .PHONY : bl${1}_dirs @@ -321,9 +323,9 @@ $(BIN): $(ELF) @echo " BIN $$@" $$(Q)$$(OC) -O binary $$< $$@ - @echo + @${ECHO_BLANK_LINE} @echo "Built $$@ successfully" - @echo + @${ECHO_BLANK_LINE} .PHONY: bl$(1) bl$(1): $(BIN) $(DUMP) diff --git a/make_helpers/unix.mk b/make_helpers/unix.mk index 61b1368..17f8a7c 100644 --- a/make_helpers/unix.mk +++ b/make_helpers/unix.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. # # SPDX-License-Identifier: BSD-3-Clause # @@ -43,11 +43,14 @@ # ${1} is the directory to be generated. # ${2} is optional, and allows a prerequisite to be specified. + # Do nothing if $1 == $2, to ignore self dependencies. define MAKE_PREREQ_DIR + ifneq (${1},${2}) ${1} : ${2} ${Q}mkdir -p "${1}" + endif endef define SHELL_REMOVE_DIR diff --git a/make_helpers/windows.mk b/make_helpers/windows.mk index f6e8d55..69f6a01 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. # # SPDX-License-Identifier: BSD-3-Clause # @@ -51,12 +51,15 @@ # ${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.