oldrd: Fix parallel build
[feed/routing.git] / Makefile
index b4f2abf13b633ed8a775ff33902e25cbdded4e80..d1e84067e09841837cbbbcdbc7521d67c7467140 100644 (file)
--- a/Makefile
+++ b/Makefile
 # 
-# Copyright (C) 2006 OpenWrt.org
+# Copyright (C) 2009-2010 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.5.2
-PKG_RELEASE:=1
+PKG_VERSION:=0.6.0
+PKG_RELEASE:=2
 
-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.5
-PKG_MD5SUM:=a61029e11c001be2997c1e088576d0f5
-PKG_CAT:=bzcat
+PKG_SOURCE_URL:=http://www.olsr.org/releases/0.6
+PKG_MD5SUM:=8425a10e315be5e061143ac310f2424b
 
-PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+PKG_BUILD_PARALLEL:=1
+PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
-define Package/olsrd
+TARGET_CFLAGS += $(FPIC)
+
+define Package/olsrd/template
   SECTION:=net
   CATEGORY:=Network
+  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)
-  DEPENDS:=olsrd +libpthread +kmod-tun
+  $(call Package/olsrd/template)
+  DEPENDS:=olsrd +kmod-tun
   TITLE:=Basic multicast forwarding plugin
-  MENU:=0
 endef
 
 define Package/olsrd-mod-dyn-gw
-  $(call Package/olsrd)
-  DEPENDS:=olsrd +libpthread
+  $(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-mdns
+  $(call Package/olsrd/template)
+  DEPENDS:=olsrd
+  TITLE:=Multicast DNS plugin
 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-p2pd
+  $(call Package/olsrd/template)
+  DEPENDS:=olsrd
+  TITLE:=Peer to Peer Discovery 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-txtinfo
-  $(call Package/olsrd)
+  $(call Package/olsrd/template)
   DEPENDS:=olsrd
   TITLE:=Small informative web server plugin
-  MENU:=0
+endef
+
+define Package/olsrd-mod-watchdog
+  $(call Package/olsrd/template)
+  DEPENDS:=olsrd
+  TITLE:=Watchdog plugin
 endef
 
 define Package/olsrd-mod-secure/conffiles
 /etc/olsrd.d/olsrd_secure_key
 endef
 
-define Package/olsrd-mod-tas
-  $(call Package/olsrd)
-  DEPENDS:=olsrd
-  TITLE:=Tiny Application Server (TAS) plugin
-  MENU:=0
-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 mdns nameservice p2pd quagga secure txtinfo watchdog"
 
-define Build/Configure
+define Build/Compile
+       $(call Build/Compile/Default,all)
+       $(call Build/Compile/Default,libs)
 endef
 
-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)" \
-               LIBDIR="$(PKG_INSTALL_DIR)/usr/lib" \
-               SBINDIR="$(PKG_INSTALL_DIR)/usr/sbin/" \
-               ETCDIR="$(PKG_INSTALL_DIR)/etc" \
-               MANDIR="$(PKG_INSTALL_DIR)/usr/share/man" \
-               STRIP="/bin/true" \
-               all libs install install_libs
+define Build/Install
+       $(call Build/Install/Default,install)
+       $(call Build/Install/Default,install_libs)
 endef
 
 define Package/olsrd/install
-       $(INSTALL_DIR) $(1)/etc
-       $(CP) $(PKG_INSTALL_DIR)/etc/olsrd.conf $(1)/etc/
+       $(INSTALL_DIR) $(1)/etc/config
+       $(INSTALL_DATA) ./files/olsrd.config $(1)/etc/config/olsrd
        $(INSTALL_DIR) $(1)/usr/sbin
-       $(CP) $(PKG_INSTALL_DIR)/usr/sbin/olsrd $(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_DIR) $(1)/usr/lib
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/olsrd_dot_draw.so.* $(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_INSTALL_DIR)/usr/lib/olsrd_bmf.so.* $(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_DIR) $(1)/usr/lib
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/olsrd_dyn_gw.so.* $(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_DIR) $(1)/usr/lib
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/olsrd_httpinfo.so.* $(1)/usr/lib/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/httpinfo/olsrd_httpinfo.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_DIR) $(1)/usr/lib
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/olsrd_nameservice.so.* $(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-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_DIR) $(1)/etc/olsrd.d
        $(CP) ./files/olsrd_secure_key $(1)/etc/olsrd.d/
        $(INSTALL_DIR) $(1)/usr/lib
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/olsrd_secure.so.* $(1)/usr/lib/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/secure/olsrd_secure.so.* $(1)/usr/lib/
 endef
 
-define Package/olsrd-mod-tas/install
+define Package/olsrd-mod-txtinfo/install
        $(INSTALL_DIR) $(1)/usr/lib
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/olsrd_tas.so.* $(1)/usr/lib/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/txtinfo/olsrd_txtinfo.so.* $(1)/usr/lib/
 endef
 
-define Package/olsrd-mod-txtinfo/install
+define Package/olsrd-mod-watchdog/install
        $(INSTALL_DIR) $(1)/usr/lib
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/olsrd_txtinfo.so.* $(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-mdns))
 $(eval $(call BuildPackage,olsrd-mod-nameservice))
+$(eval $(call BuildPackage,olsrd-mod-p2pd))
+$(eval $(call BuildPackage,olsrd-mod-quagga))
 $(eval $(call BuildPackage,olsrd-mod-secure))
-$(eval $(call BuildPackage,olsrd-mod-tas))
 $(eval $(call BuildPackage,olsrd-mod-txtinfo))
+$(eval $(call BuildPackage,olsrd-mod-watchdog))