batman-adv: hotfix for maint branch
[openwrt/svn-archive/archive.git] / net / batman-advanced / Makefile
1 #
2 # Copyright (C) 2008 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 # $Id: Makefile 5624 2006-11-23 00:29:07Z nbd $
8
9 include $(TOPDIR)/rules.mk
10
11 PKG_NAME:=batman-adv
12
13 # Versions to download for maintenance build
14 PKG_REV_MAINT:=1611
15 PKG_KMOD_VERSION_MAINT:=5c4633c532a7a9b5adfe5dbf3f5e97fff307216e
16 # just for the package version numbering
17 PKG_VERSION_MAINT:=0.2.1
18 # Versions to download for development build
19 PKG_REV_DEV:=1715
20 PKG_KMOD_VERSION_DEV:=520e8f9d66bc972e6f818c57e063efffb7f52be4
21 # just for the package version numbering
22 PKG_VERSION_DEV:=0.3.0a
23 ## Make sure git-commit hash and svn revision number fit! ##
24
25 PKG_RELEASE:=1
26 PKG_SOURCE_SUBDIR:=$(PKG_NAME)
27
28 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
29
30 ifneq ($(CONFIG_BATMAN_ADV_DEV),)
31 PKG_REV:=$(PKG_REV_DEV)
32 PKG_VERSION:=$(PKG_VERSION_DEV)
33 PKG_KMOD_VERSION=$(PKG_KMOD_VERSION_DEV)
34 PKG_KMOD_URL=http://git.open-mesh.org/snapshot/$(PKG_KMOD_VERSION)/
35 PKG_KMOD_FNAME=batman-adv-dev-$(PKG_REV).tar.gz
36 PKG_TOOL_VERSION=$(PKG_REV)
37 PKG_TOOL_PROTO=svn
38 PKG_TOOL_URL=http://downloads.open-mesh.org/svn/batman/trunk/batctl
39 PKG_TOOL_FNAME:=batctl-dev-$(PKG_TOOL_VERSION).tar.gz
40 else
41 PKG_REV:=$(PKG_REV_MAINT)
42 PKG_VERSION:=$(PKG_VERSION_MAINT)
43 PKG_KMOD_VERSION=$(PKG_KMOD_VERSION_MAINT)
44 PKG_KMOD_URL=http://git.open-mesh.org/snapshot/$(PKG_KMOD_VERSION)/
45 PKG_KMOD_FNAME=batman-adv-maint-$(PKG_REV).tar.gz
46 PKG_TOOL_VERSION=$(PKG_REV)
47 PKG_TOOL_PROTO=svn
48 PKG_TOOL_URL=http://downloads.open-mesh.org/svn/batman/branches/batctl-0.2.x/
49 PKG_TOOL_FNAME:=batctl-maint-$(PKG_TOOL_VERSION).tar.gz
50 endif
51
52 PKG_KMOD_BUILD_DIR:=$(PKG_BUILD_DIR)/batman-adv
53 PKG_TOOL_BUILD_DIR:=$(PKG_BUILD_DIR)/batctl
54
55 include $(INCLUDE_DIR)/package.mk
56 include $(INCLUDE_DIR)/kernel.mk
57
58 # have to set this variable after including the Makefiles
59 ifneq ($(CONFIG_BATMAN_ADV_DEV),)
60 STAMP_PREPARED:=$(STAMP_PREPARED)_dev
61 else
62 STAMP_PREPARED:=$(STAMP_PREPARED)_maint
63 endif
64 STAMP_PREPARED:=$(STAMP_PREPARED)$(if $(CONFIG_KMOD_BATMAN_ADV_BATCTL),_batctl)
65 STAMP_BUILT:=$(STAMP_BUILT)$(if $(CONFIG_KMOD_BATMAN_ADV_DEBUG_LOG),_debug)
66
67 define Package/batman-adv/Default
68 URL:=http://www.open-mesh.org/
69 MAINTAINER:=Marek Lindner <lindner_marek@yahoo.de>
70 endef
71
72 define KernelPackage/batman-adv
73 $(call Package/batman-adv/Default)
74 SUBMENU:=Network Support
75 DEPENDS:=@LINUX_2_6
76 TITLE:=B.A.T.M.A.N. layer 2
77 FILES:=$(PKG_KMOD_BUILD_DIR)/batman-adv.$(LINUX_KMOD_SUFFIX)
78 AUTOLOAD:=$(call AutoLoad,50,batman-adv)
79 endef
80
81 define KernelPackage/batman-adv/config
82 source "$(SOURCE)/Config.in"
83 endef
84
85 define KernelPackage/batman-adv/description
86 B.A.T.M.A.N. layer 2
87 endef
88
89 define Download/batman-adv
90 FILE:=$(PKG_KMOD_FNAME)
91 URL:=$(PKG_KMOD_URL)
92 endef
93 $(eval $(call Download,batman-adv))
94
95 ifneq ($(DEVELOPER)$(CONFIG_KMOD_BATMAN_ADV_BATCTL),)
96 define Download/batctl
97 FILE:=$(PKG_TOOL_FNAME)
98 URL:=$(PKG_TOOL_URL)@$(PKG_TOOL_VERSION)
99 PROTO:=$(PKG_TOOL_PROTO)
100 VERSION:=$(PKG_TOOL_VERSION)
101 SUBDIR:=$(PKG_SOURCE_SUBDIR)/batctl
102 endef
103 $(eval $(call Download,batctl))
104 endif
105
106 ifneq ($(DEVELOPER)$(CONFIG_KMOD_BATMAN_ADV_BATCTL),)
107 ifneq ($(DEVELOPER)$(CONFIG_BATMAN_ADV_DEV),)
108 define Download/batman
109 FILE:=batman-$(PKG_REV).tar.gz
110 URL:=http://downloads.open-mesh.org/svn/batman/trunk/batman
111 PROTO:=svn
112 VERSION:=$(PKG_REV)
113 SUBDIR:=$(PKG_SOURCE_SUBDIR)/batman
114 endef
115 $(eval $(call Download,batman))
116 endif
117 endif
118
119 define Build/Prepare
120 tar xzf "$(DL_DIR)/$(PKG_KMOD_FNAME)" -C "$(PKG_BUILD_DIR)"
121 ifneq ($(DEVELOPER)$(CONFIG_KMOD_BATMAN_ADV_BATCTL),)
122 tar xzf "$(DL_DIR)/$(PKG_TOOL_FNAME)" -C "$(BUILD_DIR)"
123 ifneq ($(DEVELOPER)$(CONFIG_BATMAN_ADV_DEV),)
124 tar xzf "$(DL_DIR)/batman-$(PKG_REV).tar.gz" -C "$(BUILD_DIR)"
125 endif
126 endif
127 #mv "$(PKG_BUILD_DIR)/batman-adv" "$(PKG_KMOD_BUILD_DIR)"
128 $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR),)
129 ifneq ($(CONFIG_BATMAN_ADV_DEV),)
130 $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/dev,)
131 else
132 $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/maint,)
133 endif
134 cp $(PKG_KMOD_BUILD_DIR)/Makefile.kbuild $(PKG_KMOD_BUILD_DIR)/Makefile
135 endef
136
137 MAKE_BATMAN_ADV_ARGS += \
138 CROSS_COMPILE="$(TARGET_CROSS)" \
139 ARCH="$(LINUX_KARCH)" \
140 PATH="$(TARGET_PATH)" \
141 $(if $(CONFIG_KMOD_BATMAN_ADV_DEBUG_LOG),EXTRA_CFLAGS="-DCONFIG_BATMAN_ADV_DEBUG") \
142 SUBDIRS="$(PKG_KMOD_BUILD_DIR)" \
143 LINUX_VERSION="$(LINUX_VERSION)" \
144 REVISION="$(PKG_REV)" modules
145
146 MAKE_BATCTL_ARGS += \
147 CFLAGS="$(TARGET_CFLAGS)" \
148 CCFLAGS="$(TARGET_CFLAGS)" \
149 OFLAGS="$(TARGET_CFLAGS)" \
150 REVISION="$(PKG_REV)" \
151 CC="$(TARGET_CC)" \
152 NODEBUG=1 \
153 UNAME="Linux" \
154 INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \
155 STRIP="/bin/true" \
156 batctl install
157
158 define Build/Configure
159 endef
160
161 ifneq ($(DEVELOPER)$(CONFIG_PACKAGE_kmod-batman-adv),)
162 BUILD_KMOD_ADV = $(MAKE) -C "$(LINUX_DIR)" $(MAKE_BATMAN_ADV_ARGS)
163 BUILD_BATCTL = $(MAKE) -C $(PKG_TOOL_BUILD_DIR) $(MAKE_BATCTL_ARGS)
164 endif
165
166 define Build/Compile
167 $(BUILD_KMOD_ADV)
168 ifneq ($(DEVELOPER)$(CONFIG_KMOD_BATMAN_ADV_BATCTL),)
169 $(BUILD_BATCTL)
170 endif
171 endef
172
173 define Build/Clean
174 rm -rf $(PKG_KMOD_BUILD_DIR)
175 endef
176
177 define KernelPackage/batman-adv/install
178 $(INSTALL_DIR) $(1)/etc/config $(1)/etc/init.d
179 $(INSTALL_BIN) ./files/etc/init.d/batman-adv $(1)/etc/init.d
180 $(INSTALL_DATA) ./files/etc/config/batman-adv $(1)/etc/config
181 ifneq ($(DEVELOPER)$(CONFIG_KMOD_BATMAN_ADV_BATCTL),)
182 $(INSTALL_DIR) $(1)/usr/sbin
183 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/batctl $(1)/usr/sbin/
184 endif
185 endef
186
187 $(eval $(call KernelPackage,batman-adv))