11bd4fe43Sopenharmony_ciinclude $(MAIN_TOPDIR)/build/make_scripts/config.mk
21bd4fe43Sopenharmony_ci-include $(MAIN_TOPDIR)/$(MODULE_DIR)/srcs.mk
31bd4fe43Sopenharmony_ciinclude $(MAIN_TOPDIR)/$(MODULE_DIR)/module_config.mk
41bd4fe43Sopenharmony_ci
51bd4fe43Sopenharmony_cioverride CCFLAGS = $(BOOT_CCFLAGS) $(BOOT_DEFINE) $(BOOT_INC)
61bd4fe43Sopenharmony_cioverride ASFLAGS = $(BOOT_ASFLAGS) $(BOOT_DEFINE) $(BOOT_INC)
71bd4fe43Sopenharmony_ci
81bd4fe43Sopenharmony_ciLIBDIR = $(MAIN_TOPDIR)/$(LIB_PATH)/$(MODULE_DIR)
91bd4fe43Sopenharmony_ciOBJDIR = $(MAIN_TOPDIR)/$(OBJ_PATH)/loaderboot
101bd4fe43Sopenharmony_ciID_CFG_FILE = $(MAIN_TOPDIR)/$(MODULE_DIR)/file_id.cfg
111bd4fe43Sopenharmony_ci
121bd4fe43Sopenharmony_ciLIB_NAME = lib$(LIB).a
131bd4fe43Sopenharmony_ciSRCS = $($(LIB)_srcs)
141bd4fe43Sopenharmony_ciLIBOUT = $(LIBDIR)/$(MODULE_DIR)/$(LIB_NAME)
151bd4fe43Sopenharmony_ci
161bd4fe43Sopenharmony_ciifdef SRC_FILES
171bd4fe43Sopenharmony_ciOBJ_SRCS = $(filter %.c, $(SRC_FILES))
181bd4fe43Sopenharmony_ciASM_SRCS = $(filter %.S, $(SRC_FILES))
191bd4fe43Sopenharmony_cielse
201bd4fe43Sopenharmony_ciOBJ_SRCS = $(foreach dir, $(SRCS), $(wildcard $(dir)/*.c))
211bd4fe43Sopenharmony_ciASM_SRCS = $(foreach dir, $(SRCS), $(wildcard $(dir)/*.S ))
221bd4fe43Sopenharmony_ciOBJ_COMMON_SRCS = $(foreach dir, $($(LIB)_common_srcs), $(wildcard $(dir)/*.c))
231bd4fe43Sopenharmony_ciASM_COMMON_SRCS = $(foreach dir, $($(LIB)_common_srcs), $(wildcard $(dir)/*.S ))
241bd4fe43Sopenharmony_ciendif
251bd4fe43Sopenharmony_ciOBJ_SRCS += $(MAIN_TOPDIR)/third_party/u-boot-v2019.07/u-boot-v2019.07/lib/crc32.c \
261bd4fe43Sopenharmony_ci            $(MAIN_TOPDIR)/third_party/u-boot-v2019.07/u-boot-v2019.07/lib/lzma/LzmaDec.c \
271bd4fe43Sopenharmony_ci            $(MAIN_TOPDIR)/third_party/u-boot-v2019.07/u-boot-v2019.07/lib/lzma/LzmaTools.c
281bd4fe43Sopenharmony_ciOBJS = $(patsubst %.c, $(OBJDIR)/%.o, $(OBJ_SRCS))
291bd4fe43Sopenharmony_ciASM_OBJS = $(patsubst %.S, $(OBJDIR)/%.o, $(ASM_SRCS))
301bd4fe43Sopenharmony_ciCOMMON_OBJS = $(patsubst ../%.c, $(OBJDIR)/%.o, $(OBJ_COMMON_SRCS))
311bd4fe43Sopenharmony_ciCOMMON_ASM_OBJS = $(patsubst ../%.S, $(OBJDIR)/%.o, $(ASM_COMMON_SRCS))
321bd4fe43Sopenharmony_ci
331bd4fe43Sopenharmony_ciSIGN_TOOL = $(MAIN_TOPDIR)/tools/sign_tool/sign_tool
341bd4fe43Sopenharmony_ciENCRYPT_KEY_PATH = $(MAIN_TOPDIR)/tools/sign_tool/aes_key.txt
351bd4fe43Sopenharmony_ciifeq ($(CONFIG_TARGET_SIG_SHA256), y)
361bd4fe43Sopenharmony_ci    LINK_FILE = $(MAIN_TOPDIR)/build/link/loaderboot_sha256.lds
371bd4fe43Sopenharmony_cielse ifeq ($(CONFIG_TARGET_SIG_ECC), y)
381bd4fe43Sopenharmony_ci    LINK_FILE = $(MAIN_TOPDIR)/build/link/loaderboot_ecc.lds
391bd4fe43Sopenharmony_ci    ROOT_KEY_PATH = $(MAIN_TOPDIR)/tools/sign_tool/root_ecc.pem
401bd4fe43Sopenharmony_ci    SUB_KEY_PATH = $(MAIN_TOPDIR)/tools/sign_tool/sub_ecc.pem
411bd4fe43Sopenharmony_ci    SIGN_TYPE = 2
421bd4fe43Sopenharmony_cielse
431bd4fe43Sopenharmony_ci    LINK_FILE = $(MAIN_TOPDIR)/build/link/loaderboot_rsa.lds
441bd4fe43Sopenharmony_ci    ROOT_KEY_PATH = $(MAIN_TOPDIR)/tools/sign_tool/root_rsa.pem
451bd4fe43Sopenharmony_ci    SUB_KEY_PATH = $(MAIN_TOPDIR)/tools/sign_tool/sub_rsa.pem
461bd4fe43Sopenharmony_ci    ifeq ($(CONFIG_TARGET_SIG_RSA_V15), y)
471bd4fe43Sopenharmony_ci        SIGN_TYPE = 0
481bd4fe43Sopenharmony_ci    else ifeq ($(CONFIG_TARGET_SIG_RSA_PSS), y)
491bd4fe43Sopenharmony_ci        SIGN_TYPE = 1
501bd4fe43Sopenharmony_ci    endif
511bd4fe43Sopenharmony_ciendif
521bd4fe43Sopenharmony_ci
531bd4fe43Sopenharmony_ciLIBS := $(patsubst lib%.a, -l%, $(notdir $(wildcard $(MAIN_TOPDIR)/build/libs/boot_libs/*.a)))
541bd4fe43Sopenharmony_ciLIBPATH := -L$(MAIN_TOPDIR)/build/libs
551bd4fe43Sopenharmony_ciLIBPATH += -L$(MAIN_TOPDIR)/build/libs/boot_libs
561bd4fe43Sopenharmony_ciBOOT_ELF = $(MAIN_TOPDIR)/$(CACHE_PATH)/loader_boot.elf
571bd4fe43Sopenharmony_ciBOOT_BIN = $(MAIN_TOPDIR)/$(CACHE_PATH)/hi_loader_boot.bin
581bd4fe43Sopenharmony_ciBOOT_SIGNED_BIN = $(MAIN_TOPDIR)/$(BIN_PATH)/$(TARGET_CHIP)_loader_signed.bin
591bd4fe43Sopenharmony_ci
601bd4fe43Sopenharmony_ciall: $(OBJS) $(ASM_OBJS) $(COMMON_OBJS) $(COMMON_ASM_OBJS)
611bd4fe43Sopenharmony_ci	$(LINK) $(BOOT_LINK_FLAGS) -T $(LINK_FILE) $(LIBPATH) $(sort $^) -o $(BOOT_ELF) --start-group $(LIBS) --end-group
621bd4fe43Sopenharmony_ci	$(OBJCOPY) -Obinary -R .rom.text -R .rom.code.text -R .u_boot_cmd  -R .rom.data -R .rom.code.data -R .rom.bss -R .rom.code.bss -S $(BOOT_ELF) $(BOOT_BIN)
631bd4fe43Sopenharmony_ciifeq ($(CONFIG_TARGET_SIG_SHA256), y)
641bd4fe43Sopenharmony_ci	$(SIGN_TOOL) -i $(BOOT_BIN) -o $(BOOT_SIGNED_BIN) -n
651bd4fe43Sopenharmony_cielse ifeq ($(CONFIG_BOOT_ENCRYPT), y)
661bd4fe43Sopenharmony_ci	$(SIGN_TOOL) -i $(BOOT_BIN) -o $(BOOT_SIGNED_BIN) -r$(ROOT_KEY_PATH) -s$(SUB_KEY_PATH) -v $(CONFIG_TARGET_BOOT_VER) -a $(SIGN_TYPE) -e$(ENCRYPT_KEY_PATH)
671bd4fe43Sopenharmony_cielse
681bd4fe43Sopenharmony_ci	$(SIGN_TOOL) -i $(BOOT_BIN) -o $(BOOT_SIGNED_BIN) -r$(ROOT_KEY_PATH) -s$(SUB_KEY_PATH) -v $(CONFIG_TARGET_BOOT_VER) -a $(SIGN_TYPE)
691bd4fe43Sopenharmony_ciendif
701bd4fe43Sopenharmony_ci	$(Q)echo [LOADER_BOOT] SUCCESS
711bd4fe43Sopenharmony_ci	$(RM) $(BOOT_ELF) $(BOOT_BIN)
721bd4fe43Sopenharmony_ci
731bd4fe43Sopenharmony_ci
741bd4fe43Sopenharmony_ciinclude $(MAIN_TOPDIR)/build/make_scripts/lib.mk
751bd4fe43Sopenharmony_ci$(COMMON_OBJS): $(OBJDIR)/%.o : ../%.c
761bd4fe43Sopenharmony_ci	$(Q)if [ ! -d $(dir $@) ]; then \
771bd4fe43Sopenharmony_ci	mkdir -p $(dir $@); \
781bd4fe43Sopenharmony_ci	fi;
791bd4fe43Sopenharmony_ci	$(Q) echo Compile $<;
801bd4fe43Sopenharmony_ci	$(Q)if [ -e $< ]; \
811bd4fe43Sopenharmony_ci	then $(CC) $(CCFLAGS) -c $< -o $@; \
821bd4fe43Sopenharmony_ci	if [ "$$?" != "0" ]; then \
831bd4fe43Sopenharmony_ci	exit 1;\
841bd4fe43Sopenharmony_ci	fi; \
851bd4fe43Sopenharmony_ci	fi;
861bd4fe43Sopenharmony_ci
871bd4fe43Sopenharmony_ci$(COMMON_ASM_OBJS): $(OBJDIR)/%.o : ../%.S
881bd4fe43Sopenharmony_ci	$(Q)echo Compile  $<;
891bd4fe43Sopenharmony_ci	$(Q)if [ ! -d $(dir $@) ]; \
901bd4fe43Sopenharmony_ci	then \
911bd4fe43Sopenharmony_ci	mkdir -p $(dir $@);\
921bd4fe43Sopenharmony_ci	fi;
931bd4fe43Sopenharmony_ci	$(Q)if [ -f $< ]; \
941bd4fe43Sopenharmony_ci	then \
951bd4fe43Sopenharmony_ci	$(CC) $(ASFLAGS)  -c $< -o $@ ; \
961bd4fe43Sopenharmony_ci	if [ "$$?" != "0" ]; then \
971bd4fe43Sopenharmony_ci	exit 1;\
981bd4fe43Sopenharmony_ci	fi;\
991bd4fe43Sopenharmony_ci	fi;
100