|
|
@ -39,16 +39,11 @@ PLAT_M0 ?= rk3399m0 |
|
|
|
|
|
|
|
ifeq (${V},0) |
|
|
|
Q=@ |
|
|
|
CHECKCODE_ARGS += --no-summary --terse |
|
|
|
else |
|
|
|
Q= |
|
|
|
endif |
|
|
|
export Q |
|
|
|
|
|
|
|
# All PHONY definition
|
|
|
|
.PHONY: all clean distclean ${ARCH} |
|
|
|
all: ${ARCH} |
|
|
|
|
|
|
|
.SUFFIXES: |
|
|
|
|
|
|
|
INCLUDES += -Iinclude/ |
|
|
@ -86,22 +81,21 @@ define SOURCES_TO_OBJS |
|
|
|
$(notdir $(patsubst %.S,%.o,$(filter %.S,$(1)))) |
|
|
|
endef |
|
|
|
|
|
|
|
BUILD_DIR := ${BUILD_PLAT}/obj |
|
|
|
BIN_DIR := ${BUILD_PLAT}/bin |
|
|
|
SOURCES := $(C_SOURCES) |
|
|
|
OBJS := $(addprefix $(BUILD_DIR)/,$(call SOURCES_TO_OBJS,$(SOURCES))) |
|
|
|
OBJS := $(addprefix $(BUILD)/,$(call SOURCES_TO_OBJS,$(SOURCES))) |
|
|
|
LINKERFILE := src/rk3399m0.ld |
|
|
|
MAPFILE := $(BIN_DIR)/$(PLAT_M0).map |
|
|
|
ELF := $(BIN_DIR)/$(PLAT_M0).elf |
|
|
|
BIN := $(BIN_DIR)/$(PLAT_M0).bin |
|
|
|
MAPFILE := $(BUILD)/$(PLAT_M0).map |
|
|
|
ELF := $(BUILD)/$(PLAT_M0).elf |
|
|
|
BIN := $(BUILD)/$(PLAT_M0).bin |
|
|
|
|
|
|
|
# Function definition related compilation
|
|
|
|
define MAKE_C |
|
|
|
$(eval OBJ := $(1)/$(patsubst %.c,%.o,$(notdir $(2)))) |
|
|
|
-include $(patsubst %.o,%.d,$(OBJ)) |
|
|
|
|
|
|
|
$(OBJ) : $(2) |
|
|
|
@echo " CC $$<" |
|
|
|
$$(Q)$$(CC) $$(CFLAGS) $$(INCLUDES) -c $$< -o $$@ |
|
|
|
$$(Q)$$(CC) $$(CFLAGS) $$(INCLUDES) -MMD -MT $$@ -c $$< -o $$@ |
|
|
|
endef |
|
|
|
|
|
|
|
define MAKE_S |
|
|
@ -124,11 +118,8 @@ define MAKE_OBJS |
|
|
|
$(and $(REMAIN),$(error Unexpected source files present: $(REMAIN))) |
|
|
|
endef |
|
|
|
|
|
|
|
$(BIN_DIR) : |
|
|
|
$(Q)mkdir -p "$@" |
|
|
|
|
|
|
|
$(BUILD_DIR) : $(BIN_DIR) |
|
|
|
$(Q)mkdir -p "$@" |
|
|
|
.PHONY: all |
|
|
|
all: $(BIN) |
|
|
|
|
|
|
|
$(ELF) : $(OBJS) $(LINKERFILE) |
|
|
|
@echo " LD $@" |
|
|
@ -139,18 +130,4 @@ $(BIN) : $(ELF) |
|
|
|
@echo " BIN $@" |
|
|
|
$(Q)$(OC) -O binary $< $@ |
|
|
|
|
|
|
|
.PHONY : ${ARCH} |
|
|
|
${ARCH} : $(BUILD_DIR) $(BIN) |
|
|
|
|
|
|
|
$(eval $(call MAKE_OBJS,$(BUILD_DIR),$(SOURCES),$(1))) |
|
|
|
|
|
|
|
# Other common compilation entries
|
|
|
|
clean: |
|
|
|
@echo " CLEAN" |
|
|
|
${Q}rm -rf ${BUILD_BASE}/${PLAT_M0} |
|
|
|
${Q}rm -rf ${VER_BIN_DIR}/$(PLAT_M0)* |
|
|
|
|
|
|
|
distclean: |
|
|
|
@echo " DISTCLEAN" |
|
|
|
${Q}rm -rf ${BUILD_BASE}/${PLAT_M0} |
|
|
|
${Q}rm -rf ${VER_BIN_DIR}/$(PLAT_M0)* |
|
|
|
$(eval $(call MAKE_OBJS,$(BUILD),$(SOURCES),$(1))) |
|
|
|