38c99b5659
coreboot uses TianoCore interchangeably with EDK II, and whilst the meaning is generally clear, it's not the payload it uses. EDK II is commonly written as edk2. coreboot builds edk2 directly from the edk2 repository. Whilst it can build some components from edk2-platforms, the target is still edk2. [1] tianocore.org - "Welcome to TianoCore, the community supporting" [2] tianocore.org - "EDK II is a modern, feature-rich, cross-platform firmware development environment for the UEFI and UEFI Platform Initialization (PI) specifications." Signed-off-by: Sean Rhodes <sean@starlabs.systems> Change-Id: I4de125d92ae38ff8dfd0c4c06806c2d2921945ab Reviewed-on: https://review.coreboot.org/c/coreboot/+/65820 Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
183 lines
9.7 KiB
Text
183 lines
9.7 KiB
Text
#
|
|
# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
|
|
# Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
|
|
# Portions copyright (c) 2011 - 2014, ARM Ltd. All rights reserved.<BR>
|
|
# Copyright (c) 2015, Hewlett-Packard Development Company, L.P.<BR>
|
|
# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
|
|
#
|
|
# This program and the accompanying materials
|
|
# are licensed and made available under the terms and conditions of the BSD License
|
|
# which accompanies this distribution. The full text of the license may be found at
|
|
# http://opensource.org/licenses/bsd-license.php
|
|
#
|
|
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
#
|
|
|
|
#The following has been adapted from the BaseTools/Conf/tools_def.template file
|
|
#and is used to direct the edk2 build to use coreboot's crossgcc toolchain
|
|
#rather than the host machine's toolchain
|
|
|
|
DEFINE COREBOOT_IA32_PREFIX = ENV(GCC_CC_x86_32)
|
|
DEFINE COREBOOT_X64_PREFIX = ENV(GCC_CC_x86_64)
|
|
DEFINE COREBOOT_ARM_PREFIX = ENV(GCC_CC_arm)
|
|
DEFINE COREBOOT_ARM64_PREFIX = ENV(GCC_CC_arm64)
|
|
|
|
DEFINE COREBOOT_IA32_OBJCOPY = ENV(OBJCOPY_x86_32)
|
|
DEFINE COREBOOT_X64_OBJCOPY = ENV(OBJCOPY_x86_64)
|
|
DEFINE COREBOOT_ARM_OBJCOPY = ENV(OBJCOPY_arm)
|
|
DEFINE COREBOOT_ARM64_OBJCOPY = ENV(OBJCOPY_arm64)
|
|
|
|
####################################################################################
|
|
#
|
|
# COREBOOT - This configuration is used to compile under Linux to produce
|
|
# PE/COFF binaries using coreboot's toolchain.
|
|
#
|
|
##################################################################################
|
|
|
|
*_COREBOOT_*_*_FAMILY = GCC
|
|
|
|
*_COREBOOT_*_MAKE_PATH = make
|
|
*_COREBOOT_*_*_DLL = ENV(GCC5_DLL)
|
|
*_COREBOOT_*_ASL_PATH = DEF(UNIX_IASL_BIN)
|
|
|
|
*_COREBOOT_*_PP_FLAGS = DEF(GCC_PP_FLAGS)
|
|
*_COREBOOT_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS)
|
|
*_COREBOOT_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
|
|
*_COREBOOT_*_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS)
|
|
*_COREBOOT_*_APP_FLAGS =
|
|
*_COREBOOT_*_ASL_FLAGS = DEF(IASL_FLAGS)
|
|
*_COREBOOT_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
|
|
|
|
##################
|
|
# COREBOOT IA32 definitions
|
|
##################
|
|
*_COREBOOT_IA32_OBJCOPY_PATH = DEF(COREBOOT_IA32_OBJCOPY)
|
|
*_COREBOOT_IA32_CC_PATH = DEF(COREBOOT_IA32_PREFIX)
|
|
*_COREBOOT_IA32_SLINK_PATH = DEF(COREBOOT_IA32_PREFIX)-ar
|
|
*_COREBOOT_IA32_DLINK_PATH = DEF(COREBOOT_IA32_PREFIX)
|
|
*_COREBOOT_IA32_ASLDLINK_PATH = DEF(COREBOOT_IA32_PREFIX)
|
|
*_COREBOOT_IA32_ASM_PATH = DEF(COREBOOT_IA32_PREFIX)
|
|
*_COREBOOT_IA32_PP_PATH = DEF(COREBOOT_IA32_PREFIX)
|
|
*_COREBOOT_IA32_VFRPP_PATH = DEF(COREBOOT_IA32_PREFIX)
|
|
*_COREBOOT_IA32_ASLCC_PATH = DEF(COREBOOT_IA32_PREFIX)
|
|
*_COREBOOT_IA32_ASLPP_PATH = DEF(COREBOOT_IA32_PREFIX)
|
|
*_COREBOOT_IA32_RC_PATH = DEF(COREBOOT_IA32_OBJCOPY)
|
|
|
|
*_COREBOOT_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto
|
|
*_COREBOOT_IA32_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386
|
|
*_COREBOOT_IA32_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m32 -march=i386
|
|
*_COREBOOT_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS)
|
|
*_COREBOOT_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)
|
|
*_COREBOOT_IA32_OBJCOPY_FLAGS =
|
|
*_COREBOOT_IA32_NASM_FLAGS = -f elf32
|
|
|
|
DEBUG_COREBOOT_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto -Os
|
|
DEBUG_COREBOOT_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386
|
|
|
|
RELEASE_COREBOOT_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto -Os -Wno-unused-but-set-variable
|
|
RELEASE_COREBOOT_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386
|
|
|
|
NOOPT_COREBOOT_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -O0
|
|
NOOPT_COREBOOT_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386 -O0
|
|
|
|
##################
|
|
# COREBOOT X64 definitions
|
|
##################
|
|
*_COREBOOT_X64_OBJCOPY_PATH = DEF(COREBOOT_X64_OBJCOPY)
|
|
*_COREBOOT_X64_CC_PATH = DEF(COREBOOT_X64_PREFIX)
|
|
*_COREBOOT_X64_SLINK_PATH = DEF(COREBOOT_X64_PREFIX)-ar
|
|
*_COREBOOT_X64_DLINK_PATH = DEF(COREBOOT_X64_PREFIX)
|
|
*_COREBOOT_X64_ASLDLINK_PATH = DEF(COREBOOT_X64_PREFIX)
|
|
*_COREBOOT_X64_ASM_PATH = DEF(COREBOOT_X64_PREFIX)
|
|
*_COREBOOT_X64_PP_PATH = DEF(COREBOOT_X64_PREFIX)
|
|
*_COREBOOT_X64_VFRPP_PATH = DEF(COREBOOT_X64_PREFIX)
|
|
*_COREBOOT_X64_ASLCC_PATH = DEF(COREBOOT_X64_PREFIX)
|
|
*_COREBOOT_X64_ASLPP_PATH = DEF(COREBOOT_X64_PREFIX)
|
|
*_COREBOOT_X64_RC_PATH = DEF(COREBOOT_X64_OBJCOPY)
|
|
|
|
*_COREBOOT_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto
|
|
*_COREBOOT_X64_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
|
|
*_COREBOOT_X64_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m64
|
|
*_COREBOOT_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS)
|
|
*_COREBOOT_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
|
|
*_COREBOOT_X64_OBJCOPY_FLAGS =
|
|
*_COREBOOT_X64_NASM_FLAGS = -f elf64
|
|
|
|
DEBUG_COREBOOT_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO -Os
|
|
DEBUG_COREBOOT_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os
|
|
|
|
RELEASE_COREBOOT_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO -Os -Wno-unused-but-set-variable
|
|
RELEASE_COREBOOT_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os
|
|
|
|
NOOPT_COREBOOT_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -O0
|
|
NOOPT_COREBOOT_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -O0
|
|
|
|
##################
|
|
# COREBOOT ARM definitions
|
|
##################
|
|
*_COREBOOT_ARM_CC_PATH = ENV(COREBOOT_ARM_PREFIX)
|
|
*_COREBOOT_ARM_SLINK_PATH = ENV(COREBOOT_ARM_PREFIX)-ar
|
|
*_COREBOOT_ARM_DLINK_PATH = ENV(COREBOOT_ARM_PREFIX)
|
|
*_COREBOOT_ARM_ASLDLINK_PATH = ENV(COREBOOT_ARM_PREFIX)
|
|
*_COREBOOT_ARM_ASM_PATH = ENV(COREBOOT_ARM_PREFIX)
|
|
*_COREBOOT_ARM_PP_PATH = ENV(COREBOOT_ARM_PREFIX)
|
|
*_COREBOOT_ARM_VFRPP_PATH = ENV(COREBOOT_ARM_PREFIX)
|
|
*_COREBOOT_ARM_ASLCC_PATH = ENV(COREBOOT_ARM_PREFIX)
|
|
*_COREBOOT_ARM_ASLPP_PATH = ENV(COREBOOT_ARM_PREFIX)
|
|
*_COREBOOT_ARM_RC_PATH = ENV(COREBOOT_ARM_OBJCOPY)
|
|
|
|
*_COREBOOT_ARM_ARCHCC_FLAGS = -mthumb
|
|
*_COREBOOT_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
|
|
*_COREBOOT_ARM_ASLDLINK_FLAGS = DEF(GCC5_ARM_ASLDLINK_FLAGS)
|
|
*_COREBOOT_ARM_ASM_FLAGS = DEF(GCC5_ARM_ASM_FLAGS)
|
|
*_COREBOOT_ARM_DLINK2_FLAGS = DEF(GCC5_ARM_DLINK2_FLAGS)
|
|
*_COREBOOT_ARM_PLATFORM_FLAGS = -march=armv7-a
|
|
*_COREBOOT_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
|
|
*_COREBOOT_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS)
|
|
*_COREBOOT_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
|
|
*_COREBOOT_ARM_CC_XIPFLAGS = DEF(GCC5_ARM_CC_XIPFLAGS)
|
|
|
|
DEBUG_COREBOOT_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -O0
|
|
DEBUG_COREBOOT_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS)
|
|
|
|
RELEASE_COREBOOT_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable
|
|
RELEASE_COREBOOT_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm
|
|
|
|
NOOPT_COREBOOT_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -O0
|
|
NOOPT_COREBOOT_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -O0
|
|
|
|
##################
|
|
# COREBOOT AARCH64 definitions
|
|
##################
|
|
*_COREBOOT_AARCH64_CC_PATH = ENV(COREBOOT_ARM64_PREFIX)
|
|
*_COREBOOT_AARCH64_SLINK_PATH = ENV(COREBOOT_ARM64_PREFIX)-ar
|
|
*_COREBOOT_AARCH64_DLINK_PATH = ENV(COREBOOT_ARM64_PREFIX)
|
|
*_COREBOOT_AARCH64_ASLDLINK_PATH = ENV(COREBOOT_ARM64_PREFIX)
|
|
*_COREBOOT_AARCH64_ASM_PATH = ENV(COREBOOT_ARM64_PREFIX)
|
|
*_COREBOOT_AARCH64_PP_PATH = ENV(COREBOOT_ARM64_PREFIX)
|
|
*_COREBOOT_AARCH64_VFRPP_PATH = ENV(COREBOOT_ARM64_PREFIX)
|
|
*_COREBOOT_AARCH64_ASLCC_PATH = ENV(COREBOOT_ARM64_PREFIX)
|
|
*_COREBOOT_AARCH64_ASLPP_PATH = ENV(COREBOOT_ARM64_PREFIX)
|
|
*_COREBOOT_AARCH64_RC_PATH = ENV(COREBOOT_ARM64_OBJCOPY)
|
|
|
|
*_COREBOOT_AARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
|
|
*_COREBOOT_AARCH64_ASLDLINK_FLAGS = DEF(GCC5_AARCH64_ASLDLINK_FLAGS)
|
|
*_COREBOOT_AARCH64_ASM_FLAGS = DEF(GCC5_AARCH64_ASM_FLAGS)
|
|
*_COREBOOT_AARCH64_DLINK2_FLAGS = DEF(GCC5_AARCH64_DLINK2_FLAGS)
|
|
*_COREBOOT_AARCH64_PLATFORM_FLAGS =
|
|
*_COREBOOT_AARCH64_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
|
|
*_COREBOOT_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS)
|
|
*_COREBOOT_AARCH64_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
|
|
*_COREBOOT_AARCH64_CC_XIPFLAGS = DEF(GCC5_AARCH64_CC_XIPFLAGS)
|
|
|
|
DEBUG_COREBOOT_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -O0 -mcmodel=small
|
|
DEBUG_COREBOOT_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000
|
|
DEBUG_COREBOOT_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
|
|
|
|
RELEASE_COREBOOT_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -mcmodel=tiny -fomit-frame-pointer
|
|
RELEASE_COREBOOT_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64
|
|
|
|
NOOPT_COREBOOT_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -O0 -mcmodel=small
|
|
NOOPT_COREBOOT_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000 -O0
|
|
NOOPT_COREBOOT_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 -O0
|