Split the objcopy stage out of final image preparation to a separate
authorMichael Brown <mcb30@etherboot.org>
Mon, 16 Jul 2007 12:41:27 +0000 (13:41 +0100)
committerMichael Brown <mcb30@etherboot.org>
Mon, 16 Jul 2007 12:41:27 +0000 (13:41 +0100)
bin/%.bin target.

src/Makefile
src/Makefile.housekeeping

index ca9cd50..4f50456 100644 (file)
@@ -73,6 +73,7 @@ CPP           ?= gcc -E -Wp,-Wall
 RM             ?= rm -f
 TOUCH          ?= touch
 MKDIR          ?= mkdir
+CP             ?= cp
 PERL           ?= /usr/bin/perl
 CC             ?= $(CROSS_COMPILE)gcc
 AS             ?= $(CROSS_COMPILE)as
index c62650e..12041ce 100644 (file)
@@ -307,6 +307,12 @@ $(BIN)/%.tmp : $(BLIB) $(MAKEDEPS) $(LDSCRIPT)
 $(BIN)/%.map : $(BIN)/%.tmp
        @less $(BIN)/$*.tmp.map
 
+# Build raw binary file from intermediate object file
+#
+$(BIN)/%.bin : $(BIN)/%.tmp
+       $(QM)echo "  [BIN] $@"
+       $(Q)$(OBJCOPY) -O binary $< $@
+
 # Build bochs symbol table
 $(BIN)/%.bxs : $(BIN)/%.tmp
        $(NM) $< | cut -d" " -f1,3 > $@
@@ -350,9 +356,10 @@ define media_template
        @$(MKDIR) -p $(dir $(2))
        @$(RM) $(2)
        @$(TOUCH) $(2)
-       @echo -e '$$(BIN)/%$(1) : $$(BIN)/%$(1).tmp' \
-                 '\n\t$$(OBJCOPY) -O binary $$< $$@' \
-                 '\n\t$$(FINALISE_$(1))' \
+       @echo -e '$$(BIN)/%$(1) : $$(BIN)/%$(1).bin' \
+                 '\n\t$$(QM)echo "  [FINISH] $$@"' \
+                 '\n\t$$(Q)$$(CP) $$< $$@' \
+                 '\n\t$$(Q)$$(FINALISE_$(1))' \
                > $(2)
 
 endef