olsrd-luci: Enable position independent code for certain platforms
[project/luci.git] / contrib / package / olsrd-luci / Makefile
1 #
2 # Copyright (C) 2008 Freifunk Leipzig
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 # $Id$
8 #
9
10 include $(TOPDIR)/rules.mk
11
12 PKG_BASENAME:=olsrd
13 PKG_NAME:=$(PKG_BASENAME)-luci
14 PKG_VERSION:=0.5.6
15 PKG_RELEASE:=4
16
17 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_BASENAME)-$(PKG_VERSION)
18 PKG_SOURCE:=$(PKG_BASENAME)-$(PKG_VERSION).tar.bz2
19 PKG_SOURCE_URL:=http://www.olsr.org/releases/0.5
20 PKG_MD5SUM:=918a4d43eebb6d62889ecedb941c2029
21
22 include $(INCLUDE_DIR)/package.mk
23
24
25 define Package/olsrd-luci/common_info
26         SECTION:=net
27         CATEGORY:=Network
28         TITLE:=OLSR - Optimized Link State Routing Daemon
29         URL:=http://www.olsr.org/
30         MAINTAINER:=Jo-Philipp Wich <xm@leipzig.freifunk.net>
31 endef
32
33 define Package/olsrd-luci
34         $(call Package/olsrd-luci/common_info)
35         MENU:=1
36         DEPENDS:=+libpthread
37 endef
38
39 define Package/olsrd-luci/conffiles
40 /etc/config/olsrd
41 endef
42
43 define Package/olsrd-luci-mod-arprefresh
44         $(call Package/olsrd-luci/common_info)
45         MENU:=1
46         TITLE:=OLSR - ARP Refresh Plugin
47         DEPENDS:=olsrd-luci
48 endef
49
50 define Package/olsrd-luci-mod-dot-draw
51         $(call Package/olsrd-luci/common_info)
52         MENU:=1
53         TITLE:=OLSR - Dot Draw Plugin
54         DEPENDS:=olsrd-luci
55 endef
56
57 define Package/olsrd-luci-mod-bmf
58         $(call Package/olsrd-luci/common_info)
59         MENU:=1
60         TITLE:=OLSR - Basic Multicast Forwarding Plugin
61         DEPENDS:=olsrd-luci +kmod-tun
62 endef
63
64 define Package/olsrd-luci-mod-dyn-gw
65         $(call Package/olsrd-luci/common_info)
66         MENU:=1
67         TITLE:=OLSR - Dynamic Gateway Plugin
68         DEPENDS:=olsrd-luci
69 endef
70
71 define Package/olsrd-luci-mod-dyn-gw-plain
72         $(call Package/olsrd-luci/common_info)
73         MENU:=1
74         TITLE:=OLSR - Dynamic Gateway Plugin (Plain Version)
75         DEPENDS:=olsrd-luci
76 endef
77
78 define Package/olsrd-luci-mod-httpinfo
79         $(call Package/olsrd-luci/common_info)
80         MENU:=1
81         TITLE:=OLSR - HTTP/HTML Info Plugin
82         DEPENDS:=olsrd-luci
83 endef
84
85 define Package/olsrd-luci-mod-nameservice
86         $(call Package/olsrd-luci/common_info)
87         MENU:=1
88         TITLE:=OLSR - Hostname Propagation Plugin
89         DEPENDS:=olsrd-luci
90 endef
91
92 define Package/olsrd-luci-mod-secure
93         $(call Package/olsrd-luci/common_info)
94         MENU:=1
95         TITLE:=OLSR - Security Extensions Plugin
96         DEPENDS:=olsrd-luci
97 endef
98
99 define Package/olsrd-luci-mod-txtinfo
100         $(call Package/olsrd-luci/common_info)
101         MENU:=1
102         TITLE:=OLSR - HTTP/Plaintext Info Plugin
103         DEPENDS:=olsrd-luci
104 endef
105
106 define Package/olsrd-luci-mod-pgraph
107         $(call Package/olsrd-luci/common_info)
108         MENU:=1
109         TITLE:=OLSR - PGraph Plugin
110         DEPENDS:=olsrd-luci
111 endef
112
113 define Package/olsrd-luci-mod-quagga
114         $(call Package/olsrd-luci/common_info)
115         MENU:=1
116         TITLE:=OLSR - Quagga Plugin
117         DEPENDS:=olsrd-luci
118 endef
119
120 define Package/olsrd-luci-mod-tas
121         $(call Package/olsrd-luci/common_info)
122         MENU:=1
123         TITLE:=OLSR - Tiny Application Server Plugin
124         DEPENDS:=olsrd-luci
125 endef
126
127 TARGET_CFLAGS += $(FPIC)
128
129 define Build/Compile
130         $(MAKE) -C "$(PKG_BUILD_DIR)" olsrd libs \
131                 $(TARGET_CONFIGURE_OPTS) \
132                 NODEBUG=1 \
133                 CFLAGS="$(TARGET_CFLAGS)" \
134                 OS="linux" \
135                 INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \
136                 LIBDIR="$(PKG_INSTALL_DIR)/usr/lib" \
137                 SBINDIR="$(PKG_INSTALL_DIR)/usr/sbin/" \
138                 ETCDIR="$(PKG_INSTALL_DIR)/etc" \
139                 MANDIR="$(PKG_INSTALL_DIR)/usr/share/man" \
140                 STRIP="true" \
141                 INSTALL_LIB="true" \
142                 SUBDIRS="arprefresh bmf dot_draw dyn_gw dyn_gw_plain httpinfo nameservice secure txtinfo pgraph quagga tas"
143 endef
144
145 define Package/olsrd-luci/install
146         $(INSTALL_DIR) $(1)/usr/sbin
147         $(INSTALL_DIR) $(1)/etc/config
148         $(INSTALL_DIR) $(1)/etc/init.d
149         $(INSTALL_BIN) $(PKG_BUILD_DIR)/olsrd $(1)/usr/sbin/
150         $(INSTALL_BIN) ./files/etc/init.d/olsrd $(1)/etc/init.d/
151         $(INSTALL_CONF) ./files/etc/config/olsrd $(1)/etc/config/
152 endef
153
154 define Package/olsrd-luci-mod-arprefresh/install
155         $(INSTALL_DIR) $(1)/usr/lib
156         $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/arprefresh/olsrd_arprefresh.so.* $(1)/usr/lib/
157 endef
158
159 define Package/olsrd-luci-mod-dot-draw/install
160         $(INSTALL_DIR) $(1)/usr/lib
161         $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/dot_draw/olsrd_dot_draw.so.* $(1)/usr/lib/
162 endef
163
164 define Package/olsrd-luci-mod-bmf/install
165         $(INSTALL_DIR) $(1)/usr/lib
166         $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/bmf/olsrd_bmf.so.* $(1)/usr/lib/
167 endef
168
169 define Package/olsrd-luci-mod-dyn-gw/install
170         $(INSTALL_DIR) $(1)/usr/lib
171         $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/dyn_gw/olsrd_dyn_gw.so.* $(1)/usr/lib/
172 endef
173
174 define Package/olsrd-luci-mod-dyn-gw-plain/install
175         $(INSTALL_DIR) $(1)/usr/lib
176         $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/dyn_gw_plain/olsrd_dyn_gw_plain.so.* $(1)/usr/lib/
177 endef
178
179 define Package/olsrd-luci-mod-httpinfo/install
180         $(INSTALL_DIR) $(1)/usr/lib
181         $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/httpinfo/olsrd_httpinfo.so.* $(1)/usr/lib/
182 endef
183
184 define Package/olsrd-luci-mod-nameservice/install
185         $(INSTALL_DIR) $(1)/usr/lib
186         $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/nameservice/olsrd_nameservice.so.* $(1)/usr/lib/
187 endef
188
189 define Package/olsrd-luci-mod-secure/install
190         $(INSTALL_DIR) $(1)/usr/lib
191         $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/secure/olsrd_secure.so.* $(1)/usr/lib/
192 endef
193
194 define Package/olsrd-luci-mod-txtinfo/install
195         $(INSTALL_DIR) $(1)/usr/lib
196         $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/txtinfo/olsrd_txtinfo.so.* $(1)/usr/lib/
197 endef
198
199 define Package/olsrd-luci-mod-pgraph/install
200         $(INSTALL_DIR) $(1)/usr/lib
201         $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/pgraph/olsrd_pgraph.so.* $(1)/usr/lib/
202 endef
203
204 define Package/olsrd-luci-mod-quagga/install
205         $(INSTALL_DIR) $(1)/usr/lib
206         $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/quagga/olsrd_quagga.so.* $(1)/usr/lib/
207 endef
208
209 define Package/olsrd-luci-mod-tas/install
210         $(INSTALL_DIR) $(1)/usr/lib
211         $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/tas/olsrd_tas.so.* $(1)/usr/lib/
212 endef
213
214
215 $(eval $(call BuildPackage,olsrd-luci))
216 $(eval $(call BuildPackage,olsrd-luci-mod-arprefresh))
217 $(eval $(call BuildPackage,olsrd-luci-mod-dot-draw))
218 $(eval $(call BuildPackage,olsrd-luci-mod-bmf))
219 $(eval $(call BuildPackage,olsrd-luci-mod-dyn-gw))
220 $(eval $(call BuildPackage,olsrd-luci-mod-dyn-gw-plain))
221 $(eval $(call BuildPackage,olsrd-luci-mod-httpinfo))
222 $(eval $(call BuildPackage,olsrd-luci-mod-nameservice))
223 $(eval $(call BuildPackage,olsrd-luci-mod-secure))
224 $(eval $(call BuildPackage,olsrd-luci-mod-txtinfo))
225 $(eval $(call BuildPackage,olsrd-luci-mod-pgraph))
226 $(eval $(call BuildPackage,olsrd-luci-mod-quagga))
227 $(eval $(call BuildPackage,olsrd-luci-mod-tas))