summaryrefslogtreecommitdiffstats
path: root/src/Makefile.housekeeping
diff options
context:
space:
mode:
authorMichael Brown2007-07-16 17:58:38 +0200
committerMichael Brown2007-07-16 17:58:38 +0200
commit048bbeeebcfce2eac0a21a8eaf44a6810d685032 (patch)
treed1d55fed52f9ece7f2fc510a81725e7137ff0104 /src/Makefile.housekeeping
parentSplit the objcopy stage out of final image preparation to a separate (diff)
downloadipxe-048bbeeebcfce2eac0a21a8eaf44a6810d685032.tar.gz
ipxe-048bbeeebcfce2eac0a21a8eaf44a6810d685032.tar.xz
ipxe-048bbeeebcfce2eac0a21a8eaf44a6810d685032.zip
Compressed ROM images now work.
Diffstat (limited to 'src/Makefile.housekeeping')
-rw-r--r--src/Makefile.housekeeping26
1 files changed, 22 insertions, 4 deletions
diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping
index 12041ce6..ff52de1d 100644
--- a/src/Makefile.housekeeping
+++ b/src/Makefile.housekeeping
@@ -307,11 +307,23 @@ $(BIN)/%.tmp : $(BLIB) $(MAKEDEPS) $(LDSCRIPT)
$(BIN)/%.map : $(BIN)/%.tmp
@less $(BIN)/$*.tmp.map
+# Extract compression information from intermediate object file
+#
+$(BIN)/%.zinfo : $(BIN)/%.tmp
+ $(QM)echo " [ZINFO] $@"
+ $(Q)$(OBJCOPY) -O binary -j .zinfo $< $@
+
# Build raw binary file from intermediate object file
#
$(BIN)/%.bin : $(BIN)/%.tmp
$(QM)echo " [BIN] $@"
- $(Q)$(OBJCOPY) -O binary $< $@
+ $(Q)$(OBJCOPY) -O binary -R .zinfo $< $@
+
+# Compress raw binary file
+#
+$(BIN)/%.zbin : $(BIN)/%.bin $(BIN)/%.zinfo $(ZBIN)
+ $(QM)echo " [ZBIN] $@"
+ $(Q)$(ZBIN) $(BIN)/$*.bin $(BIN)/$*.zinfo > $@
# Build bochs symbol table
$(BIN)/%.bxs : $(BIN)/%.tmp
@@ -356,7 +368,7 @@ define media_template
@$(MKDIR) -p $(dir $(2))
@$(RM) $(2)
@$(TOUCH) $(2)
- @echo -e '$$(BIN)/%$(1) : $$(BIN)/%$(1).bin' \
+ @echo -e '$$(BIN)/%$(1) : $$(BIN)/%$(1).zbin' \
'\n\t$$(QM)echo " [FINISH] $$@"' \
'\n\t$$(Q)$$(CP) $$< $$@' \
'\n\t$$(Q)$$(FINALISE_$(1))' \
@@ -383,13 +395,19 @@ include $(MEDIA_DEPS)
allroms allzroms : all%s : $(foreach ROM,$(ROMS),$(BIN)/$(ROM).%)
all%s : $(foreach DRIVER,$(DRIVERS),$(BIN)/$(DRIVER).%)
-# The compressor utility
+# The compression utilities
#
$(NRV2B) : util/nrv2b.c $(MAKEDEPS)
- $(HOST_CC) -O2 -DENCODE -DDECODE -DMAIN -DVERBOSE -DNDEBUG \
+ $(QM)echo " [HOSTCC] $@"
+ $(Q)$(HOST_CC) -O2 -DENCODE -DDECODE -DMAIN -DVERBOSE -DNDEBUG \
-DBITSIZE=32 -DENDIAN=0 -o $@ $<
CLEANUP += $(NRV2B)
+$(ZBIN) : util/zbin.c util/nrv2b.c $(MAKEDEPS)
+ $(QM)echo " [HOSTCC] $@"
+ $(Q)$(HOST_CC) -O2 -o $@ $<
+CLEANUP += $(ZBIN)
+
# Auto-incrementing build serial number. Append "bs" to your list of
# build targets to get a serial number printed at the end of the
# build. Enable -DBUILD_SERIAL in order to see it when the code runs.