xref: /openbmc/u-boot/config.mk (revision 430c166b)
183d290c5STom Rini# SPDX-License-Identifier: GPL-2.0+
2e2211743Swdenk#
3eca3aeb3SWolfgang Denk# (C) Copyright 2000-2013
4e2211743Swdenk# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
5e2211743Swdenk#########################################################################
6e2211743Swdenk
7026f9cf2SMasahiro Yamada# This file is included from ./Makefile and spl/Makefile.
8026f9cf2SMasahiro Yamada# Clean the state to avoid the same flags added twice.
9026f9cf2SMasahiro Yamada#
10026f9cf2SMasahiro Yamada# (Tegra needs different flags for SPL.
11026f9cf2SMasahiro Yamada#  That's the reason why this file must be included from spl/Makefile too.
12026f9cf2SMasahiro Yamada#  If we did not have Tegra SoCs, build system would be much simpler...)
13026f9cf2SMasahiro YamadaPLATFORM_RELFLAGS :=
14026f9cf2SMasahiro YamadaPLATFORM_CPPFLAGS :=
15026f9cf2SMasahiro YamadaPLATFORM_LDFLAGS :=
16026f9cf2SMasahiro YamadaLDFLAGS :=
17026f9cf2SMasahiro YamadaLDFLAGS_FINAL :=
18*1d3b97c9SDaniel SchwierzeckLDFLAGS_STANDALONE :=
19026f9cf2SMasahiro YamadaOBJCOPYFLAGS :=
205b3ee386SMasahiro Yamada# clear VENDOR for tcsh
215b3ee386SMasahiro YamadaVENDOR :=
22e2211743Swdenk#########################################################################
23c4e5f52aSWolfgang Denk
2451148790SMasahiro YamadaARCH := $(CONFIG_SYS_ARCH:"%"=%)
2551148790SMasahiro YamadaCPU := $(CONFIG_SYS_CPU:"%"=%)
26e02ee254SMasahiro Yamadaifdef CONFIG_SPL_BUILD
27e02ee254SMasahiro Yamadaifdef CONFIG_TEGRA
28e02ee254SMasahiro YamadaCPU := arm720t
29e02ee254SMasahiro Yamadaendif
30e02ee254SMasahiro Yamadaendif
3151148790SMasahiro YamadaBOARD := $(CONFIG_SYS_BOARD:"%"=%)
3251148790SMasahiro Yamadaifneq ($(CONFIG_SYS_VENDOR),)
3351148790SMasahiro YamadaVENDOR := $(CONFIG_SYS_VENDOR:"%"=%)
3451148790SMasahiro Yamadaendif
3551148790SMasahiro Yamadaifneq ($(CONFIG_SYS_SOC),)
3651148790SMasahiro YamadaSOC := $(CONFIG_SYS_SOC:"%"=%)
3751148790SMasahiro Yamadaendif
3851148790SMasahiro Yamada
3903b7004dSPeter Tyser# Some architecture config.mk files need to know what CPUDIR is set to,
4003b7004dSPeter Tyser# so calculate CPUDIR before including ARCH/SOC/CPU config.mk files.
418d1f2682SPeter Tyser# Check if arch/$ARCH/cpu/$CPU exists, otherwise assume arch/$ARCH/cpu contains
428d1f2682SPeter Tyser# CPU-specific code.
43a8b0f9b6SMasahiro YamadaCPUDIR=arch/$(ARCH)/cpu$(if $(CPU),/$(CPU),)
4403b7004dSPeter Tyser
454379ac61SMasahiro Yamadasinclude $(srctree)/arch/$(ARCH)/config.mk	# include architecture dependend rules
464379ac61SMasahiro Yamadasinclude $(srctree)/$(CPUDIR)/config.mk		# include  CPU	specific rules
4703b7004dSPeter Tyser
48c4e5f52aSWolfgang Denkifdef	SOC
494379ac61SMasahiro Yamadasinclude $(srctree)/$(CPUDIR)/$(SOC)/config.mk	# include  SoC	specific rules
50c4e5f52aSWolfgang Denkendif
5133a02da0SMasahiro Yamadaifneq ($(BOARD),)
52c4e5f52aSWolfgang Denkifdef	VENDOR
53c4e5f52aSWolfgang DenkBOARDDIR = $(VENDOR)/$(BOARD)
54c4e5f52aSWolfgang Denkelse
55c4e5f52aSWolfgang DenkBOARDDIR = $(BOARD)
56c4e5f52aSWolfgang Denkendif
5733a02da0SMasahiro Yamadaendif
58c4e5f52aSWolfgang Denkifdef	BOARD
594379ac61SMasahiro Yamadasinclude $(srctree)/board/$(BOARDDIR)/config.mk	# include board specific rules
60c4e5f52aSWolfgang Denkendif
61c4e5f52aSWolfgang Denk
62b8450521SSimon Glassifdef FTRACE
63b8450521SSimon GlassPLATFORM_CPPFLAGS += -finstrument-functions -DFTRACE
64b8450521SSimon Glassendif
65b8450521SSimon Glass
66c4e5f52aSWolfgang Denk#########################################################################
67c4e5f52aSWolfgang Denk
68026f9cf2SMasahiro YamadaRELFLAGS := $(PLATFORM_RELFLAGS)
6983b7e2a7SScott Wood
70026f9cf2SMasahiro YamadaPLATFORM_CPPFLAGS += $(RELFLAGS)
71026f9cf2SMasahiro YamadaPLATFORM_CPPFLAGS += -pipe
724a30f1e8STom Rini
738aba9dceSNobuhiro IwamatsuLDFLAGS += $(PLATFORM_LDFLAGS)
746dc1ecebSHaiying WangLDFLAGS_FINAL += -Bstatic
75026f9cf2SMasahiro Yamada
76026f9cf2SMasahiro Yamadaexport PLATFORM_CPPFLAGS
77026f9cf2SMasahiro Yamadaexport RELFLAGS
78026f9cf2SMasahiro Yamadaexport LDFLAGS_FINAL
79*1d3b97c9SDaniel Schwierzeckexport LDFLAGS_STANDALONE
80026f9cf2SMasahiro Yamadaexport CONFIG_STANDALONE_LOAD_ADDR
81