| # (C) Copyright 2007 Marvell International Ltd. ? |
| #?All Rights Reserved |
| # |
| ############################################################## |
| # |
| # Top level make file for the bootloader |
| # |
| ############################################################## |
| |
| .EXPORT_ALL_VARIABLES: |
| |
| ############################################################## |
| # Global Macros |
| # These values are defaults and can be platform.mak |
| # will override these values if desired |
| # |
| # Note the defaults; |
| # build type: release |
| # non-trusted |
| # see Loader/Platforms/$PLATFORM/bl_platform_linux.mak for the rest of the defaults |
| # |
| ############################################################## |
| LOADERVERSION = 3_3_2 |
| |
| # directory information about this source tree... |
| TOPDIR :=$(shell pwd)/../.. |
| |
| ################# FLAGS START ################################ |
| RELEASE = 1 |
| ToolChain = LINUX |
| # 1=ARM, 0=Thumb mode |
| ARM_MODE = 0 |
| TRUSTED = 0 |
| TB_ERROR_DOWNLOAD = 1 |
| DOWNLOAD_USED = 1 |
| DFOTA = 0 |
| SDFOTA = 0 |
| UPDATER = 0 |
| OUM4DFOTA = 0 |
| # Set UART_UPLOAD to 1 if USBCI is 0 AND you need upload through UART |
| EMULATOR = 0 |
| FPGA = 0 |
| XZ_SUPPORT = 0 |
| XZDEC_SUPPORT= 0 |
| DUAL_TIM = 0 |
| SPI_LCD = 0 |
| CP_BOOT = 0 |
| PMIC_PWRDN = 1 |
| MEM_TEST = 0 |
| EXT_BLF_INSTR = 0 |
| IMG_RBC = 1 |
| BURN_DTIM_LAST = 1 |
| |
| # Add by liubin |
| MBTK_AUTO_DL = 1 |
| # DFOTA / FOTA |
| MBTK_OTA = FOTA |
| |
| USE_SERIAL_DEBUG = 1 |
| UPDATE_USE_GPIO = 0 |
| UPDATE_USE_DETECT_USB = 1 |
| EMMD_SUPPORT = 1 |
| ENABLE_MMU = 1 |
| LZMA_SUPPORT = 1 |
| ################# DEBUG FLAGS ################################ |
| VERBOSE_DEBUG = 0 |
| VERBOSE_MODE = 1 |
| COPYIMAGESTOFLASH = 1 |
| BOARD_DEBUG = 0 |
| BASE_CLOCK_208MHZ = 0 |
| ################# FLAGS END ################################## |
| USB_DEVICE_ONLY = 1 |
| DTIM_RECOVERY_SUPPORT = 0 |
| ### |
| ### trusted related flags |
| ### |
| USE_IPPCP_LIB = 0 |
| BL_USE_GEU_FUSE_PROG = 0 |
| BL_USE_SECURITY_CALLBACK = 0 |
| PRODUCT_BUILD = 0 |
| SECURE_DOWNLOAD = 1 |
| #################################################### |
| REPORT_DDR_INFO = 1 |
| SHRINK_BINARY_SIZE = 1 |
| NOSWAP_DDR = 0 |
| NAND_LP = 0 |
| ARCH ?= v7 |
| |
| #Platforms |
| NZAC = 0 |
| LAPW = 0 |
| FLCN = 0 |
| FACT = 0 |
| KAGU = 0 |
| KSTRZ = 0 |
| KSTRA = 0 |
| |
| # Platforms: |
| # NZAS: |
| # LAPW -- 1903 |
| # FLCN -- 1803 |
| # FACT -- 1806 |
| # KAGU -- 1828 |
| # NZAC -- 1802S /* not supported in v2102 */ |
| # KSTR |
| # KSTRZ -- 1906 |
| # KSTRA -- 1901 |
| |
| ifeq "$(PLATFORM)" "NZAS" |
| ifeq ($(PROFILE),$(filter LAPW%,$(PROFILE))) |
| LAPW = 1 |
| endif |
| |
| ifeq ($(PROFILE),$(filter KAGU%,$(PROFILE))) |
| KAGU = 1 |
| endif |
| |
| ifeq ($(PROFILE),$(filter FALCON%,$(PROFILE))) |
| FLCN = 1 |
| endif |
| |
| ifeq ($(PROFILE),$(filter FACT%,$(PROFILE))) |
| FACT = 1 |
| endif |
| endif |
| |
| ifeq "$(PLATFORM)" "KSTR" |
| ifeq ($(PROFILE),$(filter KSTRZ%,$(PROFILE))) |
| KSTRZ = 1 |
| else |
| KSTRA = 1 |
| endif |
| endif |
| |
| ########################################################## |
| ##### Profile specifc configuration |
| ifeq ($(PROFILE),$(filter $(PROFILE),FALCON403 LAPW503)) |
| SDFOTA = 1 |
| XZ_SUPPORT = 1 |
| LZMA_SUPPORT = 0 |
| OUM4DFOTA = 1 |
| endif |
| |
| ifeq ($(PROFILE),$(filter $(PROFILE),FACT301 KSTR901 KSTRZ906 LAPW501)) |
| DUAL_TIM = 1 |
| OUM4DFOTA = 1 |
| SDFOTA = 1 |
| ifeq "$(UPDATER)" "1" |
| XZ_SUPPORT = 1 |
| LZMA_SUPPORT = 0 |
| else |
| XZ_SUPPORT = 0 |
| LZMA_SUPPORT = 1 |
| endif |
| endif |
| |
| # Add by liubin for ota |
| ifeq "$(MBTK_OTA)" "DFOTA" |
| DFOTA = 1 |
| OUM4DFOTA = 0 |
| SDFOTA = 0 |
| else |
| DFOTA = 0 |
| OUM4DFOTA = 1 |
| SDFOTA = 1 |
| endif |
| # End by liubin |
| |
| ifeq "$(PROFILE)" "FACT306" |
| DUAL_TIM = 1 |
| endif |
| |
| ifeq "$(CP_BOOT)" "1" |
| ENABLE_MMU = 0 |
| endif |
| |
| # Global Tools |
| # These values are defaults and can be platform.mak |
| # will override these values if desired |
| ############################################################## |
| ifeq "$(CROSS_COMPILE)" "" |
| CROSS_COMPILE = arm-marvell-eabi- |
| else |
| CROSS_COMPILE = $(CROSS_COMPILE) |
| endif |
| AS = $(CROSS_COMPILE)as $(AFLAGS) |
| LD = $(CROSS_COMPILE)ld $(LDFLAGS) |
| CC = $(CROSS_COMPILE)gcc $(CFLAGS) |
| STRIP = $(CROSS_COMPILE)strip -R .note -R .comment -S |
| OBJCOPY = $(CROSS_COMPILE)objcopy -O binary -R .note -R .comment -S |
| OBJDUMP = $(CROSS_COMPILE)objdump |
| MAKE = make |
| RM = rm -f |
| DIR = mkdir |
| |
| |
| ############################################################## |
| # Default compile flags |
| # These values are defaults and can be platform.mak |
| # will override these values if desired |
| ############################################################## |
| #generic between Windows and Linux (easy to update both) |
| CFLAGS = -DI2C=$(I2C) \ |
| -DONENAND_CODE=$(ONENAND) -DNAND_CODE=$(NAND) \ |
| -D$(PLATFORM)=1 \ |
| -DSPINOR_CODE=$(SPINOR) -DSPINAND_CODE=$(SPINAND) \ |
| -DQSPINOR_CODE=$(QSPINOR) -DQSPINAND_CODE=$(QSPINAND) \ |
| -DMMC_CODE=$(MMC) \ |
| -DNOSWAP_DDR=$(NOSWAP_DDR) \ |
| -DNAND_LP=$(NAND_LP) \ |
| -DMMC_SDMA_MODE=$(MMC_SDMA_MODE) \ |
| -DMMC_ADMA_MODE=$(MMC_ADMA_MODE) \ |
| -DBOOTROM=0 -DTRUSTED=$(TRUSTED) -DTB_ERROR_DOWNLOAD=$(TB_ERROR_DOWNLOAD) -DBOARD_DEBUG=$(BOARD_DEBUG) \ |
| -DVERBOSE_MODE=$(VERBOSE_MODE) -DVERBOSE_DEBUG=$(VERBOSE_DEBUG) -DDOWNLOAD_USED=$(DOWNLOAD_USED) \ |
| -DCOPYIMAGESTOFLASH=$(COPYIMAGESTOFLASH) \ |
| -DUSBCI=$(USBCI) -DCI2_USB_DDR_BUF=$(CI2_USB_DDR_BUF) \ |
| -DUSE_SERIAL_DEBUG=$(USE_SERIAL_DEBUG) \ |
| -DEMMD_SUPPORT=$(EMMD_SUPPORT) -DENABLE_MMU=$(ENABLE_MMU)\ |
| -DOBM_USE_DDR_ADDR=$(OBM_USE_DDR_ADDR) \ |
| -DBASE_CLOCK_208MHZ=$(BASE_CLOCK_208MHZ) \ |
| -DUPDATE_USE_GPIO=$(UPDATE_USE_GPIO) \ |
| -DUPDATE_USE_DETECT_USB=$(UPDATE_USE_DETECT_USB) \ |
| -DLZMA_SUPPORT=$(LZMA_SUPPORT) \ |
| -DXZ_SUPPORT=$(XZ_SUPPORT) \ |
| -DUSE_IPPCP_LIB=$(USE_IPPCP_LIB) \ |
| -DUSB_DEVICE_ONLY=$(USB_DEVICE_ONLY) \ |
| -DDTIM_RECOVERY_SUPPORT=$(DTIM_RECOVERY_SUPPORT) \ |
| -DREPORT_DDR_INFO=$(REPORT_DDR_INFO) \ |
| -DBL_USE_GEU_FUSE_PROG=$(BL_USE_GEU_FUSE_PROG) \ |
| -DBL_USE_SECURITY_CALLBACK=$(BL_USE_SECURITY_CALLBACK) \ |
| -DPRODUCT_BUILD=$(PRODUCT_BUILD) \ |
| -DSHRINK_BINARY_SIZE=$(SHRINK_BINARY_SIZE) \ |
| -DCPUART=$(CPUART) \ |
| -DDFOTA=$(DFOTA) \ |
| -DEMULATOR=$(EMULATOR) \ |
| -DFPGA=$(FPGA) \ |
| -DARCH=$(ARCH) \ |
| -DENABLE_ATRB=$(ENABLE_ATRB) \ |
| -DENABLE_BITS_BURN=$(ENABLE_BITS_BURN) \ |
| -DENABLE_SVC_TABLE=$(ENABLE_SVC_TABLE) \ |
| -DCLOSE_JTAG=$(CLOSE_JTAG) \ |
| -DENABLE_RKEK=$(ENABLE_RKEK) \ |
| -DCLOSE_ESCAPE_SEQ=$(CLOSE_ESCAPE_SEQ) \ |
| -DSDFOTA=$(SDFOTA) \ |
| -DCLOSE_ROM_LOG=$(CLOSE_ROM_LOG) \ |
| -DCLOSE_ROM_USB=$(CLOSE_ROM_USB) \ |
| -DENABLE_LIFTCYCLE=$(ENABLE_LIFTCYCLE) \ |
| -DENABLE_HWLOCK=$(ENABLE_HWLOCK) \ |
| -DUPDATER=$(UPDATER) \ |
| -DOUM4DFOTA=$(OUM4DFOTA) \ |
| -DDUAL_TIM=$(DUAL_TIM) \ |
| -DLAPW=$(LAPW) \ |
| -DNZAC=$(NZAC) \ |
| -DFLCN=$(FLCN) \ |
| -DKAGU=$(KAGU) \ |
| -DFACT=$(FACT) \ |
| -DKSTRZ=$(KSTRZ) \ |
| -DPMIC_PWRDN=$(PMIC_PWRDN) \ |
| -DMEM_TEST=$(MEM_TEST) \ |
| -DEXT_BLF_INSTR=$(EXT_BLF_INSTR) \ |
| -DIMG_RBC=$(IMG_RBC) \ |
| -DSPI_LCD=$(SPI_LCD) \ |
| -DCP_BOOT=$(CP_BOOT) \ |
| -DXZDEC_SUPPORT=$(XZDEC_SUPPORT) \ |
| -DBURN_DTIM_LAST=$(BURN_DTIM_LAST) \ |
| -DSECURE_DOWNLOAD=$(SECURE_DOWNLOAD) \ |
| -DMBTK_AUTO_DL=$(MBTK_AUTO_DL) |
| |
| #linux unique |
| ifeq "$(CP_BOOT)" "1" |
| CPU = cortex-r5 |
| else |
| CPU = cortex-a7 |
| endif |
| OBM_USE_DDR_ADDR = 0x00000000 |
| |
| CONFIG_USE_GLIBC=$(shell sed 's/^CONFIG_USE_GLIBC=//;t;d' $(TOPDIR)/../../.config) |
| |
| CFLAGS += -DLINUX_BUILD=1 -g -O2 -fomit-frame-pointer -fasm -nostdinc -ffreestanding -mcpu=$(CPU) |
| |
| ifeq "$(ARM_MODE)" "1" |
| CFLAGS += -mapcs-frame -gstrict-dwarf |
| else |
| CFLAGS += -mthumb -mthumb-interwork |
| endif |
| |
| ifeq "$(CP_BOOT)" "1" |
| CFLAGS += -mfloat-abi=soft |
| else |
| ifeq ($(CONFIG_USE_GLIBC),y) |
| CFLAGS += -mfloat-abi=hard -mfpu=neon |
| else |
| CFLAGS += -mfloat-abi=soft |
| endif |
| endif |
| |
| #This is for bzlib used by bsdiff(bspatch) |
| CFLAGS += -DBZ_NO_STDIO |
| |
| #create section for each funcion and symbol |
| CFLAGS += -ffunction-sections -fdata-sections |
| |
| AFLAGS = -g -mcpu=$(CPU) -mapcs-stack-check -defsym BOOTROM=0 -defsym GCC=1 -defsym $(PLATFORM)=1 |
| |
| ifneq "$(CP_BOOT)" "1" |
| AFLAGS += -mfpu=neon |
| endif |
| |
| LFLAGS = -e __main -nostdlib -b elf32-littlearm -defsym DDRADDRESS=$(OBM_USE_DDR_ADDR) |
| #Remove the useless sections to save memory, co-work with '-ffunction-sections -fdata-sections' |
| LFLAGS += -gc-sections |
| |
| XZ_CFLAGS = -DHAVE_SMALL=1 -DNDEBUG -DRESQUASH_BUF_SIZE=0x2000000 -DRESQUASH_NO_MAIN |
| #define _POSIX_C_SOURCE to get sigset_t definition in musl |
| XZ_CFLAGS += -D_POSIX_C_SOURCE=200809L |
| |
| ##################################### |
| # include directories |
| ##################################### |
| INCLUDE_DIRS = \ |
| -I $(TOPDIR)/Common/Include \ |
| -I $(TOPDIR)/Common/Platforms/$(PLATFORM) \ |
| -I $(TOPDIR)/Common/Platforms/$(PLATFORM)/Include \ |
| -I $(TOPDIR)/Common/Download \ |
| -I $(TOPDIR)/Common/Download/$(USB_DIR) \ |
| -I $(TOPDIR)/Common/DMA \ |
| -I $(TOPDIR)/Common/Flash \ |
| -I $(TOPDIR)/Common/Flash/NAND \ |
| -I $(TOPDIR)/Common/Flash/SPI/$(PLATFORM) \ |
| -I $(TOPDIR)/Common/Flash/QSPI \ |
| -I $(TOPDIR)/Common/Flash/SDMMC \ |
| -I $(TOPDIR)/Common/Flash/SDMMC/SDHC2 \ |
| -I $(TOPDIR)/Common/Misc \ |
| -I $(TOPDIR)/Common/SDRam \ |
| -I $(TOPDIR)/Loader/SecureBoot/SecurityCallBack \ |
| -I $(TOPDIR)/Common/SecureBoot \ |
| -I $(TOPDIR)/Common/SecureBoot/GEU \ |
| -I $(TOPDIR)/Common/SecureBoot/GEU/$(PLATFORM) \ |
| -I $(TOPDIR)/Common/SecureBoot/FuseBlock \ |
| -I $(TOPDIR)/Common/SecureBoot/cryptlib \ |
| -I $(TOPDIR)/Loader/SecureBoot/SecurityCallBack \ |
| -I $(TOPDIR)/Loader/SecureBoot/WTM3_MBOX \ |
| -I $(TOPDIR)/Loader/StartUp \ |
| -I $(TOPDIR)/Common/Tim \ |
| -I $(TOPDIR)/Loader/Main \ |
| -I $(TOPDIR)/Loader/Platforms/$(PLATFORM) \ |
| -I $(TOPDIR)/Common/I2C \ |
| -I $(TOPDIR)/Common/DMA \ |
| -I $(TOPDIR)/Common/DFota \ |
| -I $(TOPDIR)/Common/LCD \ |
| -I $(TOPDIR)/Common/ARCH/$(ARCH) \ |
| -I $(TOPDIR)/Common/XZDEC/include \ |
| -I $(TOPDIR)/../../mbtk/include/mbtk |
| |
| XZ_INC_DIRS = \ |
| -I $(TOPDIR)/Common/XZ \ |
| -I $(TOPDIR)/Common/XZ/liblzma \ |
| -I $(TOPDIR)/Common/XZ/liblzma/api \ |
| -I $(TOPDIR)/Common/XZ/liblzma/check \ |
| -I $(TOPDIR)/Common/XZ/liblzma/common \ |
| -I $(TOPDIR)/Common/XZ/liblzma/delta \ |
| -I $(TOPDIR)/Common/XZ/liblzma/lz \ |
| -I $(TOPDIR)/Common/XZ/liblzma/lzma \ |
| -I $(TOPDIR)/Common/XZ/liblzma/rangecoder \ |
| -I $(TOPDIR)/Common/XZ/liblzma/simple \ |
| |
| ############################################################## |
| # Pull in the platform specific information |
| # This includes object definitions and overrides |
| ############################################################## |
| |
| ifeq "$(RELEASE)" "1" |
| OUTDIR = $(TOPDIR)/Loader/Platforms/$(PLATFORM)/release |
| else |
| OUTDIR = $(TOPDIR)/Loader/Platforms/$(PLATFORM)/debug |
| endif |
| |
| include $(TOPDIR)/Loader/Platforms/$(PLATFORM)/bl_platform_linux.mak |
| |
| ifeq "$(ARM_MODE)" "1" |
| InstructionType = ARM |
| else |
| InstructionType = THUMB |
| endif |
| |
| ifeq "$(ENGINEERING_BUILD)" "1" |
| BUILD_TYPE=_EB_JO |
| endif |
| |
| ifeq "$(PRODUCT_BUILD)" "1" |
| ifeq "$(CLOSE_JTAG)" "1" |
| BUILD_TYPE=_PB |
| else |
| BUILD_TYPE=_PB_JO |
| endif |
| endif |
| |
| ifeq "$(ENABLE_TRUSTZONE)" "1" |
| TZ_STATUS=_TZ |
| else |
| TZ_STATUS=_NTZ |
| endif |
| |
| AFLAGS += $(PLATFORMASMFLAGS) |
| CFLAGS += $(PLATFORMCFLAGS) $(BOARDDEF) -D$(PROFILE)=1 |
| ifeq ($(CONFIG_AB_SYSTEM),y) |
| CFLAGS += -DCONFIG_AB_SYSTEM |
| endif |
| ifeq ($(CONFIG_TEE_OS),y) |
| CFLAGS += -DCONFIG_TEE_OS |
| AFLAGS += -defsym CONFIG_TEE_OS=1 |
| endif |
| ifeq ($(CONFIG_ASR_SDTIM),y) |
| CFLAGS += -DCONFIG_ASR_SDTIM |
| endif |
| ifeq ($(CONFIG_UART_921600),y) |
| CFLAGS += -DCONFIG_UART_921600 |
| endif |
| LFLAGS += $(LIBS) |
| LFLAGS += $(LDCMD) |
| |
| ################################# |
| # Build Process |
| ################################# |
| # ensure the output directories exist |
| junk :=$(shell mkdir -p -v $(OUTDIR)) |
| junk :=$(shell mkdir -p -v "$(OUTDIR)/$(BOARD)") |
| |
| ## Call perl script to make sure assembly files are in GNU format ## |
| #junk :=$(shell perl makegnuassembly.pl ../) |
| #junk :=$(shell perl makegnuassembly.pl ../Platforms/$(PLATFORM)) |
| #junk :=$(shell perl makegnuassembly.pl ../Platforms) |
| #junk :=$(shell perl makegnuassembly.pl ../../Common/Platforms/$(PLATFORM)) |
| #junk :=$(shell perl makegnuassembly.pl ../../Common/Include) |
| ## Create OBJECTS list (changes foo.o to ../Platforms/XXX/Release/foo.o) |
| OBJECTS = $(patsubst %.o, $(OUTDIR)/%.o, $(OBJS)) |
| |
| LOADER = $(OUTDIR)/$(BOARD)/$(PLATFORM)_$(ToolChain)_ARM_$(LOADERVERSION) |
| ################################################## |
| # Implicit Rules |
| ################################################## |
| .SUFFIXES: .c .S |
| %.o : $(TOPDIR)/Common/DMA/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/Download/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/Download/$(USB_DIR)/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/Flash/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/Flash/DFC/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/Flash/NAND/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/Flash/SDMMC/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/Flash/SDMMC/SDHC2/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/Flash/SPI/$(PLATFORM)/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/Flash/QSPI/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/Flash/XIP/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/I2C/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/DMA/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Loader/Main/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/Misc/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/DFota/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/Platforms/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/Platforms/$(PLATFORM)/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Loader/Platforms/$(PLATFORM)/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Loader/Platforms/$(PLATFORM)/%.S ; $(AS) $(INCLUDE_DIRS) $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/ARCH/$(ARCH)/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/ARCH/$(ARCH)/%.S ; $(AS) $(INCLUDE_DIRS) $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/SDRam/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/SecureBoot/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/SecureBoot/GEU/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/SecureBoot/GEU/$(PLATFORM)/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/SecureBoot/cryptlib/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/Tim/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/XZ/%.c ; $(filter-out -nostdinc,$(CC)) -std=c99 $(INCLUDE_DIRS) $(XZ_INC_DIRS) $(XZ_CFLAGS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/XZDEC/%.c ; $(filter-out -nostdinc,$(CC)) -std=c99 $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Loader/SecureBoot/SecurityCallBack/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Loader/SecureBoot/WTM3_MBOX/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Updater/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Updater/%.S ; $(AS) $(INCLUDE_DIRS) $< -o "$(OUTDIR)/$@" |
| %.o : $(TOPDIR)/Common/LCD/%.c ; $(CC) $(INCLUDE_DIRS) -c $< -o "$(OUTDIR)/$@" |
| |
| ####################################################### |
| # Build Process... FINALLY! |
| ####################################################### |
| "$(LOADER).bin" : $(OBJS) |
| @echo assembly/compile done. linking. |
| @$(LD) -o "$(LOADER)-elf32" $(OBJECTS) $(LFLAGS) -Map "$(LOADER).map" |
| @echo linking done. strip. |
| @$(STRIP) "$(LOADER)-elf32" -o "$(LOADER)-elf32-stripped" |
| @echo strip done. objcopy. |
| @$(OBJCOPY) "$(LOADER)-elf32-stripped" "$(LOADER).bin" |
| @echo Build Successful! |
| |
| clean: |
| @-rm -f $(OUTDIR)/*.o "$(LOADER).bin" "$(LOADER)-elf32" "$(LOADER)-elf32-stripped" "$(LOADER).map" |