diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 62 |
1 files changed, 12 insertions, 50 deletions
@@ -315,95 +315,57 @@ checkpatch: locate-checkpatch -- ${CHECK_PATHS} | ${CHECKPATCH} - || true; \ done -define match_goals -$(strip $(foreach goal,$(1),$(filter $(goal),$(MAKECMDGOALS)))) -endef - -# List of rules that involve building things -BUILD_TARGETS := all tftf -ifeq (${FIRMWARE_UPDATE},1) - BUILD_TARGETS += ns_bl1u ns_bl2u -else +ifneq (${FIRMWARE_UPDATE},1) ns_bl1u ns_bl2u: @echo "ERROR: Can't build $@ because Firmware Update is not supported \ on this platform." @exit 1 endif -ifeq (${ARCH}-${PLAT},aarch64-fvp) - BUILD_TARGETS += cactus -else +ifneq (${ARCH}-${PLAT},aarch64-fvp) .PHONY: cactus cactus: @echo "ERROR: $@ is supported only on AArch64 FVP." @exit 1 endif -# 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 +MAKE_DEP = -Wp,-MD,$(DEP) -MT $$@ define MAKE_C $(eval OBJ := $(1)/$(patsubst %.c,%.o,$(notdir $(2)))) -$(eval PREREQUISITES := $(patsubst %.o,%.d,$(OBJ))) +$(eval DEP := $(patsubst %.o,%.d,$(OBJ))) $(OBJ) : $(2) @echo " CC $$<" - $$(Q)$$(CC) $$(TFTF_CFLAGS) -DIMAGE_$(3) -c $$< -o $$@ - - -$(PREREQUISITES) : $(2) $(AUTOGEN_DIR)/tests_list.h - @echo " DEPS $$@" - @mkdir -p $(1) - $$(Q)$$(CC) $$(TFTF_CFLAGS) -M -MT $(OBJ) -MF $$@ $$< - -ifdef IS_ANYTHING_TO_BUILD --include $(PREREQUISITES) -endif + $$(Q)$$(CC) $$(TFTF_CFLAGS) -DIMAGE_$(3) $(MAKE_DEP) -c $$< -o $$@ +-include $(DEP) endef define MAKE_S $(eval OBJ := $(1)/$(patsubst %.S,%.o,$(notdir $(2)))) -$(eval PREREQUISITES := $(patsubst %.o,%.d,$(OBJ))) +$(eval DEP := $(patsubst %.o,%.d,$(OBJ))) $(OBJ) : $(2) @echo " AS $$<" - $$(Q)$$(AS) $$(ASFLAGS) -DIMAGE_$(3) -c $$< -o $$@ - -$(PREREQUISITES) : $(2) $(AUTOGEN_DIR)/tests_list.h - @echo " DEPS $$@" - @mkdir -p $(1) - $$(Q)$$(AS) $$(ASFLAGS) -M -MT $(OBJ) -MF $$@ $$< - -ifdef IS_ANYTHING_TO_BUILD --include $(PREREQUISITES) -endif + $$(Q)$$(AS) $$(ASFLAGS) -DIMAGE_$(3) $(MAKE_DEP) -c $$< -o $$@ +-include $(DEP) endef define MAKE_LD -$(eval PREREQUISITES := $(1).d) +$(eval DEP := $(1).d) $(1) : $(2) @echo " PP $$<" - $$(Q)$$(AS) $$(ASFLAGS) -P -E -o $$@ $$< - -$(PREREQUISITES) : $(2) - @echo " DEPS $$@" - @mkdir -p $$(dir $$@) - $$(Q)$$(AS) $$(ASFLAGS) -M -MT $(1) -MF $$@ $$< - -ifdef IS_ANYTHING_TO_BUILD --include $(PREREQUISITES) -endif + $$(Q)$$(AS) $$(ASFLAGS) -P -E $(MAKE_DEP) -o $$@ $$< +-include $(DEP) endef |