Merge pull request #305 from HRogge/master
[feed/routing.git] / batmand / Makefile
1 #
2 # Copyright (C) 2008-2011 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9 include $(INCLUDE_DIR)/kernel.mk
10
11 PKG_NAME:=batmand
12
13 PKG_SOURCE_PROTO:=git
14 PKG_SOURCE_URL:=git://git.open-mesh.org/batmand.git
15 PKG_REV:=b67a7087b51d7a5e90d27ac39116d1f57257c86e
16 PKG_VERSION:=1440
17 PKG_RELEASE:=0
18 PKG_LICENSE:=GPL-2.0
19
20 PKG_SOURCE_VERSION:=$(PKG_REV)
21 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
22 PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz
23 PKG_MIRROR_HASH:=ceb8e0e399f79b1b663594fcf9642e1efc40e696a7604daf709c77da9b6ec52f
24 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR)
25
26 PKG_EXTRA_CFLAGS=-DDEBUG_MALLOC -DMEMORY_USAGE -DPROFILE_DATA -DREVISION_VERSION=\"\ rv$(PKG_REV)\" -D_GNU_SOURCE
27
28 PKG_KMOD_BUILD_DIR:=$(PKG_BUILD_DIR)/linux/modules
29
30 include $(INCLUDE_DIR)/package.mk
31
32 define Package/batmand/Default
33 URL:=https://www.open-mesh.org/
34 MAINTAINER:=Corinna "Elektra" Aichele <onelektra@gmx.net>
35 endef
36
37 define Package/batmand
38 $(call Package/batmand/Default)
39 SECTION:=net
40 CATEGORY:=Network
41 SUBMENU:=Routing and Redirection
42 DEPENDS:=+libpthread +kmod-tun
43 TITLE:=B.A.T.M.A.N. layer 3 routing daemon
44 endef
45
46 define Package/batmand/description
47 B.A.T.M.A.N. layer 3 routing daemon
48 endef
49
50 define KernelPackage/batgat
51 $(call Package/batmand/Default)
52 SUBMENU:=Network Support
53 DEPENDS:=+batmand @BROKEN
54 TITLE:=B.A.T.M.A.N. gateway module
55 FILES:=$(PKG_KMOD_BUILD_DIR)/batgat.$(LINUX_KMOD_SUFFIX)
56 AUTOLOAD:=$(call AutoLoad,50,batgat)
57 endef
58
59
60 define KernelPackage/batgat/description
61 Kernel gateway module for B.A.T.M.A.N. for better tunnel performance
62 endef
63
64 MAKE_BATMAND_ARGS += \
65 EXTRA_CFLAGS='$(TARGET_CFLAGS) $(PKG_EXTRA_CFLAGS)' \
66 CCFLAGS="$(TARGET_CFLAGS)" \
67 OFLAGS="$(TARGET_CFLAGS)" \
68 REVISION="$(PKG_REV)" \
69 CC="$(TARGET_CC)" \
70 NODEBUG=1 \
71 UNAME="Linux" \
72 INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \
73 STRIP="/bin/true" \
74 batmand install
75
76 MAKE_BATGAT_ARGS += \
77 CROSS_COMPILE="$(TARGET_CROSS)" \
78 ARCH="$(LINUX_KARCH)" \
79 PATH="$(TARGET_PATH)" \
80 SUBDIRS="$(PKG_KMOD_BUILD_DIR)" \
81 LINUX_VERSION="$(LINUX_VERSION)" \
82 REVISION="$(PKG_REV)" modules
83
84
85 define Build/Configure
86 endef
87
88 ifneq ($(DEVELOPER)$(CONFIG_PACKAGE_batmand),)
89 BUILD_BATMAND := $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_BATMAND_ARGS)
90 endif
91
92 ifneq ($(DEVELOPER)$(CONFIG_PACKAGE_kmod-batgat),)
93 BUILD_BATGAT := $(MAKE) -C "$(LINUX_DIR)" $(MAKE_BATGAT_ARGS)
94 endif
95
96 define Build/Compile
97 $(BUILD_BATMAND)
98 cp $(PKG_KMOD_BUILD_DIR)/Makefile.kbuild $(PKG_KMOD_BUILD_DIR)/Makefile
99 $(BUILD_BATGAT)
100 endef
101
102 define Package/batmand/install
103 $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/config $(1)/etc/init.d
104 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/batmand $(1)/usr/sbin/
105 $(INSTALL_BIN) ./files/etc/init.d/batmand $(1)/etc/init.d
106 $(INSTALL_DATA) ./files/etc/config/batmand $(1)/etc/config
107 endef
108
109 define Package/batmand/conffiles
110 /etc/config/batmand
111 endef
112
113 $(eval $(call BuildPackage,batmand))
114 $(eval $(call KernelPackage,batgat))