lzma loader patch from oleg, great thanks good work, saves another 300 kb flashmemory
[openwrt-10.03/.git] / target / Makefile
index bbb9e74c343a3b4483504231c088caa7ea8bcf6c..c8baab5f7ab658e859ecaa71ac290b8445dca154 100644 (file)
@@ -19,8 +19,30 @@ endif
 ifeq ($(BR2_TARGET_WRT54GS),y)
 IMAGE_TARGETS += $(BIN_DIR)/openwrt-wrt54gs-$(1).bin
 endif
+
+
+$(BIN_DIR)/openwrt-motorola-$(1).bin: $(BIN_DIR)/openwrt-generic-$(patsubst jffs2,jffs2-8MB,$(1)).trx
+       PATH=$(TARGET_PATH) motorola-bin $$< $$@
+
+ifeq ($(BR2_TARGET_MOTOROLA),y)
+IMAGE_TARGETS += $(BIN_DIR)/openwrt-motorola-$(1).bin
+endif
 endef
 
+#  Enable loader and prepare kernel
+ifeq ($(strip $(BR2_PACKAGE_LOADER)),y)
+export LINUX_LOADER=$(BUILD_DIR)/lzmaldr
+export LINUX_IMAGE=$(BUILD_DIR)/piggy.lzma
+else
+export LINUX_IMAGE=$(BUILD_DIR)/piggy.gz
+endif
+
+$(BUILD_DIR)/piggy.lzma: $(LINUX_KERNEL)
+       cat $^ | $(BUILD_DIR)/lzma/lzma e -si -so -eos > $@ || (rm -f $@ && false)
+
+$(BUILD_DIR)/piggy.gz: $(LINUX_KERNEL)
+       cat $^ | gzip -c9 $^ > $@ || (rm -f $@ && false)
+
 TARGET_DIRS:=
 TARGET_FS:=
 IMAGE_TARGETS:=
@@ -62,7 +84,7 @@ $(BIN_DIR):
        mkdir -p $(BIN_DIR)
 
 compile: $(patsubst %,%-compile,$(TARGET_DIRS))
-install: utils-install $(patsubst %,%-install,$(TARGET_DIRS)) $(IMAGE_TARGETS)
+install: utils-install lzma-install $(LINUX_IMAGE) $(patsubst %,%-install,$(TARGET_DIRS)) $(IMAGE_TARGETS)
 clean: $(patsubst %,%-clean,$(TARGET_DIRS)) image_clean
 
 image_clean: