mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-29 18:11:05 +00:00
This commit introduces the build infrastructure changes needed for creating a shared RO library. (libsharedobjs). The end goal is for the library to contain various objects that can be shared with both the RO and RW EC images. Now, there are 3 make goals: ro, rw, and libsharedobjs. In order for changes that are only specific to a single image (ie: RW only) to be applied correctly, the object files are now built separately for the RO, RW, shared objects library targets. NOTE: Certain EC targets are incompatible with this model due to the fact that only one image is present within flash at a time. BRANCH=none BUG=None TEST=make -j buildall tests TEST=make -j BOARD=cr50 xrefs TEST=make BOARD=samus dis TEST=Built samus EC image and compared that the final EC image was identical to the upstream version (except for the git SHAs & version strings). CQ-DEPEND=CL:285934 Change-Id: I8e67f089710be9c6d7017718109262394bdad2f5 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/274079 Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
31 lines
851 B
ArmAsm
31 lines
851 B
ArmAsm
/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*
|
|
* Build the full image with up to 2 copies (Read only, Read write)
|
|
* of the program
|
|
*/
|
|
|
|
#include "config.h"
|
|
|
|
#define FW_FILE(builddir,proj,sect) builddir##/##sect##/##proj##.##sect##.flat
|
|
#define STRINGIFY0(name) #name
|
|
#define STRINGIFY(name) STRINGIFY0(name)
|
|
#define FW_IMAGE(sect) STRINGIFY(FW_FILE(FINAL_OUTDIR,PROJECT,sect))
|
|
|
|
/* Read Only firmware */
|
|
#ifdef CONFIG_FW_INCLUDE_RO
|
|
.section .image.RO, "ax"
|
|
.incbin FW_IMAGE(RO)
|
|
#endif
|
|
|
|
/* Shared objects library */
|
|
#ifdef CONFIG_SHAREDLIB
|
|
.section .image.libsharedobjs, "ax"
|
|
.incbin STRINGIFY(FINAL_OUTDIR/libsharedobjs/libsharedobjs.flat)
|
|
#endif
|
|
|
|
/* Read Write firmware */
|
|
.section .image.RW, "ax"
|
|
.incbin FW_IMAGE(RW)
|