X-Git-Url: https://git.librecmc.org/?p=oweals%2Fu-boot.git;a=blobdiff_plain;f=config.mk;h=7bb1fd4ed1b5036e76d083ff00f425ef54f98834;hp=9897f20538af3dac162de740632d7120a9c7dae9;hb=1099b2abef35c3c887f6afac1a8ef18c7924d5d2;hpb=a7e8c15f71456d55ccb27f843862af03a00e0957 diff --git a/config.mk b/config.mk index 9897f20538..7bb1fd4ed1 100644 --- a/config.mk +++ b/config.mk @@ -1,52 +1,78 @@ +# SPDX-License-Identifier: GPL-2.0+ # # (C) Copyright 2000-2013 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. -# -# SPDX-License-Identifier: GPL-2.0+ -# ######################################################################### -# clean the slate ... -PLATFORM_RELFLAGS = -PLATFORM_CPPFLAGS = -PLATFORM_LDFLAGS = - +# This file is included from ./Makefile and spl/Makefile. +# Clean the state to avoid the same flags added twice. +# +# (Tegra needs different flags for SPL. +# That's the reason why this file must be included from spl/Makefile too. +# If we did not have Tegra SoCs, build system would be much simpler...) +PLATFORM_RELFLAGS := +PLATFORM_CPPFLAGS := +KBUILD_LDFLAGS := +LDFLAGS_FINAL := +LDFLAGS_STANDALONE := +OBJCOPYFLAGS := +# clear VENDOR for tcsh +VENDOR := ######################################################################### +ARCH := $(CONFIG_SYS_ARCH:"%"=%) +CPU := $(CONFIG_SYS_CPU:"%"=%) +ifdef CONFIG_SPL_BUILD +ifdef CONFIG_ARCH_TEGRA +CPU := arm720t +endif +endif +BOARD := $(CONFIG_SYS_BOARD:"%"=%) +ifneq ($(CONFIG_SYS_VENDOR),) +VENDOR := $(CONFIG_SYS_VENDOR:"%"=%) +endif +ifneq ($(CONFIG_SYS_SOC),) +SOC := $(CONFIG_SYS_SOC:"%"=%) +endif + # Some architecture config.mk files need to know what CPUDIR is set to, # so calculate CPUDIR before including ARCH/SOC/CPU config.mk files. # Check if arch/$ARCH/cpu/$CPU exists, otherwise assume arch/$ARCH/cpu contains # CPU-specific code. -CPUDIR=arch/$(ARCH)/cpu/$(CPU) -ifneq ($(SRCTREE)/$(CPUDIR),$(wildcard $(SRCTREE)/$(CPUDIR))) -CPUDIR=arch/$(ARCH)/cpu -endif +CPUDIR=arch/$(ARCH)/cpu$(if $(CPU),/$(CPU),) -sinclude $(TOPDIR)/arch/$(ARCH)/config.mk # include architecture dependend rules -sinclude $(TOPDIR)/$(CPUDIR)/config.mk # include CPU specific rules +sinclude $(srctree)/arch/$(ARCH)/config.mk # include architecture dependend rules +sinclude $(srctree)/$(CPUDIR)/config.mk # include CPU specific rules ifdef SOC -sinclude $(TOPDIR)/$(CPUDIR)/$(SOC)/config.mk # include SoC specific rules +sinclude $(srctree)/$(CPUDIR)/$(SOC)/config.mk # include SoC specific rules endif +ifneq ($(BOARD),) ifdef VENDOR BOARDDIR = $(VENDOR)/$(BOARD) else BOARDDIR = $(BOARD) endif +endif ifdef BOARD -sinclude $(TOPDIR)/board/$(BOARDDIR)/config.mk # include board specific rules +sinclude $(srctree)/board/$(BOARDDIR)/config.mk # include board specific rules endif -######################################################################### - -RELFLAGS= $(PLATFORM_RELFLAGS) +ifdef FTRACE +PLATFORM_CPPFLAGS += -finstrument-functions -DFTRACE +endif -OBJCOPYFLAGS += --gap-fill=0xff +######################################################################### -CPPFLAGS = $(RELFLAGS) -CPPFLAGS += -pipe $(PLATFORM_CPPFLAGS) +RELFLAGS := $(PLATFORM_RELFLAGS) -BCURDIR = $(subst $(SRCTREE)/,,$(CURDIR:$(obj)%=%)) +PLATFORM_CPPFLAGS += $(RELFLAGS) +PLATFORM_CPPFLAGS += -pipe -LDFLAGS += $(PLATFORM_LDFLAGS) LDFLAGS_FINAL += -Bstatic + +export PLATFORM_CPPFLAGS +export RELFLAGS +export LDFLAGS_FINAL +export LDFLAGS_STANDALONE +export CONFIG_STANDALONE_LOAD_ADDR