[packages] olsrd: init: reduce code duplication by reusing already_in_schema()
[feed/routing.git] / Makefile
index ea857700bcaddce677b526a0335cc9a7a30a0113..e5be87b0403d9697ff68f43c83b8ca2f75014879 100644 (file)
--- a/Makefile
+++ b/Makefile
 # 
-# Copyright (C) 2006 OpenWrt.org
+# Copyright (C) 2009-2012 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:=olsrd
-PKG_VERSION:=0.4.10
+PKG_VERSION:=0.6.5.2
 PKG_RELEASE:=1
 
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=http://www.olsr.org/releases/0.4
-PKG_MD5SUM:=9807d4451e65cb4ec385155eef7bf3cf
-PKG_CAT:=bzcat
+PKG_SOURCE_URL:=http://www.olsr.org/releases/0.6
 
-PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+PKG_MD5SUM:=190e3c763656f71d3ca6868db7658f43
+PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
-define Package/olsrd
+TARGET_CFLAGS += $(FPIC)
+
+define Package/olsrd/template
   SECTION:=net
   CATEGORY:=Network
+  SUBMENU:=Routing and Redirection
+  MAINTAINER:=Saverio Proto <zioproto@gmail.com>
   TITLE:=OLSR (Optimized Link State Routing) daemon
   URL:=http://www.olsr.org/
+endef
+
+define Package/olsrd
+  $(call Package/olsrd/template)
   MENU:=1
+  DEPENDS:=+libpthread
 endef
 
 define Package/olsrd/conffiles
-/etc/olsrd.conf
+/etc/config/olsrd
+endef
+
+define Package/olsrd-mod-arprefresh
+  $(call Package/olsrd/template)
+  DEPENDS:=olsrd
+  TITLE:=Kernel ARP cache refresh plugin
 endef
 
 define Package/olsrd-mod-dot-draw
-  $(call Package/olsrd)
+  $(call Package/olsrd/template)
   DEPENDS:=olsrd
   TITLE:=Dot topology information plugin
-  MENU:=0
+endef
+
+define Package/olsrd-mod-bmf
+  $(call Package/olsrd/template)
+  DEPENDS:=olsrd +kmod-tun
+  TITLE:=Basic multicast forwarding plugin
 endef
 
 define Package/olsrd-mod-dyn-gw
-  $(call Package/olsrd)
+  $(call Package/olsrd/template)
   DEPENDS:=olsrd
   TITLE:=Dynamic internet gateway plugin
-  MENU:=0
+endef
+
+define Package/olsrd-mod-dyn-gw-plain
+  $(call Package/olsrd/template)
+  DEPENDS:=olsrd
+  TITLE:=Dynamic internet gateway plain plugin
 endef
 
 define Package/olsrd-mod-httpinfo
-  $(call Package/olsrd)
+  $(call Package/olsrd/template)
   DEPENDS:=olsrd
   TITLE:=Small informative web server plugin
-  MENU:=0
+endef
+
+define Package/olsrd-mod-jsoninfo
+  $(call Package/olsrd/template)
+  DEPENDS:=olsrd
+  TITLE:=Small informative plugin with JSON output
+endef
+
+define Package/olsrd-mod-mdns
+  $(call Package/olsrd/template)
+  DEPENDS:=olsrd
+  TITLE:=MDNS/Zeroconf/Bonjour packet distribution 
 endef
 
 define Package/olsrd-mod-nameservice
-  $(call Package/olsrd)
+  $(call Package/olsrd/template)
   DEPENDS:=olsrd
   TITLE:=Lightweight hostname resolver plugin
-  MENU:=0
 endef
 
-define Package/olsrd-mod-power
-  $(call Package/olsrd)
+define Package/olsrd-mod-p2pd
+  $(call Package/olsrd/template)
+  DEPENDS:=olsrd
+  TITLE:=Peer to Peer Discovery plugin
+endef
+
+
+define Package/olsrd-mod-pgraph
+  $(call Package/olsrd/template)
   DEPENDS:=olsrd
-  TITLE:=Power status plugin
-  MENU:=0
+  TITLE:=output network topology for pgraph
+endef
+
+define Package/olsrd-mod-pud
+  $(call Package/olsrd/template)
+  DEPENDS:=olsrd
+  TITLE:=Position Update Distribution plugin
+endef
+
+define Package/olsrd-mod-quagga
+  $(call Package/olsrd/template)
+  DEPENDS:=olsrd
+  TITLE:=Quagga plugin
 endef
 
 define Package/olsrd-mod-secure
-  $(call Package/olsrd)
+  $(call Package/olsrd/template)
   DEPENDS:=olsrd
   TITLE:=Message signing plugin to secure routing domain
-  MENU:=0
 endef
 
-define Package/olsrd-mod-secure/conffiles
-/etc/olsrd.d/olsrd_secure_key
+define Package/olsrd-mod-sgwdynspeed
+  $(call Package/olsrd/template)
+  DEPENDS:=olsrd
+  TITLE:=Smart Gateway dynamic speed plugin
+endef
+
+define Package/olsrd-mod-txtinfo
+  $(call Package/olsrd/template)
+  DEPENDS:=olsrd
+  TITLE:=Small informative web server plugin
 endef
 
-define Package/olsrd-mod-tas
-  $(call Package/olsrd)
+define Package/olsrd-mod-watchdog
+  $(call Package/olsrd/template)
   DEPENDS:=olsrd
-  TITLE:=Tiny Application Server (TAS) plugin
-  MENU:=0
+  TITLE:=Watchdog plugin
+endef
+
+define Package/olsrd-mod-pud/conffiles
+/etc/olsrd.d/olsrd.pud.position.conf
+endef
+
+define Package/olsrd-mod-secure/conffiles
+/etc/olsrd.d/olsrd_secure_key
 endef
 
-define Build/Configure
+define Package/olsrd-mod-sgwdynspeed/conffiles
+/etc/olsrd.d/olsrd.sgw.speed.conf
 endef
 
+MAKE_FLAGS+= \
+       NO_DEBUG_MESSAGES=1 \
+       OS="linux" \
+       DESTDIR="$(PKG_INSTALL_DIR)" \
+       STRIP="true" \
+       INSTALL_LIB="true" \
+       SUBDIRS="arprefresh bmf dot_draw dyn_gw dyn_gw_plain httpinfo jsoninfo mdns nameservice p2pd pgraph pud quagga secure sgwdynspeed txtinfo watchdog"
+
 define Build/Compile
-       rm -rf $(PKG_INSTALL_DIR)
-       mkdir -p $(PKG_INSTALL_DIR)
-       $(MAKE) -C "$(PKG_BUILD_DIR)" \
-               $(TARGET_CONFIGURE_OPTS) \
-               NODEBUG=1 \
-               OFLAGS="$(TARGET_CFLAGS)" \
-               OS="linux" \
-               INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \
-               STRIP="/bin/true" \
-               all libs install install_libs
+       $(call Build/Compile/Default,all)
+       $(call Build/Compile/Default,libs)
 endef
 
 define Package/olsrd/install
-       install -d -m0755 $(1)/etc
-       $(CP) $(PKG_INSTALL_DIR)/etc/olsrd.conf $(1)/etc/
-       install -d -m0755 $(1)/usr/sbin
-       $(CP) $(PKG_INSTALL_DIR)/usr/sbin/olsrd $(1)/usr/sbin/
-       install -d -m0755 $(1)/etc/init.d
-       install -m0755 ./files/olsrd.init $(1)/etc/init.d/olsrd
+       $(INSTALL_DIR) $(1)/etc/config
+       $(INSTALL_DATA) ./files/olsrd.config $(1)/etc/config/olsrd
+       $(INSTALL_DIR) $(1)/usr/sbin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/olsrd $(1)/usr/sbin/
+       $(INSTALL_DIR) $(1)/etc/init.d
+       $(INSTALL_BIN) ./files/olsrd.init $(1)/etc/init.d/olsrd
+endef
+
+define Package/olsrd-mod-arprefresh/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/arprefresh/olsrd_arprefresh.so.* $(1)/usr/lib/
 endef
 
 define Package/olsrd-mod-dot-draw/install
-       install -d -m0755 $(1)/usr/lib
-       install -m0755 $(PKG_INSTALL_DIR)/usr/lib/olsrd_dot_draw.so.* $(1)/usr/lib/
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/dot_draw/olsrd_dot_draw.so.* $(1)/usr/lib/
+endef
+
+define Package/olsrd-mod-bmf/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/bmf/olsrd_bmf.so.* $(1)/usr/lib/
 endef
 
 define Package/olsrd-mod-dyn-gw/install
-       install -d -m0755 $(1)/usr/lib
-       install -m0755 $(PKG_INSTALL_DIR)/usr/lib/olsrd_dyn_gw.so.* $(1)/usr/lib/
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/dyn_gw/olsrd_dyn_gw.so.* $(1)/usr/lib/
+endef
+
+define Package/olsrd-mod-dyn-gw-plain/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/dyn_gw_plain/olsrd_dyn_gw_plain.so.* $(1)/usr/lib/
 endef
 
 define Package/olsrd-mod-httpinfo/install
-       install -d -m0755 $(1)/usr/lib
-       install -m0755 $(PKG_INSTALL_DIR)/usr/lib/olsrd_httpinfo.so.* $(1)/usr/lib/
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/httpinfo/olsrd_httpinfo.so.* $(1)/usr/lib/
+endef
+
+define Package/olsrd-mod-jsoninfo/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/jsoninfo/olsrd_jsoninfo.so.* $(1)/usr/lib/
+endef
+
+define Package/olsrd-mod-mdns/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/mdns/olsrd_mdns.so.* $(1)/usr/lib/
 endef
 
 define Package/olsrd-mod-nameservice/install
-       install -d -m0755 $(1)/usr/lib
-       install -m0755 $(PKG_INSTALL_DIR)/usr/lib/olsrd_nameservice.so.* $(1)/usr/lib/
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/nameservice/olsrd_nameservice.so.* $(1)/usr/lib/
+endef
+
+define Package/olsrd-mod-p2pd/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/p2pd/olsrd_p2pd.so.* $(1)/usr/lib/
 endef
 
-define Package/olsrd-mod-power/install
-       install -d -m0755 $(1)/usr/lib
-       install -m0755 $(PKG_INSTALL_DIR)/usr/lib/olsrd_power.so.* $(1)/usr/lib/
+define Package/olsrd-mod-pgraph/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/pgraph/olsrd_pgraph.so.* $(1)/usr/lib/
+endef
+
+define Package/olsrd-mod-pud/install
+       $(INSTALL_DIR) $(1)/etc/olsrd.d
+       $(CP) ./files/olsrd.pud.position.conf $(1)/etc/olsrd.d/
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/pud/nmealib/lib/libnmea.so $(1)/usr/lib/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/pud/wireformat/lib/libOlsrdPudWireFormat.so $(1)/usr/lib/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/pud/olsrd_pud.so.* $(1)/usr/lib/
+endef
+
+define Package/olsrd-mod-quagga/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/quagga/olsrd_quagga.so.* $(1)/usr/lib/
 endef
 
 define Package/olsrd-mod-secure/install
-       install -d -m0755 $(1)/etc/olsrd.d
+       $(INSTALL_DIR) $(1)/etc/olsrd.d
        $(CP) ./files/olsrd_secure_key $(1)/etc/olsrd.d/
-       install -d -m0755 $(1)/usr/lib
-       install -m0755 $(PKG_INSTALL_DIR)/usr/lib/olsrd_secure.so.* $(1)/usr/lib/
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/secure/olsrd_secure.so.* $(1)/usr/lib/
 endef
 
-define Package/olsrd-mod-tas/install
-       install -d -m0755 $(1)/usr/lib
-       install -m0755 $(PKG_INSTALL_DIR)/usr/lib/olsrd_tas.so.* $(1)/usr/lib/
+define Package/olsrd-mod-sgwdynspeed/install
+       $(INSTALL_DIR) $(1)/etc/olsrd.d
+       $(CP) ./files/olsrd.sgw.speed.conf $(1)/etc/olsrd.d/
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/sgwdynspeed/olsrd_sgwdynspeed.so.* $(1)/usr/lib/
 endef
 
+define Package/olsrd-mod-txtinfo/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/txtinfo/olsrd_txtinfo.so.* $(1)/usr/lib/
+endef
+
+define Package/olsrd-mod-watchdog/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/watchdog/olsrd_watchdog.so.* $(1)/usr/lib/
+endef
 
 $(eval $(call BuildPackage,olsrd))
+$(eval $(call BuildPackage,olsrd-mod-arprefresh))
 $(eval $(call BuildPackage,olsrd-mod-dot-draw))
+$(eval $(call BuildPackage,olsrd-mod-bmf))
 $(eval $(call BuildPackage,olsrd-mod-dyn-gw))
+$(eval $(call BuildPackage,olsrd-mod-dyn-gw-plain))
 $(eval $(call BuildPackage,olsrd-mod-httpinfo))
+$(eval $(call BuildPackage,olsrd-mod-jsoninfo))
+$(eval $(call BuildPackage,olsrd-mod-mdns))
 $(eval $(call BuildPackage,olsrd-mod-nameservice))
-$(eval $(call BuildPackage,olsrd-mod-power))
+$(eval $(call BuildPackage,olsrd-mod-p2pd))
+$(eval $(call BuildPackage,olsrd-mod-pgraph))
+$(eval $(call BuildPackage,olsrd-mod-pud))
+$(eval $(call BuildPackage,olsrd-mod-quagga))
 $(eval $(call BuildPackage,olsrd-mod-secure))
-$(eval $(call BuildPackage,olsrd-mod-tas))
+$(eval $(call BuildPackage,olsrd-mod-sgwdynspeed))
+$(eval $(call BuildPackage,olsrd-mod-txtinfo))
+$(eval $(call BuildPackage,olsrd-mod-watchdog))