rules.h: Add ENV_ macros to detect current architecture
This patch expands the existing ENV_<stage> macros in <rules.h> with a set of ENV_<arch> macros which can be used to detect which architecture the current compilation unit is built for. These are more consistent than compiler-defined macros (like '#ifdef __arm__') and will make it easier to write small, architecture-dependent differences in common code (where we currently often use IS_ENABLED(CONFIG_ARCH_...), which is technically incorrect in a world where every stage can run on a different architecture, and merely kinda happened to work out for now). Also remove a vestigal <arch/rules.h> from ARM64 which was no longer used, and genericise ARM subarchitecture Makefiles a little to make things like __COREBOOT_ARM_ARCH__ available from all file types (including .ld). BUG=None TEST=Compiled Falco, Blaze, Jerry and Smaug. Change-Id: Id51aeb290b5c215c653e42a51919d0838e28621f Signed-off-by: Julius Werner <jwerner@chromium.org> Reviewed-on: http://review.coreboot.org/12433 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Tested-by: Raptor Engineering Automated Test Stand <noreply@raptorengineeringinc.com>
This commit is contained in:
@@ -115,7 +115,7 @@ OBJDUMP_$(1) := $(OBJDUMP_$(2))
|
||||
STRIP_$(1) := $(STRIP_$(2))
|
||||
READELF_$(1) := $(READELF_$(2))
|
||||
CFLAGS_$(1) = $$(CFLAGS_common) $$(CFLAGS_$(2))
|
||||
CPPFLAGS_$(1) = $$(CPPFLAGS_common) $$(CPPFLAGS_$(2))
|
||||
CPPFLAGS_$(1) = $$(CPPFLAGS_common) $$(CPPFLAGS_$(2)) -D__ARCH_$(2)__
|
||||
COMPILER_RT_$(1) := $$(COMPILER_RT_$(2))
|
||||
COMPILER_RT_FLAGS_$(1) := $$(COMPILER_RT_FLAGS_$(2))
|
||||
LDFLAGS_$(1) = $$(LDFLAGS_common) $$(LDFLAGS_$(2))
|
||||
|
Reference in New Issue
Block a user