#
-# Copyright (C) 2006 OpenWrt.org
+# Copyright (C) 2006-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
-define Image/Build/slug
+ifdef CONFIG_PACKAGE_apex
+ define Image/Build/Linksys
BIN_DIR=$(BIN_DIR) $(TOPDIR)/scripts/slugimage.pl \
- -L $(BIN_DIR)/apex-nslu2-armeb.bin \
- -k $(BIN_DIR)/openwrt-nslu2-zImage \
- -r rootfs:$(BIN_DIR)/openwrt-$(BOARD)-$(1).img \
- -p -o $(BIN_DIR)/openwrt-nslu2-$(1).bin
+ -L $(BIN_DIR)/apex/apex-$(2)-armeb.bin \
+ -k $(BIN_DIR)/openwrt-$(2)-zImage \
+ -r rootfs:$(BIN_DIR)/$(IMG_PREFIX)-$(1).img \
+ -p -o $(BIN_DIR)/openwrt-$(2)-$(1).bin
BIN_DIR=$(BIN_DIR) $(TOPDIR)/scripts/slugimage.pl \
- -F -L $(BIN_DIR)/apex-nslu2-16mb-armeb.bin \
- -k $(BIN_DIR)/openwrt-nslu2-zImage \
- -r rootfs:$(BIN_DIR)/openwrt-$(BOARD)-$(1).img \
- -p -o $(BIN_DIR)/openwrt-nslu2-$(1)-16mb.bin
-endef
-
-define Build/Compile
- mkdir -p $(BIN_DIR)
- $(MAKE) -C apex \
- BUILD_DIR="$(KDIR)" \
- TARGET="$(BIN_DIR)" \
- compile
-endef
+ -F -L $(BIN_DIR)/apex/apex-$(2)-16mb-armeb.bin \
+ -k $(BIN_DIR)/openwrt-$(2)-zImage \
+ -r rootfs:$(BIN_DIR)/$(IMG_PREFIX)-$(1).img \
+ -p -o $(BIN_DIR)/openwrt-$(2)-$(1)-16mb.bin
+ endef
+endif
-define Build/Clean
- $(MAKE) -C apex clean
+define Image/Build/Freecom
+ $(INSTALL_DIR) $(TARGET_DIR)/boot
+ # TODO: Add special CMDLINE shim for webupgrade image here
+ $(CP) $(BIN_DIR)/openwrt-$(2)-zImage $(TARGET_DIR)/zImage
+ $(TAR) cfj $(BIN_DIR)/openwrt-$(2)-$(1).img --numeric-owner --owner=0 --group=0 -C $(TARGET_DIR)/ .
+ $(STAGING_DIR_HOST)/bin/encode_crc $(BIN_DIR)/openwrt-$(2)-$(1).img $(BIN_DIR)/openwrt-$(2)-$(1)-webupgrade.img
+ rm -f $(TARGET_DIR)/zImage
endef
define Image/Prepare
endef
define Image/BuildKernel
- cp $(KDIR)/zImage $(BIN_DIR)/openwrt-$(BOARD)-zImage
- BIN_DIR=$(BIN_DIR) $(TOPDIR)/scripts/arm-magic.sh
+ cp $(KDIR)/zImage $(BIN_DIR)/$(IMG_PREFIX)-zImage
+ BIN_DIR=$(BIN_DIR) IMG_PREFIX="$(IMG_PREFIX)" $(TOPDIR)/scripts/arm-magic.sh
endef
define Image/Build
endef
define Image/Build/jffs2-64k
- dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/openwrt-$(BOARD)-$(1).img bs=65536 conv=sync
+ dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-$(1).img bs=65536 conv=sync
endef
define Image/Build/jffs2-128k
- dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/openwrt-$(BOARD)-$(1).img bs=131072 conv=sync
- $(call Image/Build/slug,$(1))
+ dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-$(1).img bs=131072 conv=sync
+ $(call Image/Build/Linksys,$(1),nslu2,$(1))
+ $(call Image/Build/Freecom,$(1),fsg3,$(1))
endef
define Image/Build/squashfs
- $(call prepare_generic_squashfs,$(KDIR)/root.squashfs)
- dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/openwrt-$(BOARD)-$(1).img bs=131072 conv=sync
- $(call Image/Build/slug,$(1))
+ $(call prepare_generic_squashfs,$(KDIR)/root.squashfs)
+ dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-$(1).img bs=131072 conv=sync
+ $(call Image/Build/Linksys,$(1),nslu2,$(1))
+ $(call Image/Build/Freecom,$(1),fsg3,$(1))
endef
$(eval $(call BuildImage))