Commit 8d2296f3 authored by Sandrine Bailleux's avatar Sandrine Bailleux Committed by Dan Handley
Browse files

Build system: Trigger dependency checking only for build targets

The Makefile used to specify a blacklist of rules for which
dependency checking must not be triggered.  This list included
cleaning rules only, whereas all other non-build targets (e.g.
help, checkpatch, etc.) should also be included.

This approach seems a bit fragile because it is easy to forget
some non-building rules in the blacklist, as the experience
showed us.  It is more robust to specify a whitelist of rules
for which dependency checking is required.

Fixes ARM-software/tf-issues#112

Change-Id: I030c405abb35972a726a5200396430316d18f963
parent 0796fe01
...@@ -231,9 +231,13 @@ define match_goals ...@@ -231,9 +231,13 @@ define match_goals
$(strip $(foreach goal,$(1),$(filter $(goal),$(MAKECMDGOALS)))) $(strip $(foreach goal,$(1),$(filter $(goal),$(MAKECMDGOALS))))
endef endef
# List of rules that involve building things
BUILD_TARGETS := all bl1 bl2 bl31 bl32 fip
CLEANING := $(call match_goals,clean realclean distclean) # Does the list of goals specified on the command line include a build target?
ifneq ($(call match_goals,${BUILD_TARGETS}),)
IS_ANYTHING_TO_BUILD := 1
endif
define MAKE_C define MAKE_C
...@@ -250,7 +254,7 @@ $(PREREQUISITES) : $(2) ...@@ -250,7 +254,7 @@ $(PREREQUISITES) : $(2)
@mkdir -p $(1) @mkdir -p $(1)
$$(Q)$$(CC) $$(CFLAGS) -M -MT $(OBJ) -MF $$@ $$< $$(Q)$$(CC) $$(CFLAGS) -M -MT $(OBJ) -MF $$@ $$<
ifeq "$(CLEANING)" "" ifdef IS_ANYTHING_TO_BUILD
-include $(PREREQUISITES) -include $(PREREQUISITES)
endif endif
...@@ -271,7 +275,7 @@ $(PREREQUISITES) : $(2) ...@@ -271,7 +275,7 @@ $(PREREQUISITES) : $(2)
@mkdir -p $(1) @mkdir -p $(1)
$$(Q)$$(AS) $$(ASFLAGS) -M -MT $(OBJ) -MF $$@ $$< $$(Q)$$(AS) $$(ASFLAGS) -M -MT $(OBJ) -MF $$@ $$<
ifeq "$(CLEANING)" "" ifdef IS_ANYTHING_TO_BUILD
-include $(PREREQUISITES) -include $(PREREQUISITES)
endif endif
...@@ -291,7 +295,7 @@ $(PREREQUISITES) : $(2) ...@@ -291,7 +295,7 @@ $(PREREQUISITES) : $(2)
@mkdir -p $$(dir $$@) @mkdir -p $$(dir $$@)
$$(Q)$$(AS) $$(ASFLAGS) -M -MT $(1) -MF $$@ $$< $$(Q)$$(AS) $$(ASFLAGS) -M -MT $(1) -MF $$@ $$<
ifeq "$(CLEANING)" "" ifdef IS_ANYTHING_TO_BUILD
-include $(PREREQUISITES) -include $(PREREQUISITES)
endif endif
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment