4a7cd964417c1fce2ab752bb0248fbc4a5ffcd36
[packages.git] / net / aodv-uu / Makefile
1 #
2 # Copyright (C) 2006-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
8 include $(TOPDIR)/rules.mk
9 include $(INCLUDE_DIR)/kernel.mk
10
11 PKG_NAME:=aodv-uu
12 PKG_VERSION:=0.9.3
13 PKG_RELEASE:=1
14
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
16 PKG_SOURCE_URL:=http://core.it.uu.se/core/files/
17 PKG_MD5SUM:=05460543054449cb4b170252a7168c65
18
19 include $(INCLUDE_DIR)/package.mk
20
21 define Package/aodv-uu/Default
22   TITLE:=Ad-hoc On-demand Distance Vector Routing
23   DEPENDS:=@BROKEN
24   URL:=http://core.it.uu.se/core/index.php/AODV-UU
25 endef
26
27 define Package/aodv-uu/Default/description
28  AODV is the Ad-hoc On-demand Distance Vector routing protocol
29  implementation created at Uppsala University.
30 endef
31
32 define Package/aodv-uu
33 $(call Package/aodv-uu/Default)
34   SECTION:=net
35   CATEGORY:=Network
36   TITLE+= (daemon)
37 endef
38
39 define Package/aodv-uu/description
40 $(call Package/aodv-uu/Default/description)
41  This package contains the AODV userland daemon.
42 endef
43
44 define KernelPackage/aodv-uu
45 $(call Package/aodv-uu/Default)
46   TITLE+= (kernel module)
47   FILES:=$(PKG_BUILD_DIR)/lnx/kaodv.$(LINUX_KMOD_SUFFIX)
48   SUBMENU:=Network Support
49   AUTOLOAD:=$(call AutoLoad,80,$(shell cat ./files/aodv-uu.modules))
50 endef
51
52 define KernelPackage/aodv-uu/description
53 $(call Package/aodv-uu/Default/description)
54  This package contains the AODV kernel module.
55 endef
56
57 ifneq ($(CONFIG_LINUX_2_4),y)
58   define Build/Compile/linux26
59         $(MAKE) -C $(LINUX_DIR) \
60                 ARCH="$(LINUX_KARCH)" \
61                 CROSS_COMPILE="$(TARGET_CROSS)" \
62                 PATCHLEVEL="$(LINUX_VERSION)" \
63                 KERNDIR="$(LINUX_DIR)" \
64                 SUBDIRS="$(PKG_BUILD_DIR)/lnx" \
65                 modules
66   endef
67 else
68   # We assume 2.4 builds are only for brcm-2.4 yet
69   define Build/Compile/linux24-brcm
70         $(call Build/Compile/Default,\
71                 KERNEL_DIR="$(LINUX_DIR)" \
72                 KCC="$(TARGET_CC)" \
73                 CFLAGS="$(TARGET_CFLAGS)" \
74                 kaodv-mips \
75         )
76         cp $(PKG_BUILD_DIR)/lnx/kaodv-mips.$(LINUX_KMOD_SUFFIX) $(PKG_BUILD_DIR)/lnx/kaodv.$(LINUX_KMOD_SUFFIX)
77   endef
78 endif
79
80 define Build/Compile
81         $(call Build/Compile/linux26)
82         $(call Build/Compile/linux24-brcm)
83         $(call Build/Compile/Default,\
84                 KERNEL_DIR="$(LINUX_DIR)" \
85                 KCC="$(TARGET_CC)" \
86                 CFLAGS="$(TARGET_CFLAGS)" \
87                 aodvd \
88         )
89 endef
90
91 define Package/aodv-uu/install
92         $(INSTALL_DIR) $(1)/usr/sbin
93         $(INSTALL_BIN) $(PKG_BUILD_DIR)/aodvd $(1)/usr/sbin
94 endef
95
96 define Package/kmod-aodv-uu/install
97         $(INSTALL_DIR) $(1)/etc/modules.d
98         $(INSTALL_DATA) ./files/aodv-uu.modules $(1)/etc/modules.d/80-aodv-uu
99         $(INSTALL_DIR) $(1)/lib/modules/$(LINUX_VERSION)
100         $(CP) $(PKG_BUILD_DIR)/lnx/kaodv.$(LINUX_KMOD_SUFFIX) $(1)/lib/modules/$(LINUX_VERSION)/
101 endef
102
103 $(eval $(call BuildPackage,aodv-uu))
104 $(eval $(call KernelPackage,aodv-uu))