* Some more Makefile fixes
[project/luci.git] / contrib / package / ffluci / Makefile
1 include $(TOPDIR)/rules.mk
2
3 PKG_BRANCH:=trunk
4 PKG_SOURCE_URL:=https://dev.leipzig.freifunk.net/svn/ff-luci/$(PKG_BRANCH)
5 PKG_REV:=$(shell LC_ALL=C svn info ${PKG_SOURCE_URL} | sed -ne's/^Last Changed Rev: //p')
6
7 PKG_NAME:=ffluci
8 PKG_VERSION:=0.4+svn$(PKG_REV)
9 PKG_RELEASE:=1
10
11 PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz
12 PKG_SOURCE_PROTO:=svn
13 PKG_SOURCE_VERSION:=$(PKG_REV)
14 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
15
16 PKG_BUILD_DEPENDS:=lua-luci
17
18 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
19 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
20
21 # LUA_TARGET:=compile LUAC=$(BUILD_DIR_HOST)/lua-luci/luac
22 LUA_TARGET:=source
23
24
25 include $(INCLUDE_DIR)/package.mk
26
27 define Build/Configure
28 endef
29
30 define Build/Compile
31         $(MAKE) -C$(PKG_BUILD_DIR) build LUA_TARGET=$(LUA_TARGET)
32 endef
33
34
35 define Package/ffluci/template
36   SECTION:=admin
37   CATEGORY:=Administration
38   TITLE:=FFLuCI - Freifunk Lua Configuration Interface
39   URL:=http://luci.freifunk-halle.net/
40   MAINTAINER:=Steven Barth <steven-at-midlink-dot-org>
41 endef
42
43 define Package/ffluci/install/template
44   $(CP) $(PKG_BUILD_DIR)/$(2)/dist/* $(1)/ -R
45   
46   for i in $(PKG_BUILD_DIR)/$(2)/dist/usr/bin/*; do $(INSTALL_BIN) $$i $(1)/usr/bin/; done
47   for i in $(PKG_BUILD_DIR)/$(2)/dist/usr/sbin/*; do $(INSTALL_BIN) $$i $(1)/usr/sbin/; done
48   for i in $(PKG_BUILD_DIR)/$(2)/dist/bin/*; do $(INSTALL_BIN) $$i $(1)/bin/; done
49   for i in $(PKG_BUILD_DIR)/$(2)/dist/sbin/*; do $(INSTALL_BIN) $$i $(1)/sbin/; done
50 endef
51
52
53 define Package/ffluci
54   $(call Package/ffluci/template)
55   MENU:=1
56   DEPENDS:=+lua-luci +luaposix +luci-addons
57 endef
58
59 define Package/ffluci/conffiles
60 /etc/config/luci
61 endef
62
63 define Package/ffluci/install           
64   $(call Package/ffluci/install/template,$(1),core)
65   $(call Package/ffluci/install/template,$(1),themes/fledermaus)
66 endef
67
68
69 ### Community Packages ###
70
71 define Package/ffluci-ff-halle
72   $(call Package/ffluci/template)
73   DEPENDS:=ffluci \
74    +ffluci-sgi-haserl +ffluci-mod-freifunk +ffluci-app-firewall +ffluci-app-splash \
75    +olsrd +olsrd-mod-dyn-gw +olsrd-mod-txtinfo +olsrd-mod-nameservice \
76    +kmod-tun
77   TITLE:=Freifunk Halle Community Meta-Package
78 endef
79
80 define Package/ffluci-ff-halle/install
81 endef
82
83
84 define Package/ffluci-ff-leipzig
85   $(call Package/ffluci/template)
86   DEPENDS:=ffluci \
87    +ffluci-sgi-haserl +ffluci-mod-freifunk +ffluci-app-firewall +ffluci-app-splash \
88    +olsrd +olsrd-mod-dyn-gw +olsrd-mod-txtinfo +olsrd-mod-nameservice \
89    +kmod-tun
90   TITLE:=Freifunk Leipzig Community Meta-Package
91 endef
92
93 define Package/ffluci-ff-leipzig/install
94   $(call Package/ffluci/install/template,$(1),applications/community-leipzig)
95 endef
96
97
98
99 ### Modules ###
100
101 define Package/ffluci-mod-admin-core
102   $(call Package/ffluci/template)
103   DEPENDS:=ffluci
104   TITLE:=Core administrative pages
105 endef
106
107 define Package/ffluci-mod-admin-core/install
108   $(call Package/ffluci/install/template,$(1),modules/admin-core)
109 endef
110
111
112 define Package/ffluci-mod-freifunk
113   $(call Package/ffluci/template)
114   DEPENDS:=ffluci +ffluci-mod-admin-core
115   TITLE:=Freifunk public and administrative pages
116 endef
117
118 define Package/ffluci-mod-freifunk/conffiles
119 /etc/config/freifunk
120 endef
121
122 define Package/ffluci-mod-freifunk/install
123   $(call Package/ffluci/install/template,$(1),modules/freifunk)
124 endef
125
126
127
128 ### Applications ###
129
130 define Package/ffluci-app-firewall
131   $(call Package/ffluci/template)
132   DEPENDS:=ffluci +ffluci-mod-admin-core
133   TITLE:=Firewall and Portforwarding application
134 endef
135
136 define Package/ffluci-app-firewall/conffiles
137 /etc/config/luci_fw
138 endef
139
140 define Package/ffluci-app-firewall/install
141   $(call Package/ffluci/install/template,$(1),applications/luci-fw)
142 endef
143
144
145 define Package/ffluci-app-splash
146   $(call Package/ffluci/template)
147   DEPENDS:=ffluci +ffluci-mod-freifunk +ffluci-sgi-haserl +iptables-mod-nat
148   TITLE:=Freifunk DHCP-Splash application
149 endef
150
151 define Package/ffluci-app-splash/conffiles
152 /etc/config/luci_splash
153 endef
154
155 define Package/ffluci-app-splash/install
156   $(call Package/ffluci/install/template,$(1),applications/luci-splash)
157 endef
158
159
160
161 ### Server Gateway Interfaces ###
162
163 define Package/ffluci-sgi-haserl
164   $(call Package/ffluci/template)
165   DEPENDS:=ffluci +haserl-lua
166   TITLE:=SGI for Haserl
167 endef
168
169 define Package/ffluci-sgi-haserl/install
170   $(call Package/ffluci/install/template,$(1),applications/sgi-haserl)
171 endef
172
173
174 define Package/ffluci-sgi-webuci
175   $(call Package/ffluci/template)
176   DEPENDS:=ffluci
177   TITLE:=SGI for Webuci
178 endef
179
180 define Package/ffluci-sgi-webuci/install
181   $(call Package/ffluci/install/template,$(1),applications/sgi-webuci)
182 endef
183
184
185
186
187 $(eval $(call BuildPackage,ffluci))
188
189
190 $(eval $(call BuildPackage,ffluci-ff-halle))
191 $(eval $(call BuildPackage,ffluci-ff-leipzig))
192
193 $(eval $(call BuildPackage,ffluci-mod-admin-core))
194 $(eval $(call BuildPackage,ffluci-mod-freifunk))
195
196 $(eval $(call BuildPackage,ffluci-app-firewall))
197 $(eval $(call BuildPackage,ffluci-app-splash))
198
199 $(eval $(call BuildPackage,ffluci-sgi-haserl))
200 $(eval $(call BuildPackage,ffluci-sgi-webuci))