packages/net/wing/Makefile

113 lines
3.0 KiB
Makefile
Raw Normal View History

#
# Copyright (C) 2006-2009 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=wing
ifneq ($(CONFIG_WING_STABLE),)
PKG_VERSION:=20100903
PKG_RELEASE:=4
PKG_REV:=520e3168a5af4d26bec3779cfa4901d128a4bc6f
else
PKG_VERSION:=$(shell date +%Y%m%d)
PKG_RELEASE:=1
PKG_REV:=HEAD
endif
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://github.com/create-net/click-wing.git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=$(PKG_REV)
PKG_SOURCE_PROTO:=git
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
define Package/wing
TITLE:=Wireless mesh networking toolkit
SECTION:=net
CATEGORY:=Network
MAINTAINER:=Roberto Riggio <roberto.riggio@create-net.org>
DEPENDS:=+kmod-tun
URL:=http://www.wing-project.org/
endef
define Package/wing/Description
Wing is a wireless mesh routing software. The routing protocol
is derived from Roofnet. It supports multiple radio interfaces and
link quality routing using the ETX, ETT, and WCETT metrics.
endef
define Package/wing/config
source "$(SOURCE)/Config.in"
endef
EXTRA_LDFLAGS:=-ldl
MAKE_FLAGS+=\
V=1 \
MINDRIVER=$(PKG_NAME) \
BUILD_CC=$(TARGET_CC) \
BUILD_CXX=$(TARGET_CXX)
HOST_MAKE_FLAGS:=\
V=1 \
MINDRIVER=$(PKG_NAME)
define Build/Configure
(cd $(PKG_BUILD_DIR); \
rm -rf config.{cache,status}; \
./configure \
--prefix=/usr \
--enable-userlevel \
--enable-wifi \
--enable-wing \
--disable-linuxmodule \
);
$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) $(HOST_MAKE_FLAGS) tools
$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) $(HOST_MAKE_FLAGS) elementmap.xml
$(CP) $(PKG_BUILD_DIR)/tools/click-mkmindriver/click-mkmindriver $(PKG_BUILD_DIR)/
rm -rf $(PKG_BUILD_DIR)/config.{cache,status}
$(call Build/Configure/Default, \
--enable-tools=mixed \
--enable-userlevel \
--enable-wifi \
--enable-wing \
--disable-linuxmodule \
)
(cd $(PKG_BUILD_DIR)/userlevel; \
../click-mkmindriver -p $(PKG_NAME) -C .. \
-f $(PKG_BUILD_DIR)/conf/wing/sample.click \
-A --all -E Discard -E Print -E Null \
-E InfiniteSource -E RatedSource -E EtherEncap -E UDPIPEncap \
-E RadiotapDecap -E RadiotapEncap \
-E ProbeTXRate -E MadwifiRate -E AutoRateFallback \
-E RoundRobinSched -E DRRSched; \
)
endef
define Package/wing/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_DIR) $(1)/etc/wing
$(INSTALL_DIR) $(1)/usr/share/click
$(CP) ./files/* $(1)/
$(CP) $(PKG_BUILD_DIR)/conf/wing/click_config $(1)/usr/bin/
$(CP) $(PKG_BUILD_DIR)/conf/wing/write_handler $(1)/usr/bin/
$(CP) $(PKG_BUILD_DIR)/conf/wing/read_handler $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/$(PKG_NAME)click $(1)/usr/bin/click
$(CP) $(PKG_INSTALL_DIR)/usr/bin/click-align $(1)/usr/bin/click-align
$(CP) $(PKG_BUILD_DIR)/conf/wing/*click $(1)/etc/wing/
$(CP) $(PKG_INSTALL_DIR)/usr/share/click/elementmap.xml $(1)/usr/share/click/elementmap.xml
endef
$(eval $(call BuildPackage,wing))