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 PKG_MD5SUM
:=0ba4b63f7fe9d2a561662cdc0378caa5
15 BATCTL_MD5SUM
:=8eb197896049bb04a6beef56015a16b6
17 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.gz
18 PKG_SOURCE_URL
:=http
://downloads.open-mesh.org
/batman
/releases
/batman-adv-
$(PKG_VERSION
)
20 PKG_BUILD_DIR
:=$(BUILD_DIR
)/$(PKG_NAME
)/$(PKG_NAME
)-$(PKG_VERSION
)
21 PKG_TOOL_BUILD_DIR
:=$(BUILD_DIR
)/$(PKG_NAME
)/batctl-
$(PKG_VERSION
)
23 include $(INCLUDE_DIR
)/package.mk
24 include $(INCLUDE_DIR
)/kernel.mk
26 define KernelPackage
/batman-adv
27 URL
:=http
://www.open-mesh.org
/
28 MAINTAINER
:=Marek Lindner
<lindner_marek@yahoo.de
>
29 SUBMENU
:=Network Support
30 DEPENDS
:=@
!LINUX_2_4
+kmod-crc16
31 TITLE
:=B.A.T.M.A.N. Adv
32 FILES
:=$(PKG_BUILD_DIR
)/batman-adv.
$(LINUX_KMOD_SUFFIX
)
33 AUTOLOAD
:=$(call AutoLoad
,50,batman-adv
)
36 define KernelPackage
/batman-adv
/description
37 B.A.T.M.A.N. advanced is a kernel module which allows to
38 build layer
2 mesh networks. This package contains the
39 version
$(PKG_VERSION
) of the kernel module plus its user space
40 configuration
& managerment tool batctl.
43 define KernelPackage
/batman-adv
/config
44 source
"$(SOURCE)/Config.in"
47 MAKE_BATMAN_ADV_ARGS
+= \
48 CROSS_COMPILE
="$(TARGET_CROSS)" \
49 ARCH
="$(LINUX_KARCH)" \
50 PATH
="$(TARGET_PATH)" \
51 $(if
$(CONFIG_KMOD_BATMAN_ADV_DEBUG_LOG
),EXTRA_CFLAGS
="-DCONFIG_BATMAN_ADV_DEBUG") \
52 SUBDIRS
="$(PKG_BUILD_DIR)" \
53 LINUX_VERSION
="$(LINUX_VERSION)" \
57 CFLAGS
="$(TARGET_CFLAGS)" \
58 CCFLAGS
="$(TARGET_CFLAGS)" \
59 OFLAGS
="$(TARGET_CFLAGS)" \
64 DESTDIR
="$(PKG_INSTALL_DIR)" \
68 ifneq ($(DEVELOPER
)$(CONFIG_KMOD_BATMAN_ADV_BATCTL
),)
69 define Download
/batctl
70 FILE
:=batctl-
$(PKG_VERSION
).
tar.gz
71 URL
:=$(PKG_SOURCE_URL
)
72 MD5SUM
:=$(BATCTL_MD5SUM
)
74 $(eval
$(call Download
,batctl
))
76 EXTRACT_BATCTL
= tar xzf
"$(DL_DIR)/batctl-$(PKG_VERSION).tar.gz" -C
"$(BUILD_DIR)/$(PKG_NAME)"
77 PATCH_BATCTL
= $(call Build
/DoPatch
,"$(PKG_BATCTL_BUILD_DIR)","$(PATCH_DIR)","*batctl*")
78 BUILD_BATCTL
= $(MAKE
) -C
$(PKG_TOOL_BUILD_DIR
) $(MAKE_BATCTL_ARGS
)
82 @if
[ -d
"$(2)" ]; then \
83 if
[ "$$$$(ls $(2) | grep -Ec $(3))" -gt
0 ]; then \
84 $(PATCH
) "$(1)" "$(2)" "$(3)"; \
90 $(call Build
/DoPatch
,"$(PKG_BUILD_DIR)","$(PATCH_DIR)","*batman*")
96 cp
$(PKG_BUILD_DIR
)/Makefile.kbuild
$(PKG_BUILD_DIR
)/Makefile
97 $(MAKE
) -C
"$(LINUX_DIR)" $(MAKE_BATMAN_ADV_ARGS
)
102 rm -rf
$(BUILD_DIR
)/$(PKG_NAME
)/
105 ifneq ($(DEVELOPER
)$(CONFIG_KMOD_BATMAN_ADV_BATCTL
),)
106 define KernelPackage
/batman-adv
/install
107 $(INSTALL_DIR
) $(1)/etc
/config
$(1)/etc
/init.d
$(1)/lib
/batman-adv
108 $(INSTALL_BIN
) .
/files
/etc
/init.d
/batman-adv
$(1)/etc
/init.d
109 $(INSTALL_BIN
) .
/files
/lib
/batman-adv
/config.sh
$(1)/lib
/batman-adv
110 $(INSTALL_DATA
) .
/files
/etc
/config
/batman-adv
$(1)/etc
/config
111 $(INSTALL_DIR
) $(1)/usr
/sbin
112 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/local
/sbin
/batctl
$(1)/usr
/sbin
/
115 define KernelPackage
/batman-adv
/install
116 $(INSTALL_DIR
) $(1)/etc
/config
$(1)/etc
/init.d
$(1)/lib
/batman-adv
117 $(INSTALL_BIN
) .
/files
/etc
/init.d
/batman-adv
$(1)/etc
/init.d
118 $(INSTALL_BIN
) .
/files
/lib
/batman-adv
/config.sh
$(1)/lib
/batman-adv
119 $(INSTALL_DATA
) .
/files
/etc
/config
/batman-adv
$(1)/etc
/config
123 $(eval
$(call KernelPackage
,batman-adv
))