[package] nvram: fix crash when get, set or unset is invoked without argument (#7263)
[openwrt/svn-archive/archive.git] / package / nvram / Makefile
index 486e419ac9551b26dc336c2f85770a3e1d0b70f1..f064b5fe3c013e8ec8d9bfe93965d3c9a775c398 100644 (file)
@@ -1,49 +1,59 @@
-# 
-# Copyright (C) 2006 OpenWrt.org
+#
+# 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.
 #
-# $Id$
 
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=nvram
-PKG_RELEASE:=1
+PKG_RELEASE:=6
+
+PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
 include $(INCLUDE_DIR)/package.mk
 
 define Package/nvram
   SECTION:=utils
-  CATEGORY:=Utilities
-  DEPENDS:=@LINUX_2_4_BRCM
-  TITLE:=Broadcom config utility
-  DESCRIPTION:=\
-       This package contains an utility to control broadcom's 'nvram' config \\\
-       area.
+  CATEGORY:=Base system
+  TITLE:=Userspace port of the Broadcom NVRAM manipulation tool
+  DEPENDS:=@TARGET_brcm_2_4||@TARGET_brcm47xx||@TARGET_ar71xx
+endef
+
+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
 
 define Build/Prepare
        mkdir -p $(PKG_BUILD_DIR)
-       $(CP) ./src/* $(PKG_BUILD_DIR)
+       $(CP) ./src/* $(PKG_BUILD_DIR)/
 endef
 
-define Build/InstallDev
-       mkdir -p $(STAGING_DIR)/usr/lib
-       $(CP) $(PKG_BUILD_DIR)/lib{nvram,shared}*.so $(STAGING_DIR)/usr/lib/
+define Build/Configure
 endef
 
-define Build/UninstallDev
-       rm -f $(STAGING_DIR)/usr/lib/lib{nvram,shared}*.so
+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/lib
-       $(CP) $(PKG_BUILD_DIR)/lib{nvram,shared}*.so $(1)/usr/lib/
        $(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))