In order to build rmodules for armv7 boards, the default compiler options need to be set so the assembler sources can correclty compile. For now assume rmodules for arm devices use the ramstage compiler options. BUG=chrome-os-partner:27094 BRANCH=None TEST=Built vboot as rmodule for nyan. Original-Change-Id: I8d12a2a57944b187cbdff2f22176de5b4de87a54 Original-Signed-off-by: Aaron Durbin <adurbin@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/190926 (cherry picked from commit cd091ae8ced30e6e2543f36bdb5c14518e7879c3) Signed-off-by: Marc Jones <marc.jones@se-eng.com> Change-Id: I24706f7d72a53f71abd2770f0d12de8c6ed31f63 Reviewed-on: http://review.coreboot.org/7744 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
85 lines
2.7 KiB
Makefile
85 lines
2.7 KiB
Makefile
################################################################################
|
|
##
|
|
## This file is part of the coreboot project.
|
|
##
|
|
## Copyright (C) 2013 The ChromiumOS Authors
|
|
##
|
|
## This program is free software; you can redistribute it and/or modify
|
|
## it under the terms of the GNU General Public License as published by
|
|
## the Free Software Foundation; version 2 of the License.
|
|
##
|
|
## This program is distributed in the hope that it will be useful,
|
|
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
## GNU General Public License for more details.
|
|
##
|
|
## You should have received a copy of the GNU General Public License
|
|
## along with this program; if not, write to the Free Software
|
|
## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
##
|
|
###############################################################################
|
|
|
|
armv7_flags = -march=armv7-a -mthumb \
|
|
-I$(src)/arch/arm/include/armv7/ -D__COREBOOT_ARM_ARCH__=7
|
|
armv7_asm_flags = $(armv7_flags) -Wa,-mthumb -Wa,-mimplicit-it=always \
|
|
-Wa,-mno-warn-deprecated
|
|
|
|
###############################################################################
|
|
# bootblock
|
|
###############################################################################
|
|
|
|
ifeq ($(CONFIG_ARCH_BOOTBLOCK_ARMV7),y)
|
|
|
|
ifneq ($(CONFIG_ARM_BOOTBLOCK_CUSTOM),y)
|
|
bootblock-y += bootblock.S
|
|
bootblock-$(CONFIG_BOOTBLOCK_SIMPLE) += bootblock_simple.c
|
|
endif
|
|
|
|
bootblock-y += cache.c
|
|
bootblock-y += cpu.S
|
|
bootblock-$(CONFIG_BOOTBLOCK_CONSOLE) += exception.c
|
|
bootblock-$(CONFIG_BOOTBLOCK_CONSOLE) += exception_asm.S
|
|
bootblock-y += mmu.c
|
|
|
|
bootblock-c-ccopts += $(armv7_flags)
|
|
bootblock-S-ccopts += $(armv7_asm_flags)
|
|
|
|
endif # CONFIG_ARCH_BOOTBLOCK_ARMV7
|
|
|
|
###############################################################################
|
|
# romstage
|
|
###############################################################################
|
|
|
|
ifeq ($(CONFIG_ARCH_ROMSTAGE_ARMV7),y)
|
|
|
|
romstage-y += cache.c
|
|
romstage-y += cpu.S
|
|
romstage-y += exception.c
|
|
romstage-y += exception_asm.S
|
|
romstage-y += mmu.c
|
|
|
|
romstage-c-ccopts += $(armv7_flags)
|
|
romstage-S-ccopts += $(armv7_asm_flags)
|
|
|
|
endif # CONFIG_ARCH_ROMSTAGE_ARMV7
|
|
|
|
###############################################################################
|
|
# ramstage
|
|
###############################################################################
|
|
|
|
ifeq ($(CONFIG_ARCH_RAMSTAGE_ARMV7),y)
|
|
|
|
ramstage-y += cache.c
|
|
ramstage-y += cpu.S
|
|
ramstage-y += exception.c
|
|
ramstage-y += exception_asm.S
|
|
ramstage-y += mmu.c
|
|
|
|
ramstage-c-ccopts += $(armv7_flags)
|
|
ramstage-S-ccopts += $(armv7_asm_flags)
|
|
|
|
# All rmodule code is armv7 if ramstage is armv7.
|
|
rmodules-c-ccopts += $(armv7_flags)
|
|
rmodules-S-ccopts += $(armv7_asm_flags)
|
|
endif # CONFIG_ARCH_RAMSTAGE_ARMV7
|