# # (C) Copyright 2000-2013 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. # # SPDX-License-Identifier: GPL-2.0+ # ######################################################################### # 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 := PLATFORM_LDFLAGS := LDFLAGS := LDFLAGS_FINAL := OBJCOPYFLAGS := # clear VENDOR for tcsh VENDOR := ######################################################################### ARCH := $(CONFIG_SYS_ARCH:"%"=%) CPU := $(CONFIG_SYS_CPU:"%"=%) 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$(if $(CPU),/$(CPU),) sinclude $(srctree)/arch/$(ARCH)/config.mk # include architecture dependend rules sinclude $(srctree)/$(CPUDIR)/config.mk # include CPU specific rules ifdef SOC sinclude $(srctree)/$(CPUDIR)/$(SOC)/config.mk # include SoC specific rules endif ifneq ($(BOARD),) ifeq ($(CONFIG_SUPPORT_CUSOTMER_BOARD), y) #SUPPORT_CUSOTMER_BOARD BOARDDIR = customer/board/$(BOARD) else #SUPPORT_CUSOTMER_BOARD ifdef VENDOR BOARDDIR = board/$(VENDOR)/$(BOARD) else BOARDDIR = board/$(BOARD) endif endif #SUPPORT_CUSOTMER_BOARD endif ifdef BOARD sinclude $(srctree)/$(BOARDDIR)/config.mk # include board specific rules endif ifdef FTRACE PLATFORM_CPPFLAGS += -finstrument-functions -DFTRACE endif # Allow use of stdint.h if available ifneq ($(USE_STDINT),) PLATFORM_CPPFLAGS += -DCONFIG_USE_STDINT endif ######################################################################### RELFLAGS := $(PLATFORM_RELFLAGS) OBJCOPYFLAGS += --gap-fill=0xff PLATFORM_CPPFLAGS += $(RELFLAGS) PLATFORM_CPPFLAGS += -pipe LDFLAGS += $(PLATFORM_LDFLAGS) LDFLAGS_FINAL += -Bstatic FIRMWARE_CPPFLAGS += -I$(buildsrc)/include FIRMWARE_CPPFLAGS += -I$(buildsrc)/arch/$(ARCH)/include FIRMWARE_CPPFLAGS += -I$(buildtree)/include2 -I$(buildtree)/include FIRMWARE_CPPFLAGS += -include $(buildtree)/include/config.h FIRMWARE_CPPFLAGS += -include $(buildtree)/include/generated/autoconf.h FIRMWARE_CPPFLAGS += -include $(buildtree)/include/generated/version_autogenerated.h FIRMWARE_CPPFLAGS += -fno-builtin -ffreestanding -nostdinc \ -isystem $(gccincdir) -pipe $(PLATFORM_CPPFLAGS) FIRMWARE_CPPFLAGS += -I$(buildsrc)/board/$(BOARDDIR)/firmware export FIRMWARE_CPPFLAGS export PLATFORM_CPPFLAGS export RELFLAGS export LDFLAGS_FINAL export CONFIG_STANDALONE_LOAD_ADDR