apm821xx: add support for the apm821xx device target
[oweals/openwrt.git] / target / linux / xburst / image / Makefile
index 0947db0549a7e5224a8b8455d556cd33a57af89f..08536075065a9210dde4479e3d62b925f587cab4 100644 (file)
@@ -1,34 +1,43 @@
 #
-# Copyright (C) 2009 OpenWrt.org
+# Copyright (C) 2009-2010 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
-include $(TOPDIR)/rules.mk
-include $(INCLUDE_DIR)/image.mk
 
 JFFS2_BLOCKSIZE=256k 512k
 
-ifneq ($(CONFIG_TARGET_QI_LB60),)
+include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/image.mk
+
+ifneq ($(CONFIG_TARGET_xburst_qi_lb60),)
+UBI_OPTS = -m 4096 -p 512KiB
 UBIFS_OPTS = -m 4096 -e 516096 -c 4095
-UBINIZE_OPTS = -m 4096 -p 512KiB
 else
+UBI_OPTS = -m 2048 -p 128KiB -s 512
 UBIFS_OPTS = -m 2048 -e 126KiB -c 4096
-UBINIZE_OPTS = -m 2048 -p 128KiB -s 512
 endif
 
-ifneq ($(CONFIG_XBURST_UBOOT),)
-  define Build/Clean
-       $(MAKE) -C u-boot clean
-  endef
+UIMAGE:=$(BIN_DIR)/$(IMG_PREFIX)-uImage.bin
 
-  define Build/Compile
-       $(MAKE) -C u-boot compile
-  endef
-endif
+define kernel_entry
+0x$(shell $(TARGET_CROSS)nm $(1) 2>/dev/null | grep " kernel_entry" | cut -f1 -d ' ')
+endef
+
+
+define MkImageGzip
+       gzip -9n -c $(1) > $(1).gz
+       mkimage -A mips -O linux -T kernel -a 0x80010000 -C gzip \
+               -e $(call kernel_entry,$(KDIR)/vmlinux.debug) -n 'MIPS OpenWrt Linux-$(LINUX_VERSION)' \
+               -d $(1).gz $(2)
+endef
+
+define Image/Prepare
+       $(call MkImageGzip,$(KDIR)/vmlinux,$(KDIR)/uimage)
+endef
 
 define Image/BuildKernel
-       cp $(KDIR)/linux-$(LINUX_VERSION)/arch/mips/boot/uImage $(BIN_DIR)/openwrt-$(BOARD)-uImage.bin
+       cp $(KDIR)/uimage $(UIMAGE)
 endef
 
 define Image/Build/squashfs
@@ -36,7 +45,7 @@ define Image/Build/squashfs
 endef
 
 define Image/Build
-       dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/openwrt-$(BOARD)-$(SUBTARGET)-root.$(1) bs=128k conv=sync
+       dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1) bs=128k conv=sync
 endef
 
 $(eval $(call BuildImage))