xref: /rk3399_ARM-atf/tools/renesas/rzg_layout_create/makefile (revision e068a7ca860f35a171f608d55fb8a2a00ebd7561)
16369498cSBiju Das#
26369498cSBiju Das# Copyright (c) 2020, Renesas Electronics Corporation. All rights reserved.
36369498cSBiju Das#
46369498cSBiju Das# SPDX-License-Identifier: BSD-3-Clause
56369498cSBiju Das#
66369498cSBiju Das
76369498cSBiju Das###################################################
86369498cSBiju Das# makefile
96369498cSBiju Das###################################################
106369498cSBiju Das
116369498cSBiju Das#output file name
126369498cSBiju DasFILE_NAME_SA0 = bootparam_sa0
136369498cSBiju DasFILE_NAME_SA6 = cert_header_sa6
146369498cSBiju Das
156369498cSBiju DasOUTPUT_FILE_SA0 = $(FILE_NAME_SA0).elf
166369498cSBiju DasOUTPUT_FILE_SA6 = $(FILE_NAME_SA6).elf
176369498cSBiju Das
186369498cSBiju Das#object file name
196369498cSBiju DasOBJ_FILE_SA0 = sa0.o
206369498cSBiju DasOBJ_FILE_SA6 = sa6.o
216369498cSBiju Das
226369498cSBiju Das#linker script name
236369498cSBiju DasMEMORY_DEF_SA0 = sa0.ld.S
246369498cSBiju DasMEMORY_DEF_SA6 = sa6.ld.S
256369498cSBiju Das
266369498cSBiju Das###################################################
276369498cSBiju Das# Convenience function for adding build definitions
286369498cSBiju Das# $(eval $(call add_define,FOO)) will have:
296369498cSBiju Das# -DFOO if $(FOO) is empty; -DFOO=$(FOO) otherwise
306369498cSBiju Dasdefine add_define
316369498cSBiju DasDEFINES += -D$(1)$(if $(value $(1)),=$(value $(1)),)
326369498cSBiju Dasendef
336369498cSBiju Das
346369498cSBiju Das# Process RCAR_SA0_SIZE flag
356369498cSBiju Dasifndef RCAR_SA0_SIZE
366369498cSBiju DasRCAR_SA0_SIZE := 1
376369498cSBiju Daselse
386369498cSBiju Dasifeq (${RCAR_SA0_SIZE},0)
396369498cSBiju DasRCAR_SA0_SIZE := 0
406369498cSBiju Daselse
416369498cSBiju DasRCAR_SA0_SIZE := 1
426369498cSBiju Dasendif
436369498cSBiju Dasendif
446369498cSBiju Das$(eval $(call add_define,RCAR_SA0_SIZE))
456369498cSBiju Das
466369498cSBiju Das# Process RCAR_SA6_TYPE flag
476369498cSBiju Dasifndef RCAR_SA6_TYPE
486369498cSBiju DasRCAR_SA6_TYPE := 0
496369498cSBiju Daselse
506369498cSBiju Dasifeq (${RCAR_SA6_TYPE},0)
516369498cSBiju DasRCAR_SA6_TYPE := 0
526369498cSBiju Daselse
536369498cSBiju DasRCAR_SA6_TYPE := 1
546369498cSBiju Dasendif
556369498cSBiju Dasendif
566369498cSBiju Das$(eval $(call add_define,RCAR_SA6_TYPE))
576369498cSBiju Das
586369498cSBiju DasRCAR_VMA_ADJUST_ADDR := 0xE6320000
596369498cSBiju Das$(eval $(call add_define,RCAR_VMA_ADJUST_ADDR))
606369498cSBiju Das
616369498cSBiju Das
626369498cSBiju Das###################################################
636369498cSBiju Das
646369498cSBiju Das#c compiler
656369498cSBiju DasCC = $(CROSS_COMPILE)gcc
666369498cSBiju DasCFLAGS += ${DEFINES}
676369498cSBiju DasCFLAGS += -nostdinc \
686369498cSBiju Das	  -I../../../include/lib/libc \
696369498cSBiju Das	  -I../../../include/lib/libc/aarch64
706369498cSBiju Das
716369498cSBiju Das#Linker
726369498cSBiju DasLD = $(CROSS_COMPILE)ld
736369498cSBiju Das
746369498cSBiju Das#objcopy
756369498cSBiju Dasobjcopy = $(CROSS_COMPILE)objcopy
766369498cSBiju Das
776369498cSBiju Das#clean
786369498cSBiju DasCL = rm -f
796369498cSBiju Das
806369498cSBiju Das###################################################
816369498cSBiju Das.SUFFIXES : .s .c .o
826369498cSBiju Das
836369498cSBiju Das###################################################
846369498cSBiju Das# command
856369498cSBiju Das
866369498cSBiju Das.PHONY: all
876369498cSBiju Dasall: $(OUTPUT_FILE_SA0) $(OUTPUT_FILE_SA6)
886369498cSBiju Das###################################################
896369498cSBiju Das# Linker
906369498cSBiju Das###################################################
916369498cSBiju Das$(OUTPUT_FILE_SA0) : $(MEMORY_DEF_SA0) $(OBJ_FILE_SA0)
926369498cSBiju Das	$(LD) $(OBJ_FILE_SA0)		 	\
936369498cSBiju Das	-T $(MEMORY_DEF_SA0)			\
946369498cSBiju Das	-o $(OUTPUT_FILE_SA0)			\
956369498cSBiju Das	-Map $(FILE_NAME_SA0).map 		\
966369498cSBiju Das
976369498cSBiju Das	$(objcopy) -O srec --adjust-vma=$(RCAR_VMA_ADJUST_ADDR) --srec-forceS3  $(OUTPUT_FILE_SA0) $(FILE_NAME_SA0).srec
986369498cSBiju Das	$(objcopy) -O binary --adjust-vma=$(RCAR_VMA_ADJUST_ADDR) --srec-forceS3  $(OUTPUT_FILE_SA0) $(FILE_NAME_SA0).bin
996369498cSBiju Das
1006369498cSBiju Das$(OUTPUT_FILE_SA6) : $(MEMORY_DEF_SA6) $(OBJ_FILE_SA6)
1016369498cSBiju Das	$(LD) $(OBJ_FILE_SA6)		 	\
1026369498cSBiju Das	-T $(MEMORY_DEF_SA6)			\
1036369498cSBiju Das	-o $(OUTPUT_FILE_SA6)			\
1046369498cSBiju Das	-Map $(FILE_NAME_SA6).map 		\
1056369498cSBiju Das
1066369498cSBiju Das	$(objcopy) -O srec --adjust-vma=$(RCAR_VMA_ADJUST_ADDR) --srec-forceS3  $(OUTPUT_FILE_SA6) $(FILE_NAME_SA6).srec
1076369498cSBiju Das	$(objcopy) -O binary --adjust-vma=$(RCAR_VMA_ADJUST_ADDR) --srec-forceS3  $(OUTPUT_FILE_SA6) $(FILE_NAME_SA6).bin
1086369498cSBiju Das
1096369498cSBiju Das###################################################
1106369498cSBiju Das# Compile
1116369498cSBiju Das###################################################
1126369498cSBiju Das
113*e068a7caSChris Kay%.o: %.c
114*e068a7caSChris Kay	$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
1156369498cSBiju Das
1166369498cSBiju Das.PHONY: clean
1176369498cSBiju Dasclean:
1186369498cSBiju Das	$(CL)  *.bin *.map *.srec *.elf *.o
119