summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile10
-rw-r--r--src/arch/i386/Kconfig10
-rw-r--r--src/arch/i386/Makefile.tinybootblock.inc5
3 files changed, 22 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 5925996b9f..acf7156705 100644
--- a/Makefile
+++ b/Makefile
@@ -284,15 +284,19 @@ doxyclean: doxygen-clean
doxygen-clean:
rm -rf $(DOXYGEN_OUTPUT_DIR)
-clean: doxygen-clean
- rm -f $(allobjs) $(obj)/coreboot* .xcompile
+clean-for-update: doxygen-clean
+ rm -f $(objs) $(initobjs) $(drivers) $(smmobjs) .xcompile
+ rm -f $(obj)/coreboot_ram* $(obj)/coreboot.romstage $(obj)/coreboot.pre* $(obj)/coreboot.bootblock $(obj)/coreboot.a
rm -rf $(obj)/bootblock* $(obj)/romstage* $(obj)/location.*
- rm -f $(obj)/option_table.* $(obj)/crt0_includes.h $(obj)/ldscript
+ rm -f $(obj)/option_table.* $(obj)/crt0_includes.h $(obj)/ldscript $(obj)/config.h
rm -f $(obj)/mainboard/$(MAINBOARDDIR)/static.c $(obj)/mainboard/$(MAINBOARDDIR)/config.py $(obj)/mainboard/$(MAINBOARDDIR)/static.dot
rm -f $(obj)/mainboard/$(MAINBOARDDIR)/auto.inc $(obj)/mainboard/$(MAINBOARDDIR)/crt0.s $(obj)/mainboard/$(MAINBOARDDIR)/crt0.disasm
rmdir -p $(alldirs) 2>/dev/null >/dev/null || true
$(MAKE) -C util/sconfig clean
+clean: clean-for-update
+ rm -f $(obj)/coreboot*
+
distclean: clean
rm -rf $(obj)
rm -f .config .config.old ..config.tmp .kconfig.d .tmpconfig*
diff --git a/src/arch/i386/Kconfig b/src/arch/i386/Kconfig
index d64eb7f28e..bf60039f8f 100644
--- a/src/arch/i386/Kconfig
+++ b/src/arch/i386/Kconfig
@@ -49,6 +49,16 @@ config BIG_BOOTBLOCK
default n if TINY_BOOTBLOCK
default y
+config UPDATE_IMAGE
+ bool "Update existing coreboot.rom image"
+ default n
+ depends on TINY_BOOTBLOCK
+ help
+ If this option is activate, no new coreboot.rom file
+ is created. Instead it is expected that there already
+ is a suitable file for further processing.
+ The bootblock will not be modified.
+
config ROMCC
bool
default n
diff --git a/src/arch/i386/Makefile.tinybootblock.inc b/src/arch/i386/Makefile.tinybootblock.inc
index e570a290d3..5457d7937d 100644
--- a/src/arch/i386/Makefile.tinybootblock.inc
+++ b/src/arch/i386/Makefile.tinybootblock.inc
@@ -3,9 +3,14 @@ ifdef POST_EVALUATION
#######################################################################
# Build the final rom image
+ifneq ($(CONFIG_UPDATE_IMAGE),y)
$(obj)/coreboot.pre1: $(obj)/coreboot.bootblock $(CBFSTOOL)
rm -f $@
$(CBFSTOOL) $@ create $(CONFIG_COREBOOT_ROMSIZE_KB)K $(obj)/coreboot.bootblock
+else
+$(obj)/coreboot.pre1: $(CBFSTOOL)
+ mv $(obj)/coreboot.rom $@
+endif
$(obj)/coreboot.pre: $(obj)/coreboot.romstage $(obj)/coreboot.pre1 $(CBFSTOOL)
rm -f $@