Browse Source

ixp4xx: make apex optional, clean up the makefile - fixes spurious recompilation issues

SVN-Revision: 15115
Felix Fietkau 16 years ago
parent
commit
0cb0c1a257

+ 61 - 0
package/apex/Makefile

@@ -0,0 +1,61 @@
+# 
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=apex
+PKG_VERSION:=1.5.14
+PKG_RELEASE:=3
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=ftp://ftp.buici.com/pub/apex/ \
+	ftp://metalab.unc.edu/pub/Linux/system/boot/apex/
+PKG_MD5SUM:=22fb46e76c8221c7bcc9734602367460
+PKG_TARGETS:=bin
+
+include $(INCLUDE_DIR)/package.mk
+
+export GCC_HONOUR_COPTS=s
+
+define Package/apex
+  SECTION:=boot
+  CATEGORY:=Boot Loaders
+  DEPENDS:=@TARGET_ixp4xx
+  DEFAULT:=y
+  TITLE:=Boot loader for NSLU2, FSG3, NAS100D and others
+  URL:=http://wiki.buici.com/wiki/Apex_Bootloader
+endef
+
+define build_apex
+	$(MAKE) -C $(PKG_BUILD_DIR) \
+		ARCH=arm \
+		$(1)_config
+	$(SED) 's,.*CONFIG_AEABI.*,$(if $(CONFIG_EABI_SUPPORT),CONFIG_AEABI=y,# CONFIG_AEABI is not set),' $(PKG_BUILD_DIR)/.config
+	$(MAKE) -C $(PKG_BUILD_DIR) \
+		$(TARGET_CONFIGURE_OPTS) \
+		KBUILD_HAVE_NLS=no \
+		ARCH=arm \
+		clean all
+	$(INSTALL_BIN) $(PKG_BUILD_DIR)/apex.bin $(PKG_BUILD_DIR)/out/apex-$(2).bin
+endef
+
+define Build/Compile
+	$(INSTALL_DIR) $(PKG_BUILD_DIR)/out
+	$(call build_apex,slugos-nslu2-armeb,nslu2-armeb)
+	$(call build_apex,slugos-nslu2-16mb-armeb,nslu2-16mb-armeb)
+	$(call build_apex,slugos-fsg3-armeb,fsg3-armeb)
+	$(call build_apex,slugos-nas100d-armeb,nas100d-armeb)
+endef
+
+define Package/apex/install
+	$(INSTALL_DIR) $(STAGING_DIR)/apex
+	$(CP) $(PKG_BUILD_DIR)/out/*.bin $(1)/
+endef
+
+$(eval $(call BuildPackage,apex))

+ 0 - 0
target/linux/ixp4xx/image/apex/patches/100-openwrt_nslu2_armeb_config.patch → package/apex/patches/100-openwrt_nslu2_armeb_config.patch


+ 0 - 0
target/linux/ixp4xx/image/apex/patches/120-openwrt_nslu2_16mb_armeb_config.patch → package/apex/patches/120-openwrt_nslu2_16mb_armeb_config.patch


+ 0 - 0
target/linux/ixp4xx/image/apex/patches/140-openwrt_fsg3_armeb_config.patch → package/apex/patches/140-openwrt_fsg3_armeb_config.patch


+ 0 - 0
target/linux/ixp4xx/image/apex/patches/150-limit_ram_to_64mb.patch → package/apex/patches/150-limit_ram_to_64mb.patch


+ 0 - 0
target/linux/ixp4xx/image/apex/patches/160-openwrt_nas100d_armeb_config.patch → package/apex/patches/160-openwrt_nas100d_armeb_config.patch


+ 6 - 16
target/linux/ixp4xx/image/Makefile

@@ -7,18 +7,20 @@
 include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/image.mk
 
-define Image/Build/Linksys
+ifdef CONFIG_PACKAGE_apex
+  define Image/Build/Linksys
 	BIN_DIR=$(BIN_DIR) $(TOPDIR)/scripts/slugimage.pl \
-		-L $(BIN_DIR)/apex-$(2)-armeb.bin \
+		-L $(BIN_DIR)/apex/apex-$(2)-armeb.bin \
 		-k $(BIN_DIR)/openwrt-$(2)-zImage \
 		-r rootfs:$(BIN_DIR)/openwrt-$(BOARD)-$(1).img \
 		-p -o $(BIN_DIR)/openwrt-$(2)-$(1).bin
 	BIN_DIR=$(BIN_DIR) $(TOPDIR)/scripts/slugimage.pl \
-		-F -L $(BIN_DIR)/apex-$(2)-16mb-armeb.bin \
+		-F -L $(BIN_DIR)/apex/apex-$(2)-16mb-armeb.bin \
 		-k $(BIN_DIR)/openwrt-$(2)-zImage \
 		-r rootfs:$(BIN_DIR)/openwrt-$(BOARD)-$(1).img \
 		-p -o $(BIN_DIR)/openwrt-$(2)-$(1)-16mb.bin
-endef
+  endef
+endif
 
 define Image/Build/Freecom
 	$(INSTALL_DIR) $(TARGET_DIR)/boot
@@ -30,18 +32,6 @@ define Image/Build/Freecom
 	$(STAGING_DIR_HOST)/bin/encode_crc $(BIN_DIR)/openwrt-$(2)-$(1).img $(BIN_DIR)/openwrt-$(2)-$(1)-webupgrade.img
 endef
 
-define Build/Compile
-	mkdir -p $(BIN_DIR)
-	$(MAKE) -C apex \
-		BUILD_DIR="$(KDIR)" \
-		TARGET="$(BIN_DIR)" \
-		compile	
-endef
-
-define Build/Clean
-	$(MAKE) -C apex clean
-endef
-
 define Image/Prepare
 	cp $(LINUX_DIR)/arch/arm/boot/zImage $(KDIR)/zImage
 endef

+ 0 - 76
target/linux/ixp4xx/image/apex/Makefile

@@ -1,76 +0,0 @@
-# 
-# Copyright (C) 2006 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-# $Id$
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=apex
-PKG_VERSION:=1.5.14
-PKG_RELEASE:=3
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=ftp://ftp.buici.com/pub/apex/ \
-	ftp://metalab.unc.edu/pub/Linux/system/boot/apex/
-PKG_MD5SUM:=22fb46e76c8221c7bcc9734602367460
-
-include $(INCLUDE_DIR)/package.mk
-export GCC_HONOUR_COPTS=s
-
-define Build/Compile
-	$(MAKE) -C $(PKG_BUILD_DIR) \
-		ARCH=arm \
-		slugos-nslu2-armeb_config
-	$(SED) 's,.*CONFIG_AEABI.*,$(if $(CONFIG_EABI_SUPPORT),CONFIG_AEABI=y,# CONFIG_AEABI is not set),' $(PKG_BUILD_DIR)/.config
-	$(MAKE) -C $(PKG_BUILD_DIR) \
-		$(TARGET_CONFIGURE_OPTS) \
-		KBUILD_HAVE_NLS=no \
-		ARCH=arm \
-		all
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/apex.bin $(TARGET)/apex-nslu2-armeb.bin
-	$(MAKE) -C $(PKG_BUILD_DIR) \
-		$(TARGET_CONFIGURE_OPTS) \
-		KBUILD_HAVE_NLS=no \
-		ARCH=arm \
-		clean
-	$(MAKE) -C $(PKG_BUILD_DIR) \
-		ARCH=arm \
-		slugos-nslu2-16mb-armeb_config
-	$(SED) 's,.*CONFIG_AEABI.*,$(if $(CONFIG_EABI_SUPPORT),CONFIG_AEABI=y,# CONFIG_AEABI is not set),' $(PKG_BUILD_DIR)/.config
-	$(MAKE) -C $(PKG_BUILD_DIR) \
-		$(TARGET_CONFIGURE_OPTS) \
-		KBUILD_HAVE_NLS=no \
-		ARCH=arm \
-		all
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/apex.bin $(TARGET)/apex-nslu2-16mb-armeb.bin
-	$(MAKE) -C $(PKG_BUILD_DIR) \
-		ARCH=arm \
-		slugos-fsg3-armeb_config
-	$(SED) 's,.*CONFIG_AEABI.*,$(if $(CONFIG_EABI_SUPPORT),CONFIG_AEABI=y,# CONFIG_AEABI is not set),' $(PKG_BUILD_DIR)/.config
-	$(MAKE) -C $(PKG_BUILD_DIR) \
-		$(TARGET_CONFIGURE_OPTS) \
-		KBUILD_HAVE_NLS=no \
-		ARCH=arm \
-		all
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/apex.bin $(TARGET)/apex-fsg3-armeb.bin
-	$(MAKE) -C $(PKG_BUILD_DIR) \
-		ARCH=arm \
-		slugos-nas100d-armeb_config
-	$(SED) 's,.*CONFIG_AEABI.*,$(if $(CONFIG_EABI_SUPPORT),CONFIG_AEABI=y,# CONFIG_AEABI is not set),' $(PKG_BUILD_DIR)/.config
-	$(MAKE) -C $(PKG_BUILD_DIR) \
-		$(TARGET_CONFIGURE_OPTS) \
-		KBUILD_HAVE_NLS=no \
-		ARCH=arm \
-		all
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/apex.bin $(TARGET)/apex-nas100d-armeb.bin
-endef
-
-define Build/InstallDev
-	true
-endef
-
-$(eval $(call Build/DefaultTargets))