1e2211743Swdenk# 2eca3aeb3SWolfgang Denk# (C) Copyright 2000-2013 3e2211743Swdenk# Wolfgang Denk, DENX Software Engineering, wd@denx.de. 4e2211743Swdenk# 5eca3aeb3SWolfgang Denk# SPDX-License-Identifier: GPL-2.0+ 6e2211743Swdenk# 7e2211743Swdenk######################################################################### 8e2211743Swdenk 9026f9cf2SMasahiro Yamada# This file is included from ./Makefile and spl/Makefile. 10026f9cf2SMasahiro Yamada# Clean the state to avoid the same flags added twice. 11026f9cf2SMasahiro Yamada# 12026f9cf2SMasahiro Yamada# (Tegra needs different flags for SPL. 13026f9cf2SMasahiro Yamada# That's the reason why this file must be included from spl/Makefile too. 14026f9cf2SMasahiro Yamada# If we did not have Tegra SoCs, build system would be much simpler...) 15026f9cf2SMasahiro YamadaPLATFORM_RELFLAGS := 16026f9cf2SMasahiro YamadaPLATFORM_CPPFLAGS := 17026f9cf2SMasahiro YamadaPLATFORM_LDFLAGS := 18026f9cf2SMasahiro YamadaLDFLAGS := 19026f9cf2SMasahiro YamadaLDFLAGS_FINAL := 20026f9cf2SMasahiro YamadaOBJCOPYFLAGS := 21e2211743Swdenk######################################################################### 22c4e5f52aSWolfgang Denk 2351148790SMasahiro YamadaARCH := $(CONFIG_SYS_ARCH:"%"=%) 2451148790SMasahiro YamadaCPU := $(CONFIG_SYS_CPU:"%"=%) 2551148790SMasahiro YamadaBOARD := $(CONFIG_SYS_BOARD:"%"=%) 2651148790SMasahiro Yamadaifneq ($(CONFIG_SYS_VENDOR),) 2751148790SMasahiro YamadaVENDOR := $(CONFIG_SYS_VENDOR:"%"=%) 2851148790SMasahiro Yamadaendif 2951148790SMasahiro Yamadaifneq ($(CONFIG_SYS_SOC),) 3051148790SMasahiro YamadaSOC := $(CONFIG_SYS_SOC:"%"=%) 3151148790SMasahiro Yamadaendif 3251148790SMasahiro Yamada 3303b7004dSPeter Tyser# Some architecture config.mk files need to know what CPUDIR is set to, 3403b7004dSPeter Tyser# so calculate CPUDIR before including ARCH/SOC/CPU config.mk files. 358d1f2682SPeter Tyser# Check if arch/$ARCH/cpu/$CPU exists, otherwise assume arch/$ARCH/cpu contains 368d1f2682SPeter Tyser# CPU-specific code. 37a8b0f9b6SMasahiro YamadaCPUDIR=arch/$(ARCH)/cpu$(if $(CPU),/$(CPU),) 3803b7004dSPeter Tyser 394379ac61SMasahiro Yamadasinclude $(srctree)/arch/$(ARCH)/config.mk # include architecture dependend rules 404379ac61SMasahiro Yamadasinclude $(srctree)/$(CPUDIR)/config.mk # include CPU specific rules 4103b7004dSPeter Tyser 42c4e5f52aSWolfgang Denkifdef SOC 434379ac61SMasahiro Yamadasinclude $(srctree)/$(CPUDIR)/$(SOC)/config.mk # include SoC specific rules 44c4e5f52aSWolfgang Denkendif 4533a02da0SMasahiro Yamadaifneq ($(BOARD),) 46c4e5f52aSWolfgang Denkifdef VENDOR 47c4e5f52aSWolfgang DenkBOARDDIR = $(VENDOR)/$(BOARD) 48c4e5f52aSWolfgang Denkelse 49c4e5f52aSWolfgang DenkBOARDDIR = $(BOARD) 50c4e5f52aSWolfgang Denkendif 5133a02da0SMasahiro Yamadaendif 52c4e5f52aSWolfgang Denkifdef BOARD 534379ac61SMasahiro Yamadasinclude $(srctree)/board/$(BOARDDIR)/config.mk # include board specific rules 54c4e5f52aSWolfgang Denkendif 55c4e5f52aSWolfgang Denk 56*b8450521SSimon Glassifdef FTRACE 57*b8450521SSimon GlassPLATFORM_CPPFLAGS += -finstrument-functions -DFTRACE 58*b8450521SSimon Glassendif 59*b8450521SSimon Glass 60c4e5f52aSWolfgang Denk######################################################################### 61c4e5f52aSWolfgang Denk 62026f9cf2SMasahiro YamadaRELFLAGS := $(PLATFORM_RELFLAGS) 6383b7e2a7SScott Wood 6495ddcd68SMasahiro YamadaOBJCOPYFLAGS += --gap-fill=0xff 65e2211743Swdenk 66026f9cf2SMasahiro YamadaPLATFORM_CPPFLAGS += $(RELFLAGS) 67026f9cf2SMasahiro YamadaPLATFORM_CPPFLAGS += -pipe 684a30f1e8STom Rini 698aba9dceSNobuhiro IwamatsuLDFLAGS += $(PLATFORM_LDFLAGS) 706dc1ecebSHaiying WangLDFLAGS_FINAL += -Bstatic 71026f9cf2SMasahiro Yamada 72026f9cf2SMasahiro Yamadaexport PLATFORM_CPPFLAGS 73026f9cf2SMasahiro Yamadaexport RELFLAGS 74026f9cf2SMasahiro Yamadaexport LDFLAGS_FINAL 75026f9cf2SMasahiro Yamadaexport CONFIG_STANDALONE_LOAD_ADDR 76