From f59d2e41977032f8f3eac113358b93574fc27b4f Mon Sep 17 00:00:00 2001 From: Paul Kocialkowski Date: Thu, 14 Sep 2017 12:06:03 +0200 Subject: Makefile: Build futility without utillib to extend arch support This removes utillib from the futility build and adds only the required files from utillib to its build. Utillib includes arch-specific components (required for crossystem) that only have a limited number of supported architectures, which is undesirable for futility. The number of archs that futility can run on is no longer restricted. BUG=None BRACH=None TEST=Build futility and futility_s Change-Id: Ia9ad2a72b374b5cc3d6004d36c0b7090dbcc97a2 Signed-off-by: Paul Kocialkowski Reviewed-on: https://chromium-review.googlesource.com/666625 Reviewed-by: Julius Werner Reviewed-by: Patrick Georgi --- Makefile | 49 ++++++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 23 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 5bcf46ae..66b30f5d 100644 --- a/Makefile +++ b/Makefile @@ -442,23 +442,8 @@ BDBLIB_OBJS = ${BDBLIB_SRCS:%.c=${BUILD}/%.o} ALL_OBJS += ${FWLIB_OBJS} ${FWLIB2X_OBJS} ${FWLIB20_OBJS} ${FWLIB21_OBJS} \ $(BDBLIB_OBJS} -# Intermediate library for the vboot_reference utilities to link against. -UTILLIB = ${BUILD}/libvboot_util.a - -# Static library containing both host and firmware APIs -UTILBDB = ${BUILD}/libvboot_utilbdb.a - -UTILLIB_SRCS = \ - cgpt/cgpt_create.c \ - cgpt/cgpt_add.c \ - cgpt/cgpt_boot.c \ - cgpt/cgpt_show.c \ - cgpt/cgpt_repair.c \ - cgpt/cgpt_prioritize.c \ - cgpt/cgpt_common.c \ - futility/dump_kernel_config_lib.c \ - host/arch/${ARCH}/lib/crossystem_arch.c \ - host/lib/crossystem.c \ +# Common files for all utilities. +COMMON_SRCS = \ host/lib/file_keys.c \ host/lib/fmap.c \ host/lib/host_common.c \ @@ -476,6 +461,25 @@ UTILLIB_SRCS = \ host/lib21/host_misc.c \ host/lib21/host_signature.c +# Intermediate library for the vboot_reference utilities to link against. +UTILLIB = ${BUILD}/libvboot_util.a + +# Static library containing both host and firmware APIs +UTILBDB = ${BUILD}/libvboot_utilbdb.a + +UTILLIB_SRCS = \ + $(COMMON_SRCS) \ + cgpt/cgpt_create.c \ + cgpt/cgpt_add.c \ + cgpt/cgpt_boot.c \ + cgpt/cgpt_show.c \ + cgpt/cgpt_repair.c \ + cgpt/cgpt_prioritize.c \ + cgpt/cgpt_common.c \ + futility/dump_kernel_config_lib.c \ + host/arch/${ARCH}/lib/crossystem_arch.c \ + host/lib/crossystem.c + UTILLIB_OBJS = ${UTILLIB_SRCS:%.c=${BUILD}/%.o} ALL_OBJS += ${UTILLIB_OBJS} @@ -663,6 +667,7 @@ FUTIL_SYMLINKS = \ vbutil_keyblock FUTIL_STATIC_SRCS = \ + $(COMMON_SRCS) \ futility/futility.c \ futility/cmd_dump_fmap.c \ futility/cmd_gbb_utility.c \ @@ -673,6 +678,7 @@ FUTIL_STATIC_SRCS = \ FUTIL_SRCS = \ ${FUTIL_STATIC_SRCS} \ + futility/dump_kernel_config_lib.c \ futility/cmd_bdb.c \ futility/cmd_create.c \ futility/cmd_dump_kernel_config.c \ @@ -681,10 +687,7 @@ FUTIL_SRCS = \ futility/cmd_show.c \ futility/cmd_sign.c \ futility/cmd_validate_rec_mrc.c \ - futility/cmd_vbutil_firmware.c \ futility/cmd_vbutil_kernel.c \ - futility/cmd_vbutil_key.c \ - futility/cmd_vbutil_keyblock.c \ futility/file_type.c \ futility/file_type_bios.c \ futility/file_type_rwsig.c \ @@ -1128,12 +1131,12 @@ signing_install: ${SIGNING_SCRIPTS} ${SIGNING_SCRIPTS_DEV} ${SIGNING_COMMON} futil: ${FUTIL_STATIC_BIN} ${FUTIL_BIN} ${FUTIL_STATIC_BIN}: LDLIBS += ${CRYPTO_STATIC_LIBS} -${FUTIL_STATIC_BIN}: ${FUTIL_STATIC_OBJS} ${UTILLIB} +${FUTIL_STATIC_BIN}: ${FUTIL_STATIC_OBJS} ${FWLIB} ${FWLIB21} @${PRINTF} " LD $(subst ${BUILD}/,,$@)\n" ${Q}${LD} -o $@ ${CFLAGS} ${LDFLAGS} -static $^ ${LDLIBS} -${FUTIL_BIN}: LDLIBS += ${CRYPTO_LIBS} ${FWLIB20} -${FUTIL_BIN}: ${FUTIL_OBJS} ${UTILLIB} ${FWLIB20} ${UTILBDB} +${FUTIL_BIN}: LDLIBS += ${CRYPTO_LIBS} +${FUTIL_BIN}: ${FUTIL_OBJS} ${UTILBDB} ${FWLIB} ${FWLIB21} @${PRINTF} " LD $(subst ${BUILD}/,,$@)\n" ${Q}${LD} -o $@ ${CFLAGS} ${LDFLAGS} $^ ${LDLIBS} -- cgit v1.2.1