build: define CPU only when arch/${ARCH}/cpu/${CPU} exists
[oweals/u-boot.git] / config.mk
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...)
15 PLATFORM_RELFLAGS :=
16 PLATFORM_CPPFLAGS :=
17 PLATFORM_LDFLAGS :=
18 LDFLAGS :=
19 LDFLAGS_FINAL :=
20 OBJCOPYFLAGS :=
21 #########################################################################
22
23 # Some architecture config.mk files need to know what CPUDIR is set to,
24 # so calculate CPUDIR before including ARCH/SOC/CPU config.mk files.
25 # Check if arch/$ARCH/cpu/$CPU exists, otherwise assume arch/$ARCH/cpu contains
26 # CPU-specific code.
27 CPUDIR=arch/$(ARCH)/cpu$(if $(CPU),/$(CPU),)
28
29 sinclude $(srctree)/arch/$(ARCH)/config.mk      # include architecture dependend rules
30 sinclude $(srctree)/$(CPUDIR)/config.mk         # include  CPU  specific rules
31
32 ifdef   SOC
33 sinclude $(srctree)/$(CPUDIR)/$(SOC)/config.mk  # include  SoC  specific rules
34 endif
35 ifneq ($(BOARD),)
36 ifdef   VENDOR
37 BOARDDIR = $(VENDOR)/$(BOARD)
38 else
39 BOARDDIR = $(BOARD)
40 endif
41 endif
42 ifdef   BOARD
43 sinclude $(srctree)/board/$(BOARDDIR)/config.mk # include board specific rules
44 endif
45
46 #########################################################################
47
48 RELFLAGS := $(PLATFORM_RELFLAGS)
49
50 OBJCOPYFLAGS += --gap-fill=0xff
51
52 PLATFORM_CPPFLAGS += $(RELFLAGS)
53 PLATFORM_CPPFLAGS += -pipe
54
55 LDFLAGS += $(PLATFORM_LDFLAGS)
56 LDFLAGS_FINAL += -Bstatic
57
58 export PLATFORM_CPPFLAGS
59 export RELFLAGS
60 export LDFLAGS_FINAL
61 export CONFIG_STANDALONE_LOAD_ADDR