lzma loader patch from oleg, great thanks good work, saves another 300 kb flashmemory
[openwrt.git] / target / Makefile
index 8b94d424c2fd11966ea0209b0ebf1a8df2debabf..c8baab5f7ab658e859ecaa71ac290b8445dca154 100644 (file)
@@ -1,5 +1,4 @@
 include $(TOPDIR)/rules.mk
-include $(TOPDIR)/rules.mk
 
 # Default target skeleton stuff, may be overridden
 TARGET_SKEL_DIR=default/target_skeleton
@@ -20,87 +19,29 @@ endif
 ifeq ($(BR2_TARGET_WRT54GS),y)
 IMAGE_TARGETS += $(BIN_DIR)/openwrt-wrt54gs-$(1).bin
 endif
-endef
-
-TARGET_DIRS:=
-TARGET_FS:=
-IMAGE_TARGETS:=
-ifeq ($(strip $(BR2_TARGET_ROOTFS_JFFS2)),y)
-TARGET_DIRS += jffs2
-TARGET_FS += jffs2
-endif
-ifeq ($(strip $(BR2_TARGET_ROOTFS_SQUASHFS_LZMA)),y)
-TARGET_DIRS += squashfs-lzma
-TARGET_FS += squashfs
-endif
-$(foreach fs,$(TARGET_FS),$(eval $(call IMAGE_template,$(fs))))
-
-INSTALL_TARGET_DIRS:=$(patsubst %,%-install,$(TARGET_DIRS))
-$(INSTALL_TARGET_DIRS): image_clean $(TARGET_DIR)/etc/sysconf $(BIN_DIR)
-
-prepare: $(patsubst %,%-prepare,$(TARGET_DIRS))
-       mkdir -p $(TARGET_DIR)
-       if [ -f "$(TARGET_SKELETON)" ] ; then \
-       zcat $(TARGET_SKELETON) | tar -C $(BUILD_DIR) -xf -; \
-       fi;
-       if [ -d "$(TARGET_SKEL_DIR)" ] ; then \
-               cp -a $(TARGET_SKEL_DIR)/* $(TARGET_DIR)/; \
-       fi;
-       mkdir -p $(TARGET_DIR)/jffs
-       mkdir -p $(TARGET_DIR)/dev
-       mkdir -p $(TARGET_DIR)/proc
-       mkdir -p $(TARGET_DIR)/tmp
-       mkdir -p $(TARGET_DIR)/lib
-       mkdir -p $(TARGET_DIR)/usr/lib
-       mkdir -p $(TARGET_DIR)/usr/bin
-       -find $(TARGET_DIR) -type d -name CVS | xargs rm -rf
-       -find $(TARGET_DIR) -type d -name .svn | xargs rm -rf
-
-$(BIN_DIR):
-       mkdir -p $(BIN_DIR)
 
-compile: $(patsubst %,%-compile,$(TARGET_DIRS))
-install: utils-install $(patsubst %,%-install,$(TARGET_DIRS)) $(IMAGE_TARGETS)
-clean: $(patsubst %,%-clean,$(TARGET_DIRS)) image_clean
-
-image_clean:
-       rm -f $(BIN_DIR)/openwrt-*
-
-$(TARGET_DIR)/etc/sysconf:
-       mkdir -p $(TARGET_DIR)/etc
-       -grep \^BR2_SYSCONF $(TOPDIR)/.config > $(TARGET_DIR)/etc/sysconf
-
-%-clean:
-       $(MAKE) -C $(patsubst %-clean,%,$@) clean
-%-prepare:
-       $(MAKE) -C $(patsubst %-prepare,%,$@) prepare
-%-compile: %-prepare
-       $(MAKE) -C $(patsubst %-compile,%,$@) compile
-%-install: %-compile
-       $(MAKE) -C $(patsubst %-install,%,$@) install
 
+$(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
 
-# Default target skeleton stuff, may be overridden
-TARGET_SKEL_DIR=default/target_skeleton
+#  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
 
-all: install
+$(BUILD_DIR)/piggy.lzma: $(LINUX_KERNEL)
+       cat $^ | $(BUILD_DIR)/lzma/lzma e -si -so -eos > $@ || (rm -f $@ && false)
 
-define IMAGE_template
-$(BIN_DIR)/openwrt-wrt54g-$(1).bin: $(BIN_DIR)/openwrt-generic-$(patsubst jffs2,jffs2-4MB,$(1)).trx
-       PATH=$(TARGET_PATH) addpattern -2 -i $$< -o $$@ -g
-       $(SED) "1s,^W54S,W54G," $$@
-       
-$(BIN_DIR)/openwrt-wrt54gs-$(1).bin: $(BIN_DIR)/openwrt-generic-$(patsubst jffs2,jffs2-8MB,$(1)).trx
-       PATH=$(TARGET_PATH) addpattern -2 -i $$< -o $$@ -g
-       
-ifeq ($(BR2_TARGET_WRT54G),y)
-IMAGE_TARGETS += $(BIN_DIR)/openwrt-wrt54g-$(1).bin
-endif
-ifeq ($(BR2_TARGET_WRT54GS),y)
-IMAGE_TARGETS += $(BIN_DIR)/openwrt-wrt54gs-$(1).bin
-endif
-endef
+$(BUILD_DIR)/piggy.gz: $(LINUX_KERNEL)
+       cat $^ | gzip -c9 $^ > $@ || (rm -f $@ && false)
 
 TARGET_DIRS:=
 TARGET_FS:=
@@ -143,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: