summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorBin Meng <bmeng.cn@gmail.com>2014-12-12 21:05:21 +0800
committerSimon Glass <sjg@chromium.org>2014-12-13 22:32:04 -0700
commitc7016234f77e3c46dab08f84399bcc4b48268c04 (patch)
treef9a577bf38abbfea6efa612571f2170e716e5c14 /Makefile
parent7dfb172d67f8c665be7377b5507e43304166cad0 (diff)
downloadu-boot-imx-c7016234f77e3c46dab08f84399bcc4b48268c04.zip
u-boot-imx-c7016234f77e3c46dab08f84399bcc4b48268c04.tar.gz
u-boot-imx-c7016234f77e3c46dab08f84399bcc4b48268c04.tar.bz2
x86: Refactor u-boot.rom build rules
Refactor u-boot.rom build rules by utilizing quiet_cmd_ and cmd_ macros. Also make writing mrc.bin and pci option rom to u-boot.rom optional and remove mrc.bin from its dependent file list as not every x86 board port needs mrc binary blob. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile48
1 files changed, 27 insertions, 21 deletions
diff --git a/Makefile b/Makefile
index 63eccc2..1560bff 100644
--- a/Makefile
+++ b/Makefile
@@ -946,27 +946,33 @@ u-boot-nand.gph: u-boot.bin FORCE
ifneq ($(CONFIG_X86_RESET_VECTOR),)
rom: u-boot.rom FORCE
-u-boot.rom: u-boot-x86-16bit.bin u-boot-dtb.bin \
- $(srctree)/board/$(BOARDDIR)/mrc.bin
- $(objtree)/tools/ifdtool -c -r $(CONFIG_ROM_SIZE) u-boot.tmp
- if [ -n "$(CONFIG_HAVE_INTEL_ME)" ]; then \
- $(objtree)/tools/ifdtool -D \
- $(srctree)/board/$(BOARDDIR)/descriptor.bin u-boot.tmp; \
- $(objtree)/tools/ifdtool \
- -i ME:$(srctree)/board/$(BOARDDIR)/me.bin u-boot.tmp; \
- fi
- $(objtree)/tools/ifdtool -w \
- $(CONFIG_SYS_TEXT_BASE):$(objtree)/u-boot-dtb.bin u-boot.tmp
- $(objtree)/tools/ifdtool -w \
- $(CONFIG_X86_MRC_START):$(srctree)/board/$(BOARDDIR)/mrc.bin \
- u-boot.tmp
- $(objtree)/tools/ifdtool -w \
- $(CONFIG_SYS_X86_START16):$(objtree)/u-boot-x86-16bit.bin \
- u-boot.tmp
- $(objtree)/tools/ifdtool -w \
- $(CONFIG_X86_OPTION_ROM_ADDR):$(srctree)/board/$(BOARDDIR)/$(CONFIG_X86_OPTION_ROM_FILENAME) \
- u-boot.tmp
- mv u-boot.tmp $@
+IFDTOOL=$(objtree)/tools/ifdtool
+IFDTOOL_FLAGS = -w $(CONFIG_SYS_TEXT_BASE):$(objtree)/u-boot-dtb.bin
+IFDTOOL_FLAGS += -w $(CONFIG_SYS_X86_START16):$(objtree)/u-boot-x86-16bit.bin
+
+ifneq ($(CONFIG_HAVE_INTEL_ME),)
+IFDTOOL_ME_FLAGS = -D $(srctree)/board/$(BOARDDIR)/descriptor.bin
+IFDTOOL_ME_FLAGS += -i ME:$(srctree)/board/$(BOARDDIR)/me.bin
+endif
+
+ifneq ($(CONFIG_HAVE_MRC),)
+IFDTOOL_FLAGS += -w $(CONFIG_X86_MRC_START):$(srctree)/board/$(BOARDDIR)/mrc.bin
+endif
+
+ifneq ($(CONFIG_X86_OPTION_ROM_ADDR),)
+IFDTOOL_FLAGS += -w $(CONFIG_X86_OPTION_ROM_ADDR):$(srctree)/board/$(BOARDDIR)/$(CONFIG_X86_OPTION_ROM_FILENAME)
+endif
+
+quiet_cmd_ifdtool = IFDTOOL $@
+cmd_ifdtool = $(IFDTOOL) -c -r $(CONFIG_ROM_SIZE) u-boot.tmp;
+ifneq ($(CONFIG_HAVE_INTEL_ME),)
+cmd_ifdtool += $(IFDTOOL) $(IFDTOOL_ME_FLAGS) u-boot.tmp;
+endif
+cmd_ifdtool += $(IFDTOOL) $(IFDTOOL_FLAGS) u-boot.tmp;
+cmd_ifdtool += mv u-boot.tmp $@
+
+u-boot.rom: u-boot-x86-16bit.bin u-boot-dtb.bin
+ $(call if_changed,ifdtool)
OBJCOPYFLAGS_u-boot-x86-16bit.bin := -O binary -j .start16 -j .resetvec
u-boot-x86-16bit.bin: u-boot FORCE