2 # Copyright (C) 2010 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
7 # $Id: Makefile 5624 2006-11-23 00:29:07Z nbd $
9 include $(TOPDIR
)/rules.mk
14 BATCTL_VERSION
:=2012.2.0
16 PKG_MD5SUM
:=68967ed1df709de18ab795722dde9341
17 BATCTL_MD5SUM
:=7abd284098c514d3f2858e8a956c495e
19 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.gz
20 PKG_SOURCE_URL
:=http
://downloads.open-mesh.org
/batman
/releases
/batman-adv-
$(PKG_VERSION
)
22 PKG_BUILD_DIR
:=$(BUILD_DIR
)/$(PKG_NAME
)/$(PKG_NAME
)-$(PKG_VERSION
)
23 PKG_BATCTL_BUILD_DIR
:=$(BUILD_DIR
)/$(PKG_NAME
)/batctl-
$(BATCTL_VERSION
)
25 include $(INCLUDE_DIR
)/package.mk
26 include $(INCLUDE_DIR
)/kernel.mk
28 define KernelPackage
/batman-adv
29 URL
:=http
://www.open-mesh.org
/
30 MAINTAINER
:=Marek Lindner
<lindner_marek@yahoo.de
>
31 SUBMENU
:=Network Support
32 DEPENDS
:=+kmod-lib-crc16
+libc
33 TITLE
:=B.A.T.M.A.N. Adv
34 FILES
:=$(PKG_BUILD_DIR
)/batman-adv.
$(LINUX_KMOD_SUFFIX
)
35 AUTOLOAD
:=$(call AutoLoad
,50,batman-adv
)
38 define KernelPackage
/batman-adv
/description
39 B.A.T.M.A.N. advanced is a kernel module which allows to
40 build layer
2 mesh networks. This package contains the
41 version
$(PKG_VERSION
) of the kernel module plus its user space
42 configuration
& managerment tool batctl.
45 define KernelPackage
/batman-adv
/config
46 source
"$(SOURCE)/Config.in"
49 MAKE_BATMAN_ADV_ARGS
+= \
50 CROSS_COMPILE
="$(TARGET_CROSS)" \
51 KERNELPATH
="$(LINUX_DIR)" \
52 ARCH
="$(LINUX_KARCH)" \
53 PATH
="$(TARGET_PATH)" \
54 SUBDIRS
="$(PKG_BUILD_DIR)" \
55 PWD
="$(PKG_BUILD_DIR)" \
56 LINUX_VERSION
="$(LINUX_VERSION)" \
57 CONFIG_BATMAN_ADV_DEBUG
=$(if
$(CONFIG_KMOD_BATMAN_ADV_DEBUG_LOG
),y
,n
) \
58 CONFIG_BATMAN_ADV_BLA
=$(if
$(CONFIG_KMOD_BATMAN_ADV_BLA
),y
,n
) \
62 CFLAGS
="$(TARGET_CFLAGS)" \
63 CCFLAGS
="$(TARGET_CFLAGS)" \
64 OFLAGS
="$(TARGET_CFLAGS)" \
69 DESTDIR
="$(PKG_INSTALL_DIR)" \
73 ifneq ($(DEVELOPER
)$(CONFIG_KMOD_BATMAN_ADV_BATCTL
),)
74 define Download
/batctl
75 FILE
:=batctl-
$(BATCTL_VERSION
).
tar.gz
76 URL
:=$(PKG_SOURCE_URL
)
77 MD5SUM
:=$(BATCTL_MD5SUM
)
79 $(eval
$(call Download
,batctl
))
81 BATCTL_EXTRACT
= tar xzf
"$(DL_DIR)/batctl-$(BATCTL_VERSION).tar.gz" -C
"$(BUILD_DIR)/$(PKG_NAME)"
82 BATCTL_PATCH
= $(call Build
/DoPatch
,"$(PKG_BATCTL_BUILD_DIR)","$(PATCH_DIR)","*batctl*")
83 BATCTL_BUILD
= $(MAKE
) -C
$(PKG_BATCTL_BUILD_DIR
) $(MAKE_BATCTL_ARGS
)
84 BATCTL_INSTALL
= $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/local
/sbin
/batctl
$(1)/usr
/sbin
/
89 @if
[ -d
"$(2)" ]; then \
90 if
[ "$$$$(ls $(2) | grep -Ec $(3))" -gt
0 ]; then \
91 $(KPATCH
) "$(1)" "$(2)" "$(3)"; \
97 $(call Build
/DoPatch
,"$(PKG_BUILD_DIR)","$(PATCH_DIR)","*batman*")
103 $(MAKE
) -C
"$(PKG_BUILD_DIR)" $(MAKE_BATMAN_ADV_ARGS
)
108 rm -rf
$(BUILD_DIR
)/$(PKG_NAME
)/
111 define KernelPackage
/batman-adv
/install
112 $(INSTALL_DIR
) $(1)/etc
/config
$(1)/etc
/hotplug.d
/net
$(1)/lib
/batman-adv
$(1)/usr
/sbin
113 $(INSTALL_DATA
) .
/files
/etc
/config
/batman-adv
$(1)/etc
/config
114 $(INSTALL_DATA
) .
/files
/lib
/batman-adv
/config.sh
$(1)/lib
/batman-adv
115 $(INSTALL_BIN
) .
/files
/etc
/hotplug.d
/net
/99-batman-adv
$(1)/etc
/hotplug.d
/net
116 $(INSTALL_BIN
) .
/files
/usr
/sbin
/batman-adv
$(1)/usr
/sbin
120 $(eval
$(call KernelPackage
,batman-adv
))