From patchwork Sat Feb 10 08:42:49 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicholas Piggin X-Patchwork-Id: 871645 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [103.22.144.68]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3zdlnX3Wn8z9s7g for ; Sat, 10 Feb 2018 19:43:12 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="czrIt8LO"; dkim-atps=neutral Received: from bilbo.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 3zdlnX1WLhzF0d5 for ; Sat, 10 Feb 2018 19:43:12 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="czrIt8LO"; dkim-atps=neutral X-Original-To: skiboot@lists.ozlabs.org Delivered-To: skiboot@lists.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:400e:c01::241; helo=mail-pl0-x241.google.com; envelope-from=npiggin@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="czrIt8LO"; dkim-atps=neutral Received: from mail-pl0-x241.google.com (mail-pl0-x241.google.com [IPv6:2607:f8b0:400e:c01::241]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3zdlnL13c8zF0cQ for ; Sat, 10 Feb 2018 19:43:01 +1100 (AEDT) Received: by mail-pl0-x241.google.com with SMTP id p5so2563552plo.12 for ; Sat, 10 Feb 2018 00:43:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=mCs2DIgnZii2m2TayTMAO9xgUt0tnY749w3LRLA7RNE=; b=czrIt8LOULgh1jYkchjb7GoXWzpGMM41ncnyeRh3xSEMQZ29crQvP/OI2HZWo4UkWT xdzGaewHV0OJBBPYtynzAod9VOOiMNp0GDC0IXCtUdw7fYjZABHNrA+nNMnp4BstyhAI HHOJFfCEqC3XcwpZE5u9Fbww4SEofQBs2bSH0X4QYGLXnCrN/pjhq3C2btZHl0PGQaK4 MZhNfwNmmhwJszAzKtWnrTBRJfHHPB1avxULUYk6JCoSAgZB2FD0qBmXLYfeYPBT1kRE OU+r/6PE7duMkdSm5sV810NxO81/fR0WIKDW5P353c+3nD8esfa94IcGXAEPHhqGyT4b 4z2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=mCs2DIgnZii2m2TayTMAO9xgUt0tnY749w3LRLA7RNE=; b=qRO1K0tr2jlzT6X0dQ0/vPgvFund9Ih2bDthMGT4nB4+NmPmGiFhqRnuyPMSf8y1ra X+c5fHsmpUIlfhRIqSQOi5i2XnHer+ivslvKHeVkrPnDDUBpbsVimmCyxUKS82ocqCqe 6bNt6jpbvNBvmOWE0oJUJQKE0+vF4yAHxjlRXbXBDL3f+Oh7awSMxPCZrPu+5lhcdMIi 6AFFcbkoDygyDUCkBY+3KL1+tsjt5uDTk82KErIy3mvMgFnfUlwKSnVs71pYg83vjvFK 52W4HXoXBOWKBKYuMevIINSUe/d29nW5JReb6gWYsbBDijRrPXF2cDwIH9RE6VxtGZiB GLJQ== X-Gm-Message-State: APf1xPASoz6fRm8YVlLzk2He+jSukF7ejl4K8BAX17LiB9K+/XjpWUlY 4hZaI1A1L45MXnAMhUW9MmU1aw== X-Google-Smtp-Source: AH8x226SvBwTiH5xy/1UJYuSYIBuuo4NcXo+Gfs7U6koKtn2cHkJatA9OAti+OXmxQL14/YchDQudw== X-Received: by 2002:a17:902:c81:: with SMTP id 1-v6mr5052229plt.281.1518252178592; Sat, 10 Feb 2018 00:42:58 -0800 (PST) Received: from roar.au.ibm.com ([202.7.219.42]) by smtp.gmail.com with ESMTPSA id k1sm11560169pfj.161.2018.02.10.00.42.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 10 Feb 2018 00:42:57 -0800 (PST) From: Nicholas Piggin To: skiboot@lists.ozlabs.org Date: Sat, 10 Feb 2018 18:42:49 +1000 Message-Id: <20180210084249.2589-1-npiggin@gmail.com> X-Mailer: git-send-email 2.15.1 Subject: [Skiboot] [PATCH] build: use thin archives rather than incremental linking X-BeenThere: skiboot@lists.ozlabs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: Mailing list for skiboot development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Skiboot" This changes to build system to use thin archives rather than incremental linking for built-in.o, similar to recent change to Linux. built-in.o is renamed to built-in.a, and is created as a thin archive with no index, for speed and size. All built-in.a are aggregated into a skiboot.tmp.a which is a thin archive built with an index, making it suitable or linking. This is input into the final link. The advantags of build size and linker code placement flexibility are not as great with skiboot as a bigger project like Linux, but it's a conceptually better way to build, and is more compatible with link time optimisation in toolchains which might be interesting for skiboot particularly for size reductions. Size of build tree before this patch is 34.4MB, afterwards 23.1MB. Signed-off-by: Nicholas Piggin --- Makefile.main | 14 +++++++++----- Makefile.rules | 5 +++-- asm/Makefile.inc | 2 +- ccan/Makefile.inc | 2 +- core/Makefile.inc | 2 +- hdata/Makefile.inc | 2 +- hw/Makefile.inc | 2 +- hw/ast-bmc/Makefile.inc | 2 +- hw/ec/Makefile.inc | 2 +- hw/fsp/Makefile.inc | 2 +- hw/ipmi/Makefile.inc | 2 +- libc/Makefile.inc | 2 +- libc/ctype/Makefile.inc | 2 +- libc/stdio/Makefile.inc | 2 +- libc/stdlib/Makefile.inc | 2 +- libc/string/Makefile.inc | 2 +- libfdt/Makefile.inc | 2 +- libflash/Makefile.inc | 2 +- libpore/Makefile.inc | 2 +- libstb/Makefile.inc | 2 +- libstb/drivers/Makefile.inc | 2 +- libstb/mbedtls/Makefile.inc | 2 +- libstb/tss/Makefile.inc | 2 +- libxz/Makefile.inc | 2 +- platforms/Makefile.inc | 2 +- platforms/astbmc/Makefile.inc | 2 +- platforms/ibm-fsp/Makefile.inc | 2 +- platforms/mambo/Makefile.inc | 2 +- platforms/qemu/Makefile.inc | 2 +- platforms/rhesus/Makefile.inc | 2 +- 30 files changed, 40 insertions(+), 35 deletions(-) diff --git a/Makefile.main b/Makefile.main index 516afdd6..aab6b7a2 100644 --- a/Makefile.main +++ b/Makefile.main @@ -126,7 +126,7 @@ LDFLAGS += -Wl,-pie LDFLAGS += -Wl,-Ttext-segment,$(LD_TEXT) -Wl,-N -Wl,--build-id=none LDFLAGS += -Wl,--no-multi-toc LDFLAGS += -mcpu=power7 -mbig-endian -Wl,--oformat,elf64-powerpc - +LDFLAGS_FINAL = $(LDFLAGS) -Wl,--whole-archive LDRFLAGS=-melf64ppc # Debug stuff #LDFLAGS += -Wl,-v -Wl,-Map,foomap @@ -213,8 +213,8 @@ OBJS += $(LIBC) $(CCAN) $(DEVSRC_OBJ) $(LIBPORE) OBJS_NO_VER = $(OBJS) ALL_OBJS = $(OBJS) version.o -ALL_OBJS_1 = $(ALL_OBJS) asm/dummy_map.o -ALL_OBJS_2 = $(ALL_OBJS) asm/real_map.o +ALL_OBJS_1 = $(TARGET).tmp.a asm/dummy_map.o +ALL_OBJS_2 = $(TARGET).tmp.a asm/real_map.o $(TARGET).lid.xz: $(TARGET).lid $(call Q,XZ, cat $^ | xz -9 -C crc32 > $@, $@) @@ -228,13 +228,17 @@ $(TARGET).lid.stb: $(TARGET).lid libstb/create-container $(TARGET).lid.xz.stb: $(TARGET).lid.xz libstb/create-container $(call Q,STB-DEVELOPMENT-SIGNED-CONTAINER,$(SRC)/libstb/sign-with-local-keys.sh $< $@ $(SRC)/libstb/keys/,$@) +$(TARGET).tmp.a: $(ALL_OBJS) + @rm -f $(TARGET).tmp.a + $(call Q,AR, $(AR) rcsTPD $@ $(ALL_OBJS), $@) + $(TARGET).tmp.elf: $(ALL_OBJS_1) $(TARGET).lds $(KERNEL) - $(call Q,LD, $(CC) $(LDFLAGS) -T $(TARGET).lds $(ALL_OBJS_1) -o $@, $@) + $(call Q,LD, $(CC) $(LDFLAGS_FINAL) -o $@ -T $(TARGET).lds $(ALL_OBJS_1), $@) asm/real_map.o : $(TARGET).tmp.map $(TARGET).elf: $(ALL_OBJS_2) $(TARGET).lds $(KERNEL) - $(call Q,LD, $(CC) $(LDFLAGS) -T $(TARGET).lds $(ALL_OBJS_2) -o $@, $@) + $(call Q,LD, $(CC) $(LDFLAGS_FINAL) -o $@ -T $(TARGET).lds $(ALL_OBJS_2), $@) $(SUBDIRS): $(call Q,MKDIR,mkdir -p $@, $@) diff --git a/Makefile.rules b/Makefile.rules index 80121c33..e5f6dfcf 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -67,8 +67,9 @@ endif %.i : %.c $(call Q,CC, $(CC) $(call cook_cflags,$@) -E -c $< -o $@, $@) -%built-in.o : - $(call Q,LD, $(LD) $(LDRFLAGS) -r $^ -o $@, $@) +%built-in.a : + @rm -f $@ + $(call Q,AR, $(AR) rcSTPD $@ $^, $@) %.lds : %.lds.S $(call Q,CC, $(CC) $(CPPFLAGS) -P -E $< -o $@, $@) diff --git a/asm/Makefile.inc b/asm/Makefile.inc index 2828caf9..343abc23 100644 --- a/asm/Makefile.inc +++ b/asm/Makefile.inc @@ -2,7 +2,7 @@ SUBDIRS += asm ASM_OBJS = head.o misc.o kernel-wrapper.o cvc_entry.o -ASM=asm/built-in.o +ASM=asm/built-in.a # Add extra dependency to the kernel wrapper kernel_wrapper.o : $(KERNEL) diff --git a/ccan/Makefile.inc b/ccan/Makefile.inc index 1a89b2e8..36e75774 100644 --- a/ccan/Makefile.inc +++ b/ccan/Makefile.inc @@ -2,7 +2,7 @@ SUBDIRS += ccan ccan/list ccan/str CCAN_OBJS = list/list.o str/str.o -CCAN=ccan/built-in.o +CCAN=ccan/built-in.a $(CCAN): $(CCAN_OBJS:%=ccan/%) diff --git a/core/Makefile.inc b/core/Makefile.inc index d6a7269f..20bc2ce8 100644 --- a/core/Makefile.inc +++ b/core/Makefile.inc @@ -15,7 +15,7 @@ ifeq ($(SKIBOOT_GCOV),1) CORE_OBJS += gcov-profiling.o endif -CORE=core/built-in.o +CORE=core/built-in.a CFLAGS_SKIP_core/relocate.o = -pg -fstack-protector-all CFLAGS_SKIP_core/relocate.o += -fstack-protector -fstack-protector-strong diff --git a/hdata/Makefile.inc b/hdata/Makefile.inc index c17b04ff..6f47314d 100644 --- a/hdata/Makefile.inc +++ b/hdata/Makefile.inc @@ -3,6 +3,6 @@ SUBDIRS += hdata HDATA_OBJS = spira.o paca.o pcia.o hdif.o memory.o fsp.o iohub.o vpd.o slca.o HDATA_OBJS += cpu-common.o vpd-common.o hostservices.o i2c.o tpmrel.o -DEVSRC_OBJ = hdata/built-in.o +DEVSRC_OBJ = hdata/built-in.a $(DEVSRC_OBJ): $(HDATA_OBJS:%=hdata/%) diff --git a/hw/Makefile.inc b/hw/Makefile.inc index 04cacd12..2dc3cc07 100644 --- a/hw/Makefile.inc +++ b/hw/Makefile.inc @@ -8,7 +8,7 @@ HW_OBJS += phb3.o sfc-ctrl.o fake-rtc.o bt.o p8-i2c.o prd.o HW_OBJS += dts.o lpc-rtc.o npu.o npu-hw-procedures.o xive.o phb4.o HW_OBJS += fake-nvram.o lpc-mbox.o npu2.o npu2-hw-procedures.o HW_OBJS += phys-map.o sbe-p9.o capp.o occ-sensor.o vas.o -HW=hw/built-in.o +HW=hw/built-in.a # FIXME hack this for now CFLAGS_hw/phb4.o = -Wno-unused-value -Wno-unused-parameter diff --git a/hw/ast-bmc/Makefile.inc b/hw/ast-bmc/Makefile.inc index a97c0dbe..29e7a35b 100644 --- a/hw/ast-bmc/Makefile.inc +++ b/hw/ast-bmc/Makefile.inc @@ -1,5 +1,5 @@ SUBDIRS += hw/ast-bmc AST_BMC_OBJS = ast-io.o ast-sf-ctrl.o -AST_BMC = hw/ast-bmc/built-in.o +AST_BMC = hw/ast-bmc/built-in.a $(AST_BMC): $(AST_BMC_OBJS:%=hw/ast-bmc/%) diff --git a/hw/ec/Makefile.inc b/hw/ec/Makefile.inc index 09c9c848..f944d4df 100644 --- a/hw/ec/Makefile.inc +++ b/hw/ec/Makefile.inc @@ -3,6 +3,6 @@ SUBDIRS += hw/ec EC_OBJS = gpio.o -EC=hw/ec/built-in.o +EC=hw/ec/built-in.a $(EC): $(EC_OBJS:%=hw/ec/%) diff --git a/hw/fsp/Makefile.inc b/hw/fsp/Makefile.inc index 71690954..7a477db7 100644 --- a/hw/fsp/Makefile.inc +++ b/hw/fsp/Makefile.inc @@ -6,5 +6,5 @@ FSP_OBJS += fsp-diag.o fsp-leds.o fsp-mem-err.o fsp-op-panel.o FSP_OBJS += fsp-elog-read.o fsp-elog-write.o fsp-epow.o fsp-dpo.o FSP_OBJS += fsp-dump.o fsp-mdst-table.o fsp-chiptod.o fsp-ipmi.o FSP_OBJS += fsp-attn.o -FSP = hw/fsp/built-in.o +FSP = hw/fsp/built-in.a $(FSP): $(FSP_OBJS:%=hw/fsp/%) diff --git a/hw/ipmi/Makefile.inc b/hw/ipmi/Makefile.inc index a54602cb..34d6bd31 100644 --- a/hw/ipmi/Makefile.inc +++ b/hw/ipmi/Makefile.inc @@ -3,5 +3,5 @@ SUBDIRS += hw/ipmi IPMI_OBJS = ipmi-rtc.o ipmi-power.o ipmi-fru.o ipmi-sel.o IPMI_OBJS += ipmi-watchdog.o ipmi-sensor.o ipmi-attn.o -IPMI = hw/ipmi/built-in.o +IPMI = hw/ipmi/built-in.a $(IPMI): $(IPMI_OBJS:%=hw/ipmi/%) diff --git a/libc/Makefile.inc b/libc/Makefile.inc index 66ce4ab0..13f8034f 100644 --- a/libc/Makefile.inc +++ b/libc/Makefile.inc @@ -1,7 +1,7 @@ LIBCDIR = libc SUBDIRS += $(LIBCDIR) -LIBC = $(LIBCDIR)/built-in.o $(LIBCDIR)/time.o +LIBC = $(LIBCDIR)/built-in.a $(LIBCDIR)/time.o include $(SRC)/$(LIBCDIR)/string/Makefile.inc include $(SRC)/$(LIBCDIR)/ctype/Makefile.inc diff --git a/libc/ctype/Makefile.inc b/libc/ctype/Makefile.inc index da78c983..c183a54b 100644 --- a/libc/ctype/Makefile.inc +++ b/libc/ctype/Makefile.inc @@ -14,6 +14,6 @@ SUBDIRS += $(LIBCDIR)/ctype CTYPE_OBJS = isdigit.o isprint.o isspace.o isxdigit.o tolower.o toupper.o -CTYPE = $(LIBCDIR)/ctype/built-in.o +CTYPE = $(LIBCDIR)/ctype/built-in.a $(CTYPE): $(CTYPE_OBJS:%=$(LIBCDIR)/ctype/%) diff --git a/libc/stdio/Makefile.inc b/libc/stdio/Makefile.inc index d2aee0f5..a5436d73 100644 --- a/libc/stdio/Makefile.inc +++ b/libc/stdio/Makefile.inc @@ -17,5 +17,5 @@ STDIO_OBJS = vfprintf.o vsnprintf.o fprintf.o \ setvbuf.o fputc.o puts.o fputs.o putchar.o \ stdchnls.o fileno.o snprintf.o -STDIO = $(LIBCDIR)/stdio/built-in.o +STDIO = $(LIBCDIR)/stdio/built-in.a $(STDIO): $(STDIO_OBJS:%=$(LIBCDIR)/stdio/%) diff --git a/libc/stdlib/Makefile.inc b/libc/stdlib/Makefile.inc index 22417dfb..8a78d173 100644 --- a/libc/stdlib/Makefile.inc +++ b/libc/stdlib/Makefile.inc @@ -15,6 +15,6 @@ SUBDIRS += $(LIBCDIR)/stdlib STDLIB_OBJS = error.o atoi.o atol.o strtol.o strtoul.o \ rand.o labs.o -STDLIB = $(LIBCDIR)/stdlib/built-in.o +STDLIB = $(LIBCDIR)/stdlib/built-in.a $(STDLIB): $(STDLIB_OBJS:%=$(LIBCDIR)/stdlib/%) diff --git a/libc/string/Makefile.inc b/libc/string/Makefile.inc index fb2f0371..122f5daa 100644 --- a/libc/string/Makefile.inc +++ b/libc/string/Makefile.inc @@ -16,6 +16,6 @@ STRING_OBJS = strcat.o strchr.o strcmp.o strcpy.o strlen.o \ strncmp.o strncpy.o strstr.o memset.o memcpy.o memcpy_from_ci.o \ memmove.o memchr.o memcmp.o strcasecmp.o strncasecmp.o \ strtok.o strdup.o -STRING = $(LIBCDIR)/string/built-in.o +STRING = $(LIBCDIR)/string/built-in.a $(STRING): $(STRING_OBJS:%=$(LIBCDIR)/string/%) diff --git a/libfdt/Makefile.inc b/libfdt/Makefile.inc index e477d7c4..63c9d38e 100644 --- a/libfdt/Makefile.inc +++ b/libfdt/Makefile.inc @@ -12,7 +12,7 @@ LIBFDT_OBJS = $(LIBFDT_SRCS:%.c=%.o) CFLAGS_SKIP_libfdt/fdt_sw.o = -Wstack-usage=4096 SUBDIRS += libfdt -LIBFDT = libfdt/built-in.o +LIBFDT = libfdt/built-in.a $(LIBFDT): $(LIBFDT_OBJS:%=libfdt/%) diff --git a/libflash/Makefile.inc b/libflash/Makefile.inc index ea64eb46..2474abfc 100644 --- a/libflash/Makefile.inc +++ b/libflash/Makefile.inc @@ -2,6 +2,6 @@ LIBFLASH_SRCS = libflash.c libffs.c ecc.c blocklevel.c mbox-flash.c LIBFLASH_OBJS = $(LIBFLASH_SRCS:%.c=%.o) SUBDIRS += libflash -LIBFLASH = libflash/built-in.o +LIBFLASH = libflash/built-in.a $(LIBFLASH): $(LIBFLASH_OBJS:%=libflash/%) diff --git a/libpore/Makefile.inc b/libpore/Makefile.inc index cc891279..1060a049 100644 --- a/libpore/Makefile.inc +++ b/libpore/Makefile.inc @@ -3,7 +3,7 @@ LIBPORE_SRCS += p8_pore_table_static_data.c sbe_xip_image.c pore_inline_assemble LIBPORE_OBJS_1 = $(LIBPORE_SRCS:%.c=%.o) LIBPORE_OBJS = $(LIBPORE_OBJS_1:%.C=%.o) SUBDIRS += libpore -LIBPORE = libpore/built-in.o +LIBPORE = libpore/built-in.a CFLAGS_SKIP_libpore/pore_inline_assembler.o=-Wsuggest-attribute=const diff --git a/libstb/Makefile.inc b/libstb/Makefile.inc index 3ea530ad..6d54c5cd 100644 --- a/libstb/Makefile.inc +++ b/libstb/Makefile.inc @@ -6,7 +6,7 @@ SUBDIRS += $(LIBSTB_DIR) LIBSTB_SRCS = container.c tpm_chip.c cvc.c secureboot.c trustedboot.c LIBSTB_OBJS = $(LIBSTB_SRCS:%.c=%.o) -LIBSTB = $(LIBSTB_DIR)/built-in.o +LIBSTB = $(LIBSTB_DIR)/built-in.a include $(SRC)/$(LIBSTB_DIR)/mbedtls/Makefile.inc include $(SRC)/$(LIBSTB_DIR)/drivers/Makefile.inc diff --git a/libstb/drivers/Makefile.inc b/libstb/drivers/Makefile.inc index 3b8ed0f8..80356eb3 100644 --- a/libstb/drivers/Makefile.inc +++ b/libstb/drivers/Makefile.inc @@ -6,6 +6,6 @@ SUBDIRS += $(DRIVERS_DIR) DRIVERS_SRCS = tpm_i2c_interface.c tpm_i2c_nuvoton.c DRIVERS_OBJS = $(DRIVERS_SRCS:%.c=%.o) -DRIVERS = $(DRIVERS_DIR)/built-in.o +DRIVERS = $(DRIVERS_DIR)/built-in.a $(DRIVERS): $(DRIVERS_OBJS:%=$(DRIVERS_DIR)/%) diff --git a/libstb/mbedtls/Makefile.inc b/libstb/mbedtls/Makefile.inc index 07aa26a0..deacd26c 100644 --- a/libstb/mbedtls/Makefile.inc +++ b/libstb/mbedtls/Makefile.inc @@ -6,6 +6,6 @@ SUBDIRS += $(MBEDTLS_DIR) MBEDTLS_SRCS = sha512.c MBEDTLS_OBJS = $(MBEDTLS_SRCS:%.c=%.o) -MBEDTLS = $(MBEDTLS_DIR)/built-in.o +MBEDTLS = $(MBEDTLS_DIR)/built-in.a $(MBEDTLS): $(MBEDTLS_OBJS:%=$(MBEDTLS_DIR)/%) diff --git a/libstb/tss/Makefile.inc b/libstb/tss/Makefile.inc index 2b5c3b9f..ed5154d7 100644 --- a/libstb/tss/Makefile.inc +++ b/libstb/tss/Makefile.inc @@ -7,7 +7,7 @@ SUBDIRS += $(TSS_DIR) TSS_SRCS = trustedbootCmds.C trustedTypes.C trustedbootUtils.C \ tpmLogMgr.C TSS_OBJS = $(TSS_SRCS:%.C=%.o) -TSS = $(TSS_DIR)/built-in.o +TSS = $(TSS_DIR)/built-in.a $(TSS): $(TSS_OBJS:%=$(TSS_DIR)/%) diff --git a/libxz/Makefile.inc b/libxz/Makefile.inc index 29873286..4fe7c3e4 100644 --- a/libxz/Makefile.inc +++ b/libxz/Makefile.inc @@ -2,6 +2,6 @@ LIBXZ_SRCS = xz_dec_stream.c xz_dec_lzma2.c xz_crc32.c LIBXZ_OBJS = $(LIBXZ_SRCS:%.c=%.o) SUBDIRS += libxz -LIBXZ = libxz/built-in.o +LIBXZ = libxz/built-in.a $(LIBXZ): $(LIBXZ_OBJS:%=libxz/%) diff --git a/platforms/Makefile.inc b/platforms/Makefile.inc index 90cd0f1c..3269532a 100644 --- a/platforms/Makefile.inc +++ b/platforms/Makefile.inc @@ -1,7 +1,7 @@ PLATDIR = platforms SUBDIRS += $(PLATDIR) -PLATFORMS = $(PLATDIR)/built-in.o +PLATFORMS = $(PLATDIR)/built-in.a include $(SRC)/$(PLATDIR)/ibm-fsp/Makefile.inc include $(SRC)/$(PLATDIR)/rhesus/Makefile.inc diff --git a/platforms/astbmc/Makefile.inc b/platforms/astbmc/Makefile.inc index 49292c10..d9965365 100644 --- a/platforms/astbmc/Makefile.inc +++ b/platforms/astbmc/Makefile.inc @@ -6,6 +6,6 @@ ASTBMC_OBJS = pnor.o common.o slots.o \ garrison.o barreleye.o \ witherspoon.o zaius.o romulus.o p9dsu.o -ASTBMC = $(PLATDIR)/astbmc/built-in.o +ASTBMC = $(PLATDIR)/astbmc/built-in.a $(ASTBMC): $(ASTBMC_OBJS:%=$(PLATDIR)/astbmc/%) diff --git a/platforms/ibm-fsp/Makefile.inc b/platforms/ibm-fsp/Makefile.inc index e9daab2b..c4b55a31 100644 --- a/platforms/ibm-fsp/Makefile.inc +++ b/platforms/ibm-fsp/Makefile.inc @@ -2,6 +2,6 @@ SUBDIRS += $(PLATDIR)/ibm-fsp IBM_FSP_OBJS = common.o lxvpd.o apollo.o apollo-pci.o \ firenze.o firenze-pci.o zz.o -IBM_FSP = $(PLATDIR)/ibm-fsp/built-in.o +IBM_FSP = $(PLATDIR)/ibm-fsp/built-in.a $(IBM_FSP): $(IBM_FSP_OBJS:%=$(PLATDIR)/ibm-fsp/%) diff --git a/platforms/mambo/Makefile.inc b/platforms/mambo/Makefile.inc index f3023ef0..b0e6b0c4 100644 --- a/platforms/mambo/Makefile.inc +++ b/platforms/mambo/Makefile.inc @@ -1,6 +1,6 @@ SUBDIRS += $(PLATDIR)/mambo MAMBO_OBJS = mambo.o console.o -MAMBO = $(PLATDIR)/mambo/built-in.o +MAMBO = $(PLATDIR)/mambo/built-in.a $(MAMBO): $(MAMBO_OBJS:%=$(PLATDIR)/mambo/%) diff --git a/platforms/qemu/Makefile.inc b/platforms/qemu/Makefile.inc index 11a44dbd..d4f988e7 100644 --- a/platforms/qemu/Makefile.inc +++ b/platforms/qemu/Makefile.inc @@ -1,6 +1,6 @@ SUBDIRS += $(PLATDIR)/qemu QEMU_OBJS = qemu.o -QEMU = $(PLATDIR)/qemu/built-in.o +QEMU = $(PLATDIR)/qemu/built-in.a $(QEMU): $(QEMU_OBJS:%=$(PLATDIR)/qemu/%) diff --git a/platforms/rhesus/Makefile.inc b/platforms/rhesus/Makefile.inc index 5899ca2f..3a3fd87e 100644 --- a/platforms/rhesus/Makefile.inc +++ b/platforms/rhesus/Makefile.inc @@ -1,6 +1,6 @@ SUBDIRS += $(PLATDIR)/rhesus RHESUS_OBJS = rhesus.o -RHESUS = $(PLATDIR)/rhesus/built-in.o +RHESUS = $(PLATDIR)/rhesus/built-in.a $(RHESUS): $(RHESUS_OBJS:%=$(PLATDIR)/rhesus/%)