-# $Id$
+#
+# Copyright (C) 2009 Jo-Philipp Wich <xm@subsignal.org>
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
include $(TOPDIR)/rules.mk
PKG_NAME:=nvram
-PKG_RELEASE:=1
+PKG_RELEASE:=5
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
+PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
-include $(TOPDIR)/package/rules.mk
+include $(INCLUDE_DIR)/package.mk
-# does not depend on menuconfig
-ifneq ($(BOARD)-$(KERNEL),brcm-2.4)
-BR2_PACKAGE_NVRAM:=m
-else
-BR2_PACKAGE_NVRAM:=y
-endif
+define Package/nvram
+ SECTION:=utils
+ CATEGORY:=Base system
+ TITLE:=Userspace port of the Broadcom NVRAM manipulation tool
+ DEPENDS:=@TARGET_brcm_2_4||@TARGET_brcm47xx||@TARGET_ar71xx
+endef
-$(eval $(call PKG_template,NVRAM,nvram,$(PKG_RELEASE),$(ARCH)))
+define Package/nvram/description
+ This package contains an utility to manipulate NVRAM on Broadcom based devices.
+ It works on both brcm-2.4 and bcm47xx (Linux 2.6) without using the kernel api.
+endef
-$(PKG_BUILD_DIR)/.prepared:
+define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
- cp -a ./src/* $(PKG_BUILD_DIR)
- touch $@
-
-$(PKG_BUILD_DIR)/.built:
- $(MAKE) -C $(PKG_BUILD_DIR) \
- $(TARGET_CONFIGURE_OPTS) \
- CFLAGS="$(TARGET_CFLAGS) -I $(STAGING_DIR)/usr/include"
- touch $@
-
-$(IPKG_NVRAM):
- mkdir -p $(IDIR_NVRAM)/usr/lib
- cp $(PKG_BUILD_DIR)/*.so $(IDIR_NVRAM)/usr/lib
- mkdir -p $(IDIR_NVRAM)/usr/sbin
- cp $(PKG_BUILD_DIR)/nvram $(IDIR_NVRAM)/usr/sbin
- $(RSTRIP) $(IDIR_NVRAM)
- $(IPKG_BUILD) $(IDIR_NVRAM) $(PACKAGE_DIR)
+ $(CP) ./src/* $(PKG_BUILD_DIR)/
+endef
+define Build/Configure
+endef
-compile: install-dev
-install-dev:
- mkdir -p $(STAGING_DIR)/usr/lib
- cp $(PKG_BUILD_DIR)/*.so $(STAGING_DIR)/usr/lib
-
-
+define Build/Compile
+ $(MAKE) -C $(PKG_BUILD_DIR) \
+ CC="$(TARGET_CC)" \
+ CFLAGS="$(TARGET_CFLAGS) -Wall" \
+ LDFLAGS="$(TARGET_LDFLAGS)"
+endef
+
+define Build/InstallDev
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/libnvram.so.0.1 $(1)/usr/lib/
+ ln -s libnvram.so.0.1 $(1)/usr/lib/libnvram.so
+endef
+
+define Package/nvram/install
+ $(INSTALL_DIR) $(1)/etc/init.d
+ $(INSTALL_BIN) ./files/nvram.init $(1)/etc/init.d/nvram
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/nvram $(1)/usr/sbin/
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/libnvram.so.0.1 $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,nvram))