blob: caf0dd9b81829bc166b0b88719c977ad2acfce7b [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001# SPDX-License-Identifier: GPL-2.0+
wdenke2211742002-11-02 23:30:20 +00002#
Wolfgang Denkeca3aeb2013-06-21 10:22:36 +02003# (C) Copyright 2000-2013
wdenke2211742002-11-02 23:30:20 +00004# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
wdenke2211742002-11-02 23:30:20 +00005#########################################################################
6
Masahiro Yamada026f9cf2014-03-05 16:59:40 +09007# This file is included from ./Makefile and spl/Makefile.
8# Clean the state to avoid the same flags added twice.
9#
10# (Tegra needs different flags for SPL.
11# That's the reason why this file must be included from spl/Makefile too.
12# If we did not have Tegra SoCs, build system would be much simpler...)
13PLATFORM_RELFLAGS :=
14PLATFORM_CPPFLAGS :=
15PLATFORM_LDFLAGS :=
16LDFLAGS :=
17LDFLAGS_FINAL :=
Daniel Schwierzeck1d3b97c2018-09-23 19:15:15 +020018LDFLAGS_STANDALONE :=
Masahiro Yamada026f9cf2014-03-05 16:59:40 +090019OBJCOPYFLAGS :=
Masahiro Yamada5b3ee382014-10-21 13:18:32 +090020# clear VENDOR for tcsh
21VENDOR :=
wdenke2211742002-11-02 23:30:20 +000022#########################################################################
Wolfgang Denkc4e5f522008-05-03 22:25:00 +020023
Masahiro Yamada51148792014-07-30 14:08:17 +090024ARCH := $(CONFIG_SYS_ARCH:"%"=%)
25CPU := $(CONFIG_SYS_CPU:"%"=%)
Masahiro Yamadae02ee252015-02-24 22:26:20 +090026ifdef CONFIG_SPL_BUILD
27ifdef CONFIG_TEGRA
28CPU := arm720t
29endif
30endif
Masahiro Yamada51148792014-07-30 14:08:17 +090031BOARD := $(CONFIG_SYS_BOARD:"%"=%)
32ifneq ($(CONFIG_SYS_VENDOR),)
33VENDOR := $(CONFIG_SYS_VENDOR:"%"=%)
34endif
35ifneq ($(CONFIG_SYS_SOC),)
36SOC := $(CONFIG_SYS_SOC:"%"=%)
37endif
38
Peter Tyser03b70042010-04-12 22:28:02 -050039# Some architecture config.mk files need to know what CPUDIR is set to,
40# so calculate CPUDIR before including ARCH/SOC/CPU config.mk files.
Peter Tyser8d1f2682010-04-12 22:28:09 -050041# Check if arch/$ARCH/cpu/$CPU exists, otherwise assume arch/$ARCH/cpu contains
42# CPU-specific code.
Masahiro Yamadaa8b0f9b2014-06-24 22:10:52 +090043CPUDIR=arch/$(ARCH)/cpu$(if $(CPU),/$(CPU),)
Peter Tyser03b70042010-04-12 22:28:02 -050044
Masahiro Yamada4379ac62014-03-11 11:05:19 +090045sinclude $(srctree)/arch/$(ARCH)/config.mk # include architecture dependend rules
46sinclude $(srctree)/$(CPUDIR)/config.mk # include CPU specific rules
Peter Tyser03b70042010-04-12 22:28:02 -050047
Wolfgang Denkc4e5f522008-05-03 22:25:00 +020048ifdef SOC
Masahiro Yamada4379ac62014-03-11 11:05:19 +090049sinclude $(srctree)/$(CPUDIR)/$(SOC)/config.mk # include SoC specific rules
Wolfgang Denkc4e5f522008-05-03 22:25:00 +020050endif
Masahiro Yamada33a02da2014-03-03 19:03:17 +090051ifneq ($(BOARD),)
Wolfgang Denkc4e5f522008-05-03 22:25:00 +020052ifdef VENDOR
53BOARDDIR = $(VENDOR)/$(BOARD)
54else
55BOARDDIR = $(BOARD)
56endif
Masahiro Yamada33a02da2014-03-03 19:03:17 +090057endif
Wolfgang Denkc4e5f522008-05-03 22:25:00 +020058ifdef BOARD
Masahiro Yamada4379ac62014-03-11 11:05:19 +090059sinclude $(srctree)/board/$(BOARDDIR)/config.mk # include board specific rules
Wolfgang Denkc4e5f522008-05-03 22:25:00 +020060endif
61
Simon Glassb8450522014-09-14 12:40:14 -060062ifdef FTRACE
63PLATFORM_CPPFLAGS += -finstrument-functions -DFTRACE
64endif
65
Wolfgang Denkc4e5f522008-05-03 22:25:00 +020066#########################################################################
67
Masahiro Yamada026f9cf2014-03-05 16:59:40 +090068RELFLAGS := $(PLATFORM_RELFLAGS)
Scott Wood83b7e2a2011-04-06 13:31:37 +000069
Masahiro Yamada026f9cf2014-03-05 16:59:40 +090070PLATFORM_CPPFLAGS += $(RELFLAGS)
71PLATFORM_CPPFLAGS += -pipe
Tom Rini4a30f1e2012-02-20 13:50:10 +000072
Nobuhiro Iwamatsu8aba9dc2011-01-06 10:23:54 +090073LDFLAGS += $(PLATFORM_LDFLAGS)
Haiying Wang6dc1eceb2011-02-22 16:38:05 -050074LDFLAGS_FINAL += -Bstatic
Masahiro Yamada026f9cf2014-03-05 16:59:40 +090075
76export PLATFORM_CPPFLAGS
77export RELFLAGS
78export LDFLAGS_FINAL
Daniel Schwierzeck1d3b97c2018-09-23 19:15:15 +020079export LDFLAGS_STANDALONE
Masahiro Yamada026f9cf2014-03-05 16:59:40 +090080export CONFIG_STANDALONE_LOAD_ADDR