Add compilation macro for each BL stage
This patch defines a compile time macro for each boot loader stage
which allows compilation of code only for a specific stage.
Change-Id: I3a4068404cd3dc26d652556ca9ca7afea8dd28ef
diff --git a/Makefile b/Makefile
index fef89c2..91e4296 100644
--- a/Makefile
+++ b/Makefile
@@ -300,7 +300,7 @@
$(OBJ) : $(2)
@echo " CC $$<"
- $$(Q)$$(CC) $$(CFLAGS) -c $$< -o $$@
+ $$(Q)$$(CC) $$(CFLAGS) -DIMAGE_BL$(3) -c $$< -o $$@
$(PREREQUISITES) : $(2)
@@ -322,7 +322,7 @@
$(OBJ) : $(2)
@echo " AS $$<"
- $$(Q)$$(AS) $$(ASFLAGS) -c $$< -o $$@
+ $$(Q)$$(AS) $$(ASFLAGS) -DIMAGE_BL$(3) -c $$< -o $$@
$(PREREQUISITES) : $(2)
@echo " DEPS $$@"
@@ -359,11 +359,11 @@
define MAKE_OBJS
$(eval C_OBJS := $(filter %.c,$(2)))
$(eval REMAIN := $(filter-out %.c,$(2)))
- $(eval $(foreach obj,$(C_OBJS),$(call MAKE_C,$(1),$(obj))))
+ $(eval $(foreach obj,$(C_OBJS),$(call MAKE_C,$(1),$(obj),$(3))))
$(eval S_OBJS := $(filter %.S,$(REMAIN)))
$(eval REMAIN := $(filter-out %.S,$(REMAIN)))
- $(eval $(foreach obj,$(S_OBJS),$(call MAKE_S,$(1),$(obj))))
+ $(eval $(foreach obj,$(S_OBJS),$(call MAKE_S,$(1),$(obj),$(3))))
$(and $(REMAIN),$(error Unexpected source files present: $(REMAIN)))
endef
@@ -387,7 +387,7 @@
$(eval DUMP := $(BUILD_DIR)/bl$(1).dump)
$(eval BIN := $(BUILD_PLAT)/bl$(1).bin)
- $(eval $(call MAKE_OBJS,$(BUILD_DIR),$(SOURCES)))
+ $(eval $(call MAKE_OBJS,$(BUILD_DIR),$(SOURCES),$(1)))
$(eval $(call MAKE_LD,$(LINKERFILE),$(BL$(1)_LINKERFILE)))
$(BUILD_DIR) :