1# 2# (C) Copyright 2000-2013 3# Wolfgang Denk, DENX Software Engineering, wd@denx.de. 4# 5# SPDX-License-Identifier: GPL-2.0+ 6# 7######################################################################### 8 9# This file is included from ./Makefile and spl/Makefile. 10# Clean the state to avoid the same flags added twice. 11# 12# (Tegra needs different flags for SPL. 13# That's the reason why this file must be included from spl/Makefile too. 14# If we did not have Tegra SoCs, build system would be much simpler...) 15PLATFORM_RELFLAGS := 16PLATFORM_CPPFLAGS := 17PLATFORM_LDFLAGS := 18LDFLAGS := 19LDFLAGS_FINAL := 20OBJCOPYFLAGS := 21# clear VENDOR for tcsh 22VENDOR := 23######################################################################### 24 25ARCH := $(CONFIG_SYS_ARCH:"%"=%) 26CPU := $(CONFIG_SYS_CPU:"%"=%) 27BOARD := $(CONFIG_SYS_BOARD:"%"=%) 28ifneq ($(CONFIG_SYS_VENDOR),) 29VENDOR := $(CONFIG_SYS_VENDOR:"%"=%) 30endif 31ifneq ($(CONFIG_SYS_SOC),) 32SOC := $(CONFIG_SYS_SOC:"%"=%) 33endif 34 35# Some architecture config.mk files need to know what CPUDIR is set to, 36# so calculate CPUDIR before including ARCH/SOC/CPU config.mk files. 37# Check if arch/$ARCH/cpu/$CPU exists, otherwise assume arch/$ARCH/cpu contains 38# CPU-specific code. 39CPUDIR=arch/$(ARCH)/cpu$(if $(CPU),/$(CPU),) 40 41sinclude $(srctree)/arch/$(ARCH)/config.mk # include architecture dependend rules 42sinclude $(srctree)/$(CPUDIR)/config.mk # include CPU specific rules 43 44ifdef SOC 45sinclude $(srctree)/$(CPUDIR)/$(SOC)/config.mk # include SoC specific rules 46endif 47ifneq ($(BOARD),) 48ifdef VENDOR 49BOARDDIR = $(VENDOR)/$(BOARD) 50else 51BOARDDIR = $(BOARD) 52endif 53endif 54ifdef BOARD 55sinclude $(srctree)/board/$(BOARDDIR)/config.mk # include board specific rules 56endif 57 58ifdef FTRACE 59PLATFORM_CPPFLAGS += -finstrument-functions -DFTRACE 60endif 61 62# Allow use of stdint.h if available 63ifneq ($(USE_STDINT),) 64PLATFORM_CPPFLAGS += -DCONFIG_USE_STDINT 65endif 66 67######################################################################### 68 69RELFLAGS := $(PLATFORM_RELFLAGS) 70 71OBJCOPYFLAGS += --gap-fill=0xff 72 73PLATFORM_CPPFLAGS += $(RELFLAGS) 74PLATFORM_CPPFLAGS += -pipe 75 76LDFLAGS += $(PLATFORM_LDFLAGS) 77LDFLAGS_FINAL += -Bstatic 78 79export PLATFORM_CPPFLAGS 80export RELFLAGS 81export LDFLAGS_FINAL 82export CONFIG_STANDALONE_LOAD_ADDR 83