Moar Makefile fixes
[project/luci.git] / contrib / package / luci / Makefile
1 include $(TOPDIR)/rules.mk
2
3 PKG_BRANCH:=trunk
4
5 ifeq ($(DUMP),)
6   USELOCAL:=$(shell grep luci ../../../.project 2>/dev/null >/dev/null && echo 1)
7 endif
8
9 PKG_NAME:=luci
10 PKG_RELEASE:=1
11
12 ifeq ($(USELOCAL),1)
13   PKG_VERSION:=0.9+svn
14 else
15   PKG_SOURCE_URL:=http://svn.luci.subsignal.org/luci/$(PKG_BRANCH)
16   ifeq ($(DUMP),)
17     PKG_REV:=$(shell LC_ALL=C svn info $(CURDIR) | sed -ne's/^Revision: //p')
18     PKG_VERSION:=0.9+svn$(PKG_REV)
19   endif
20   PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
21   PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz
22   PKG_SOURCE_PROTO:=svn
23   PKG_SOURCE_VERSION:=$(PKG_REV)
24 endif
25
26 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
27 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
28
29 LUA_TARGET:=source
30 LUCI_CFLAGS:=
31 PKG_SELECTED_MODULES:=
32
33
34 include $(INCLUDE_DIR)/package.mk
35
36 ifeq ($(USELOCAL),1)
37   define Build/Prepare
38         mkdir -p $(PKG_BUILD_DIR)
39         $(TAR) c -C ../../../ . \
40                 --exclude=.pc --exclude=.svn --exclude=.git \
41                 --exclude='boa-0*' --exclude='*.o' --exclude='*.so' \
42                 --exclude=dist | \
43                         tar x -C $(PKG_BUILD_DIR)/
44   endef
45 endif
46
47 define Build/Configure
48 endef
49
50 ### Templates ###
51
52 define Package/luci/libtemplate
53   SECTION:=admin
54   CATEGORY:=Administration
55   TITLE:=LuCI - Lua Configuration Interface
56   URL:=http://luci.freifunk-halle.net/
57   MAINTAINER:=Steven Barth <steven-at-midlink-dot-org>
58   SUBMENU:=LuCI Libraries
59   DEPENDS:=+luci-core
60 endef
61
62 define Package/luci/fftemplate
63   $(call Package/luci/libtemplate)
64   SUBMENU:=LuCI Freifunk Support
65   DEPENDS:=+luci-mod-freifunk
66 endef
67
68 define Package/luci/httpdtemplate
69   $(call Package/luci/libtemplate)
70   SUBMENU:=LuCIttpd
71   DEPENDS:=+luci-httpd
72 endef
73
74 define Package/luci/i18ntemplate
75   $(call Package/luci/libtemplate)
76   SUBMENU:=LuCI Translations
77   DEPENDS:=+luci-web
78 endef
79
80 define Package/luci/thtemplate
81   $(call Package/luci/libtemplate)
82   SUBMENU:=LuCI Themes
83   DEPENDS:=+luci-web
84 endef
85
86 define Package/luci/webtemplate
87   $(call Package/luci/libtemplate)
88   SUBMENU:=LuCI Components
89 endef
90
91
92 define Package/luci/install/template
93         $(CP) -a $(PKG_BUILD_DIR)/$(2)/dist/* $(1)/ -R
94         $(CP) -a $(PKG_BUILD_DIR)/$(2)/ipkg/* $(1)/CONTROL/ 2>/dev/null || true
95 endef
96
97
98
99 ### Core package ###
100
101 define Package/luci-core
102   $(call Package/luci/libtemplate)
103   DEPENDS:=+lua
104   TITLE:=LuCI core libraries
105 endef
106
107 define Package/luci-core/install
108         $(call Package/luci/install/template,$(1),libs/core)
109         $(PKG_BUILD_DIR)/build/mkversion.sh $(1)/usr/lib/lua/luci/version.lua \
110                 "OpenWrt Firmware" \
111                 "$(OPENWRTVERSION)" \
112                 "$(PKG_BRANCH)" \
113                 "$(PKG_VERSION)"
114 endef
115
116 define Package/luci-core/config
117        choice
118                prompt "Build Target"
119                default PACKAGE_luci-core_source
120
121        config PACKAGE_luci-core_compile
122                bool "Precompiled"
123
124        config PACKAGE_luci-core_stripped
125                bool "Stripped"
126
127        config PACKAGE_luci-core_source
128                bool "Full Source"
129
130        config PACKAGE_luci-core_zipped
131                bool "Precompiled and compressed"
132
133        endchoice
134 endef
135
136 ifneq ($(CONFIG_PACKAGE_luci-core_compile),)
137   LUA_TARGET:=compile
138 endif
139
140 ifneq ($(CONFIG_PACKAGE_luci-core_stripped),)
141   LUA_TARGET:=strip
142 endif
143
144 ifneq ($(CONFIG_PACKAGE_luci-core_zipped),)
145   LUA_TARGET:=gzip
146 endif
147
148
149 ### Libraries ###
150 define Package/luci-cbi
151   $(call Package/luci/libtemplate)
152   DEPENDS+=+luci-web +luci-uvl +luci-uci
153   TITLE:=Configuration Binding Interface
154 endef
155
156 define Package/luci-cbi/install
157         $(call Package/luci/install/template,$(1),libs/cbi)
158 endef
159
160
161 define Package/luci-uci
162   $(call Package/luci/libtemplate)
163   DEPENDS+=+libuci-lua
164   TITLE:=High-Level UCI API
165 endef
166
167 define Package/luci-uci/install
168         $(call Package/luci/install/template,$(1),libs/uci)
169 endef
170
171
172 define Package/luci-fastindex
173   $(call Package/luci/libtemplate)
174   TITLE:=Fastindex indexing module
175 endef
176
177 define Package/luci-fastindex/install
178         $(call Package/luci/install/template,$(1),libs/fastindex)
179 endef
180
181
182 define Package/luci-http
183   $(call Package/luci/libtemplate)
184   TITLE:=HTTP Protocol implementation
185 endef
186
187 define Package/luci-http/install
188         $(call Package/luci/install/template,$(1),libs/http)
189 endef
190
191
192 define Package/luci-httpclient
193   $(call Package/luci/libtemplate)
194   TITLE:=HTTP(S) client library
195   DEPENDS+=+luci-http +luci-nixio
196 endef
197
198 define Package/luci-httpclient/install
199         $(call Package/luci/install/template,$(1),libs/httpclient)
200 endef
201
202
203 define Package/luci-ipkg
204   $(call Package/luci/libtemplate)
205   TITLE:=LuCI IPKG/OPKG call abstraction library
206 endef
207
208 define Package/luci-ipkg/install
209         $(call Package/luci/install/template,$(1),libs/ipkg)
210 endef
211
212
213 define Package/luci-json
214   $(call Package/luci/libtemplate)
215   TITLE:=LuCI JSON Library
216 endef
217
218 define Package/luci-json/install
219         $(call Package/luci/install/template,$(1),libs/json)
220 endef
221
222
223 define Package/luci-luanet
224   $(call Package/luci/libtemplate)
225   TITLE:=luanet
226   DEPENDS+=+libiw
227 endef
228
229 define Package/luci-luanet/install
230         $(call Package/luci/install/template,$(1),libs/luanet)
231 endef
232
233
234 define Package/luci-lucid
235   $(call Package/luci/libtemplate)
236   TITLE:=LuCId Superserver
237   DEPENDS+=+luci-nixio +luci-http +luci-px5g
238 endef
239
240 define Package/luci-lucid/install
241         $(call Package/luci/install/template,$(1),libs/lucid)
242         $(call Package/luci/install/template,$(1),libs/lucid-http)
243 endef
244
245
246
247 NIXIO_TLS:=axtls
248
249 define Package/luci-nixio
250   $(call Package/luci/libtemplate)
251   TITLE:=NIXIO Socket Library
252   DEPENDS:=
253 endef
254
255 define Package/luci-nixio/install
256         $(call Package/luci/install/template,$(1),libs/nixio)
257 endef
258
259 define Package/luci-nixio/config
260         choice
261                 prompt "TLS Provider"
262                 default PACKAGE_luci-nixio_axtls
263
264                 config PACKAGE_luci-nixio_axtls
265                         bool "Builtin (axTLS)"
266                         select PACKAGE_dropbear
267                         select PACKAGE_dropbearconvert
268
269                 config PACKAGE_luci-nixio_cyassl
270                         bool "CyaSSL"
271                         select PACKAGE_libcyassl-luci
272
273                 config PACKAGE_luci-nixio_openssl
274                         bool "OpenSSL"
275                         select PACKAGE_libopenssl
276         endchoice
277 endef
278
279 ifneq ($(CONFIG_PACKAGE_luci-nixio_openssl),)
280   NIXIO_TLS:=openssl
281 endif
282
283 ifneq ($(CONFIG_PACKAGE_luci-nixio_cyassl),)
284   NIXIO_TLS:=cyassl
285   LUCI_CFLAGS+=-I$(STAGING_DIR)/usr/include/cyassl
286 endif
287
288
289 define Package/luci-px5g
290   $(call Package/luci/libtemplate)
291   TITLE:=PX5G RSA Keymaster
292   DEPENDS:=+luci-nixio
293 endef
294
295 define Package/luci-px5g/install
296         $(call Package/luci/install/template,$(1),libs/px5g)
297 endef
298
299
300 define Package/luci-sys
301   $(call Package/luci/libtemplate)
302   TITLE:=LuCI Linux/POSIX system library
303 endef
304
305 define Package/luci-sys/install
306         $(call Package/luci/install/template,$(1),libs/sys)
307 endef
308
309
310 define Package/luci-web
311   $(call Package/luci/libtemplate)
312   DEPENDS+=+luci-http +luci-sys +luci-uci +luci-lucid +luci-sgi-cgi
313   TITLE:=MVC Webframework
314   $(call Config,luci.main.lang,string,en,Default Language)
315 endef
316
317 define Package/luci-web/conffiles
318 /etc/config/luci
319 endef
320
321 define Package/luci-web/install
322         $(call Package/luci/install/template,$(1),libs/web)
323 endef
324
325
326 define Package/luci-uvl
327   $(call Package/luci/libtemplate)
328   DEPENDS+=+luci-sys +luci-uci +luci-core
329   TITLE:=UVL - UCI Validation Layer
330 endef
331
332 define Package/luci-uvl/install
333         $(call Package/luci/install/template,$(1),libs/uvl)
334 endef
335
336
337
338 ### HTTPD ###
339
340 define Package/luci-httpd
341   $(call Package/luci/httpdtemplate)
342   DEPENDS:=+luci-http +libuci
343   TITLE:=Server Core
344 endef
345
346 define Package/luci-httpd/install
347         $(call Package/luci/install/template,$(1),libs/lucittpd)
348 endef
349
350
351
352 ### Community Packages ###
353
354 define Package/luci-freifunk-community
355   $(call Package/luci/fftemplate)
356   DEPENDS+= \
357    +luci-lucid +luci-sgi-cgi +luci-app-splash \
358    +luci-app-ffwizard-leipzig \
359    +luci-i18n-german \
360    +PACKAGE_luci-freifunk-community:olsrd-luci +PACKAGE_luci-freifunk-community:olsrd-luci-mod-dyn-gw-plain \
361    +PACKAGE_luci-freifunk-community:olsrd-luci-mod-txtinfo +PACKAGE_luci-freifunk-community:olsrd-luci-mod-nameservice \
362    +PACKAGE_luci-freifunk-community:olsrd-luci-mod-watchdog +PACKAGE_luci-freifunk-community:kmod-tun \
363    +PACKAGE_luci-freifunk-community:ip +PACKAGE_luci-freifunk-community:freifunk-watchdog +luci-app-olsr
364   TITLE:=Freifunk Community Meta-Package
365 endef
366
367 define Package/luci-freifunk-community/install
368         $(call Package/luci/install/template,$(1),applications/freifunk-community)
369 endef
370
371 ### Modules ###
372
373 define Package/luci-admin-core
374   $(call Package/luci/webtemplate)
375   DEPENDS+=+luci-web +luci-cbi +luci-i18n-english
376   TITLE:=Web UI Core Module
377 endef
378
379 define Package/luci-admin-core/conffiles
380 /etc/config/luci_hosts
381 /etc/config/luci_ethers
382 endef
383
384 define Package/luci-admin-core/install
385         $(call Package/luci/install/template,$(1),modules/admin-core)
386         touch $(1)/etc/init.d/luci_fixtime || true
387 endef
388
389
390 define Package/luci-admin-mini
391   $(call Package/luci/webtemplate)
392   DEPENDS+=+luci-admin-core
393   TITLE:=LuCI Essentials - stripped down and user-friendly
394 endef
395
396 define Package/luci-admin-mini/install
397         $(call Package/luci/install/template,$(1),modules/admin-mini)
398 endef
399
400
401 define Package/luci-admin-full
402   $(call Package/luci/webtemplate)
403   DEPENDS+=+luci-admin-core +luci-ipkg
404   TITLE:=LuCI Administration - full-featured for full control
405 endef
406
407 define Package/luci-admin-full/install
408         $(call Package/luci/install/template,$(1),modules/admin-full)
409 endef
410
411
412 define Package/luci-admin-rpc
413   $(call Package/luci/webtemplate)
414   DEPENDS+=+luci-json
415   TITLE:=LuCI RPC - JSON-RPC API
416 endef
417
418 define Package/luci-admin-rpc/install
419         $(call Package/luci/install/template,$(1),modules/rpc)
420 endef
421
422
423 define Package/luci-mod-freifunk
424   $(call Package/luci/fftemplate)
425   DEPENDS:=+luci-admin-full +luci-json
426   TITLE:=LuCI Freifunk module
427 endef
428
429 define Package/luci-mod-freifunk/conffiles
430 /etc/config/freifunk
431 endef
432
433 define Package/luci-mod-freifunk/install
434         $(call Package/luci/install/template,$(1),modules/freifunk)
435 endef
436
437
438
439 ### Applications ###
440
441 define Package/luci-app-ffwizard-leipzig
442   $(call Package/luci/fftemplate)
443   TITLE:=Freifunk Leipzig configuration wizard
444 endef
445
446 define Package/luci-app-ffwizard-leipzig/install
447         $(call Package/luci/install/template,$(1),applications/luci-ffwizard-leipzig)
448 endef
449
450
451 define Package/luci-app-siitwizard
452   $(call Package/luci/fftemplate)
453   TITLE:=SIIT IPv4-over-IPv6 configuration wizard
454   DEPENDS:=+luci-admin-core +PACKAGE_luci-app-siitwizard:kmod-siit
455 endef
456
457 define Package/luci-app-siitwizard/install
458         $(call Package/luci/install/template,$(1),applications/luci-siitwizard)
459 endef
460
461
462 define Package/luci-app-firewall
463   $(call Package/luci/webtemplate)
464   DEPENDS+=+luci-admin-core +PACKAGE_luci-app-firewall:firewall
465   TITLE:=Firewall and Portforwarding application
466 endef
467
468 define Package/luci-app-firewall/install
469         $(call Package/luci/install/template,$(1),applications/luci-fw)
470 endef
471
472
473 define Package/luci-app-olsr
474   $(call Package/luci/webtemplate)
475   DEPENDS+=+luci-admin-full +PACKAGE_luci-app-olsr:olsrd-luci +PACKAGE_luci-app-olsr:olsrd-luci-mod-txtinfo
476   TITLE:=OLSR configuration and status module
477 endef
478
479 define Package/luci-app-olsr/install
480         $(call Package/luci/install/template,$(1),applications/luci-olsr)
481 endef
482
483
484 define Package/luci-app-qos
485   $(call Package/luci/webtemplate)
486   DEPENDS+=+luci-admin-core +PACKAGE_luci-app-qos:qos-scripts
487   TITLE:=Quality of Service configuration module
488 endef
489
490 define Package/luci-app-qos/install
491         $(call Package/luci/install/template,$(1),applications/luci-qos)
492 endef
493
494
495 define Package/luci-app-splash
496   $(call Package/luci/fftemplate)
497   DEPENDS+=+PACKAGE_luci-app-splash:luci-nixio +PACKAGE_luci-app-splash:iptables-mod-nat-extra
498   TITLE:=Freifunk DHCP-Splash application
499 endef
500
501 define Package/luci-app-splash/conffiles
502 /etc/config/luci_splash
503 endef
504
505 define Package/luci-app-splash/install
506         $(call Package/luci/install/template,$(1),applications/luci-splash)
507 endef
508
509
510 define Package/luci-app-statistics
511   $(call Package/luci/webtemplate)
512   DEPENDS+=+luci-admin-full +PACKAGE_luci-app-statistics:collectd \
513    +PACKAGE_luci-app-statistics:rrdtool1 \
514    +PACKAGE_luci-app-statistics:collectd-mod-rrdtool1 \
515    +PACKAGE_luci-app-statistics:collectd-mod-wireless \
516    +PACKAGE_luci-app-statistics:collectd-mod-interface \
517    +PACKAGE_luci-app-statistics:collectd-mod-load
518   TITLE:=LuCI Statistics Application
519 endef
520
521 define Package/luci-app-statistics/conffiles
522 /etc/config/luci_statistics
523 endef
524
525 define Package/luci-app-statistics/install
526         $(call Package/luci/install/template,$(1),applications/luci-statistics)
527 endef
528
529
530 define Package/luci-app-upnp
531   $(call Package/luci/webtemplate)
532   DEPENDS+=+luci-admin-core +PACKAGE_luci-app-upnp:miniupnpd
533   TITLE:=Universal Plug & Play configuration module
534 endef
535
536 define Package/luci-app-upnp/install
537         $(call Package/luci/install/template,$(1),applications/luci-upnp)
538 endef
539
540
541 define Package/luci-app-ntpc
542   $(call Package/luci/webtemplate)
543   DEPENDS+=+luci-admin-core +PACKAGE_luci-app-ntpc:ntpclient
544   TITLE:=NTP time synchronisation client configuration module
545 endef
546
547 define Package/luci-app-ntpc/install
548         $(call Package/luci/install/template,$(1),applications/luci-ntpc)
549 endef
550
551
552 define Package/luci-app-ddns
553   $(call Package/luci/webtemplate)
554   DEPENDS+=+luci-admin-core +PACKAGE_luci-app-ddns:ddns-scripts
555   TITLE:=Dynamic DNS configuration module
556 endef
557
558 define Package/luci-app-ddns/install
559         $(call Package/luci/install/template,$(1),applications/luci-ddns)
560 endef
561
562
563 define Package/luci-app-samba
564   $(call Package/luci/webtemplate)
565   DEPENDS+=+luci-admin-full +PACKAGE_luci-app-samba:samba3
566   TITLE:=Network Shares - Samba SMB/CIFS module
567 endef
568
569 define Package/luci-app-samba/install
570         $(call Package/luci/install/template,$(1),applications/luci-samba)
571 endef
572
573
574 define Package/luci-app-uvc_streamer
575   $(call Package/luci/webtemplate)
576   DEPENDS+=+luci-admin-full +PACKAGE_luci-app-uvc_streamer:uvc-streamer
577   TITLE:=Webcam Streaming - UVC-Streamer module
578 endef
579
580 define Package/luci-app-uvc_streamer/install
581         $(call Package/luci/install/template,$(1),applications/luci-uvc_streamer)
582 endef
583
584
585 define Package/luci-app-mmc_over_gpio
586   $(call Package/luci/webtemplate)
587   DEPENDS+=+luci-admin-full +PACKAGE_luci-app-mmc_over_gpio:kmod-mmc-over-gpio
588   TITLE:=mmc_over_gpio
589 endef
590
591 define Package/luci-app-mmc_over_gpio/install
592         $(call Package/luci/install/template,$(1),applications/luci-mmc_over_gpio)
593 endef
594
595
596 define Package/luci-app-p910nd
597   $(call Package/luci/webtemplate)
598   DEPENDS+=+luci-admin-full +PACKAGE_luci-app-p910nd:p910nd
599   TITLE:=p910nd - Printer server module
600 endef
601
602 define Package/luci-app-p910nd/install
603         $(call Package/luci/install/template,$(1),applications/luci-p910nd)
604 endef
605
606
607 define Package/luci-app-ushare
608   $(call Package/luci/webtemplate)
609   DEPENDS+=+luci-admin-full +PACKAGE_luci-app-ushare:ushare
610   TITLE:=ushare - UPnP A/V & DLNA Media Server
611 endef
612
613 define Package/luci-app-ushare/install
614         $(call Package/luci/install/template,$(1),applications/luci-ushare)
615 endef
616
617 define Package/luci-app-hd_idle
618   $(call Package/luci/webtemplate)
619   DEPENDS+=+luci-admin-full +PACKAGE_luci-app-hd_idle:hd-idle
620   TITLE:=hd-idle
621 endef
622
623 define Package/luci-app-hd_idle/install
624         $(call Package/luci/install/template,$(1),applications/luci-hd_idle)
625 endef
626
627 define Package/luci-app-tinyproxy
628   $(call Package/luci/webtemplate)
629   DEPENDS+=+luci-admin-full +PACKAGE_luci-app-tinyproxy:tinyproxy
630   TITLE:=Tinyproxy - HTTP(S)-Proxy
631 endef
632
633 define Package/luci-app-tinyproxy/install
634         $(call Package/luci/install/template,$(1),applications/luci-tinyproxy)
635 endef
636
637 define Package/luci-app-initmgr
638   $(call Package/luci/webtemplate)
639   DEPENDS+=+luci-admin-full
640   TITLE:=LuCI Initscript Management
641 endef
642
643 define Package/luci-app-initmgr/install
644         $(call Package/luci/install/template,$(1),applications/luci-initmgr)
645 endef
646
647 define Package/luci-app-livestats
648   $(call Package/luci/webtemplate)
649   DEPENDS+=+luci-admin-core +luci-admin-rpc
650   TITLE:=LuCI Realtime Statistics
651 endef
652
653 define Package/luci-app-livestats/install
654         $(call Package/luci/install/template,$(1),applications/luci-livestats)
655 endef
656
657 define Package/luci-app-asterisk
658   $(call Package/luci/webtemplate)
659   TITLE:=LuCI Support for Asterisk PBX
660   DEPENDS+=@BROKEN +luci-admin-core +PACKAGE_luci-app-asterisk:asterisk14-xip-core
661 endef
662
663 define Package/luci-app-asterisk/install
664         $(call Package/luci/install/template,$(1),applications/luci-asterisk)
665 endef
666
667 define Package/luci-app-polipo
668   $(call Package/luci/webtemplate)
669   TITLE:=LuCI Support for the Polipo Proxy
670   DEPENDS+=+luci-admin-core +PACKAGE_luci-app-polipo:polipo
671 endef
672
673 define Package/luci-app-polipo/install
674         $(call Package/luci/install/template,$(1),applications/luci-polipo)
675 endef
676
677 define Package/luci-app-openvpn
678   $(call Package/luci/webtemplate)
679   TITLE:=LuCI Support for OpenVPN
680   DEPENDS+=+luci-admin-core +PACKAGE_luci-app-openvpn:openvpn
681 endef
682
683 define Package/luci-app-openvpn/install
684         $(call Package/luci/install/template,$(1),applications/luci-openvpn)
685 endef
686
687
688 ### Server Gateway Interfaces ###
689
690 define Package/luci-sgi-cgi
691   $(call Package/luci/libtemplate)
692   TITLE:=SGI for CGI
693 endef
694
695 define Package/luci-sgi-cgi/install
696         $(call Package/luci/install/template,$(1),libs/sgi-cgi)
697 endef
698
699 ### Themes ###
700 define Package/luci-theme-base
701   $(call Package/luci/thtemplate)
702   DEPENDS:=+luci-web
703   TITLE:=Common base for all themes
704 endef
705
706 define Package/luci-theme-base/install
707         $(call Package/luci/install/template,$(1),themes/base)
708 endef
709
710 define Package/luci-theme-fledermaus
711   $(call Package/luci/fftemplate)
712   DEPENDS:=+luci-web
713   TITLE:=Fledermaus Theme
714 endef
715
716 define Package/luci-theme-fledermaus/install
717         $(call Package/luci/install/template,$(1),themes/fledermaus)
718 endef
719
720 define Package/luci-theme-freifunk
721   $(call Package/luci/fftemplate)
722   DEPENDS:=+luci-web
723   MAINTAINER:=Stefan Pirwitz <stefan-at-freifunk-bno-dot-de>
724   TITLE:=alternative Freifunk Theme
725 endef
726
727 define Package/luci-theme-freifunk/install
728         $(call Package/luci/install/template,$(1),themes/freifunk)
729 endef
730
731 define Package/luci-theme-freifunk-bno
732   $(call Package/luci/fftemplate)
733   DEPENDS:=+luci-web
734   MAINTAINER:=Stefan Pirwitz <stefan-at-freifunk-bno-dot-de>
735   TITLE:=Freifunk Berlin Nordost Theme
736 endef
737
738 define Package/luci-theme-freifunk-bno/install
739         $(call Package/luci/install/template,$(1),themes/freifunk-bno)
740 endef
741
742 define Package/luci-theme-freifunk-hannover
743   $(call Package/luci/fftemplate)
744   DEPENDS:=+luci-web
745   MAINTAINER:=Mikolas Bingemer <mickey-at-freifunk-hannover-dot-de>
746   TITLE:=Freifunk Hannover Theme
747 endef
748
749 define Package/luci-theme-freifunk-hannover/install
750         $(call Package/luci/install/template,$(1),themes/freifunk-hannover)
751 endef
752
753 define Package/luci-theme-openwrt
754   $(call Package/luci/thtemplate)
755   TITLE:=OpenWrt.org (default)
756   DEPENDS:=+luci-theme-base
757 endef
758
759 define Package/luci-theme-openwrt/install
760         $(call Package/luci/install/template,$(1),themes/openwrt.org)
761 endef
762
763 define Package/luci-theme-openwrtlight
764   $(call Package/luci/thtemplate)
765   TITLE:=OpenWrt.org - light variant without images
766   DEPENDS:=+luci-theme-base
767 endef
768
769 define Package/luci-theme-openwrtlight/install
770         $(call Package/luci/install/template,$(1),themes/openwrt-light)
771 endef
772
773
774 ### Translations ###
775 define Package/luci-i18n-german
776   $(call Package/luci/i18ntemplate)
777   TITLE:=German
778 endef
779
780 define Package/luci-i18n-german/install
781         $(call Package/luci/install/template,$(1),i18n/german)
782 endef
783
784
785 define Package/luci-i18n-english
786   $(call Package/luci/i18ntemplate)
787   TITLE:=English
788 endef
789
790 define Package/luci-i18n-english/install
791         $(call Package/luci/install/template,$(1),i18n/english)
792 endef
793
794
795 define Package/luci-i18n-french
796   $(call Package/luci/i18ntemplate)
797   TITLE:=French (by Florian Fainelli)
798 endef
799
800 define Package/luci-i18n-french/install
801         $(call Package/luci/install/template,$(1),i18n/french)
802 endef
803
804
805 define Package/luci-i18n-italian
806   $(call Package/luci/i18ntemplate)
807   TITLE:=Italian (by Matteo Croce)
808 endef
809
810 define Package/luci-i18n-italian/install
811         $(call Package/luci/install/template,$(1),i18n/italian)
812 endef
813
814
815 define Package/luci-i18n-russian
816   $(call Package/luci/i18ntemplate)
817   TITLE:=Russian (by Skryabin Dmitry)
818 endef
819
820 define Package/luci-i18n-russian/install
821         $(call Package/luci/install/template,$(1),i18n/russian)
822 endef
823
824
825 define Package/luci-i18n-portuguese_brazilian
826   $(call Package/luci/i18ntemplate)
827   TITLE:=Portuguese (Brazilian) (by Carlos Cesario)
828 endef
829
830 define Package/luci-i18n-portuguese_brazilian/install
831         $(call Package/luci/install/template,$(1),i18n/portuguese_brazilian)
832 endef
833
834
835 define Package/luci-i18n-japanese
836   $(call Package/luci/i18ntemplate)
837   TITLE:=Japanese (by Tsukasa Hamano)
838 endef
839
840 define Package/luci-i18n-japanese/install
841         $(call Package/luci/install/template,$(1),i18n/japanese)
842 endef
843
844
845 define Package/luci-i18n-greek
846   $(call Package/luci/i18ntemplate)
847   TITLE:=Greek (by Vasilis Tsiligiannis)
848 endef
849
850 define Package/luci-i18n-greek/install
851         $(call Package/luci/install/template,$(1),i18n/greek)
852 endef
853
854
855 define Package/luci-i18n-catalan
856   $(call Package/luci/i18ntemplate)
857   TITLE:=Catalan (by Eduard Duran)
858 endef
859
860 define Package/luci-i18n-catalan/install
861         $(call Package/luci/install/template,$(1),i18n/catalan)
862 endef
863
864
865 define Package/luci-i18n-portuguese
866   $(call Package/luci/i18ntemplate)
867   TITLE:=Portuguese (by Jose Monteiro)
868 endef
869
870 define Package/luci-i18n-portuguese/install
871         $(call Package/luci/install/template,$(1),i18n/portuguese)
872 endef
873
874
875 ### Compile ###
876 ifneq ($(CONFIG_PACKAGE_luci-core),)
877         PKG_SELECTED_MODULES+=libs/core
878 endif
879 ifneq ($(CONFIG_PACKAGE_luci-cbi),)
880         PKG_SELECTED_MODULES+=libs/cbi
881 endif
882 ifneq ($(CONFIG_PACKAGE_luci-fastindex),)
883         PKG_SELECTED_MODULES+=libs/fastindex
884 endif
885 ifneq ($(CONFIG_PACKAGE_luci-http),)
886         PKG_SELECTED_MODULES+=libs/http
887 endif
888 ifneq ($(CONFIG_PACKAGE_luci-httpclient),)
889         PKG_SELECTED_MODULES+=libs/httpclient
890 endif
891 ifneq ($(CONFIG_PACKAGE_luci-ipkg),)
892         PKG_SELECTED_MODULES+=libs/ipkg
893 endif
894 ifneq ($(CONFIG_PACKAGE_luci-json),)
895         PKG_SELECTED_MODULES+=libs/json
896 endif
897 ifneq ($(CONFIG_PACKAGE_luci-luanet),)
898         PKG_SELECTED_MODULES+=libs/luanet
899 endif
900 ifneq ($(CONFIG_PACKAGE_luci-lucid),)
901         PKG_SELECTED_MODULES+=libs/lucid libs/lucid-http
902 endif
903 ifneq ($(CONFIG_PACKAGE_luci-nixio),)
904         PKG_SELECTED_MODULES+=libs/nixio
905 endif
906 ifneq ($(CONFIG_PACKAGE_luci-px5g),)
907         PKG_SELECTED_MODULES+=libs/px5g
908 endif
909 ifneq ($(CONFIG_PACKAGE_luci-uci),)
910         PKG_SELECTED_MODULES+=libs/uci
911 endif
912 ifneq ($(CONFIG_PACKAGE_luci-sys),)
913         PKG_SELECTED_MODULES+=libs/sys
914 endif
915 ifneq ($(CONFIG_PACKAGE_luci-web),)
916         PKG_SELECTED_MODULES+=libs/web
917 endif
918 ifneq ($(CONFIG_PACKAGE_luci-uvl),)
919         PKG_SELECTED_MODULES+=libs/uvl
920 endif
921
922 ifneq ($(CONFIG_PACKAGE_luci-httpd),)
923         PKG_SELECTED_MODULES+=libs/lucittpd
924 endif
925
926 ifneq ($(CONFIG_PACKAGE_luci-admin-core),)
927         PKG_SELECTED_MODULES+=modules/admin-core
928 endif
929 ifneq ($(CONFIG_PACKAGE_luci-admin-mini),)
930         PKG_SELECTED_MODULES+=modules/admin-mini
931 endif
932 ifneq ($(CONFIG_PACKAGE_luci-admin-full),)
933         PKG_SELECTED_MODULES+=modules/admin-full
934 endif
935 ifneq ($(CONFIG_PACKAGE_luci-admin-rpc),)
936         PKG_SELECTED_MODULES+=modules/rpc
937 endif
938 ifneq ($(CONFIG_PACKAGE_luci-mod-freifunk),)
939         PKG_SELECTED_MODULES+=modules/freifunk
940 endif
941
942 ifneq ($(CONFIG_PACKAGE_luci-freifunk-community),)
943         PKG_SELECTED_MODULES+=applications/freifunk-community
944 endif
945
946 ifneq ($(CONFIG_PACKAGE_luci-app-ffwizard-leipzig),)
947         PKG_SELECTED_MODULES+=applications/luci-ffwizard-leipzig
948 endif
949 ifneq ($(CONFIG_PACKAGE_luci-app-siitwizard),)
950         PKG_SELECTED_MODULES+=applications/luci-siitwizard
951 endif
952 ifneq ($(CONFIG_PACKAGE_luci-app-firewall),)
953         PKG_SELECTED_MODULES+=applications/luci-fw
954 endif
955 ifneq ($(CONFIG_PACKAGE_luci-app-olsr),)
956         PKG_SELECTED_MODULES+=applications/luci-olsr
957 endif
958 ifneq ($(CONFIG_PACKAGE_luci-app-qos),)
959         PKG_SELECTED_MODULES+=applications/luci-qos
960 endif
961 ifneq ($(CONFIG_PACKAGE_luci-app-splash),)
962         PKG_SELECTED_MODULES+=applications/luci-splash
963 endif
964 ifneq ($(CONFIG_PACKAGE_luci-app-statistics),)
965         PKG_SELECTED_MODULES+=applications/luci-statistics
966 endif
967 ifneq ($(CONFIG_PACKAGE_luci-app-upnp),)
968         PKG_SELECTED_MODULES+=applications/luci-upnp
969 endif
970 ifneq ($(CONFIG_PACKAGE_luci-app-ntpc),)
971         PKG_SELECTED_MODULES+=applications/luci-ntpc
972 endif
973 ifneq ($(CONFIG_PACKAGE_luci-app-ddns),)
974         PKG_SELECTED_MODULES+=applications/luci-ddns
975 endif
976 ifneq ($(CONFIG_PACKAGE_luci-app-samba),)
977         PKG_SELECTED_MODULES+=applications/luci-samba
978 endif
979 ifneq ($(CONFIG_PACKAGE_luci-app-uvc_streamer),)
980         PKG_SELECTED_MODULES+=applications/luci-uvc_streamer
981 endif
982 ifneq ($(CONFIG_PACKAGE_luci-app-mmc_over_gpio),)
983         PKG_SELECTED_MODULES+=applications/luci-mmc_over_gpio
984 endif
985 ifneq ($(CONFIG_PACKAGE_luci-app-p910nd),)
986         PKG_SELECTED_MODULES+=applications/luci-p910nd
987 endif
988 ifneq ($(CONFIG_PACKAGE_luci-app-ushare),)
989         PKG_SELECTED_MODULES+=applications/luci-ushare
990 endif
991 ifneq ($(CONFIG_PACKAGE_luci-app-hd_idle),)
992        PKG_SELECTED_MODULES+=applications/luci-hd_idle
993 endif
994 ifneq ($(CONFIG_PACKAGE_luci-app-tinyproxy),)
995        PKG_SELECTED_MODULES+=applications/luci-tinyproxy
996 endif
997 ifneq ($(CONFIG_PACKAGE_luci-app-initmgr),)
998        PKG_SELECTED_MODULES+=applications/luci-initmgr
999 endif
1000 ifneq ($(CONFIG_PACKAGE_luci-app-livestats),)
1001        PKG_SELECTED_MODULES+=applications/luci-livestats
1002 endif
1003 ifneq ($(CONFIG_PACKAGE_luci-app-asterisk),)
1004        PKG_SELECTED_MODULES+=applications/luci-asterisk
1005 endif
1006 ifneq ($(CONFIG_PACKAGE_luci-app-polipo),)
1007        PKG_SELECTED_MODULES+=applications/luci-polipo
1008 endif
1009 ifneq ($(CONFIG_PACKAGE_luci-app-openvpn),)
1010        PKG_SELECTED_MODULES+=applications/luci-openvpn
1011 endif
1012
1013
1014 ifneq ($(CONFIG_PACKAGE_luci-sgi-cgi),)
1015         PKG_SELECTED_MODULES+=libs/sgi-cgi
1016 endif
1017 ifneq ($(CONFIG_PACKAGE_luci-sgi-luci),)
1018         PKG_SELECTED_MODULES+=libs/sgi-luci
1019 endif
1020 ifneq ($(CONFIG_PACKAGE_luci-sgi-webuci),)
1021         PKG_SELECTED_MODULES+=libs/sgi-webuci
1022 endif
1023
1024 ifneq ($(CONFIG_PACKAGE_luci-theme-base),)
1025         PKG_SELECTED_MODULES+=themes/base
1026 endif
1027 ifneq ($(CONFIG_PACKAGE_luci-theme-fledermaus),)
1028         PKG_SELECTED_MODULES+=themes/fledermaus
1029 endif
1030 ifneq ($(CONFIG_PACKAGE_luci-theme-freifunk-bno),)
1031         PKG_SELECTED_MODULES+=themes/freifunk-bno
1032 endif
1033 ifneq ($(CONFIG_PACKAGE_luci-theme-freifunk-hannover),)
1034         PKG_SELECTED_MODULES+=themes/freifunk-hannover
1035 endif
1036 ifneq ($(CONFIG_PACKAGE_luci-theme-freifunk),)
1037         PKG_SELECTED_MODULES+=themes/freifunk
1038 endif
1039 ifneq ($(CONFIG_PACKAGE_luci-theme-openwrt),)
1040         PKG_SELECTED_MODULES+=themes/openwrt.org
1041 endif
1042 ifneq ($(CONFIG_PACKAGE_luci-theme-openwrtlight),)
1043         PKG_SELECTED_MODULES+=themes/openwrt-light
1044 endif
1045
1046 ifneq ($(CONFIG_PACKAGE_luci-i18n-german),)
1047         PKG_SELECTED_MODULES+=i18n/german
1048 endif
1049 ifneq ($(CONFIG_PACKAGE_luci-i18n-english),)
1050         PKG_SELECTED_MODULES+=i18n/english
1051 endif
1052 ifneq ($(CONFIG_PACKAGE_luci-i18n-french),)
1053         PKG_SELECTED_MODULES+=i18n/french
1054 endif
1055 ifneq ($(CONFIG_PACKAGE_luci-i18n-italian),)
1056         PKG_SELECTED_MODULES+=i18n/italian
1057 endif
1058 ifneq ($(CONFIG_PACKAGE_luci-i18n-russian),)
1059         PKG_SELECTED_MODULES+=i18n/russian
1060 endif
1061 ifneq ($(CONFIG_PACKAGE_luci-i18n-portuguese_brazilian),)
1062         PKG_SELECTED_MODULES+=i18n/portuguese_brazilian
1063 endif
1064 ifneq ($(CONFIG_PACKAGE_luci-i18n-japanese),)
1065         PKG_SELECTED_MODULES+=i18n/japanese
1066 endif
1067 ifneq ($(CONFIG_PACKAGE_luci-i18n-greek),)
1068         PKG_SELECTED_MODULES+=i18n/greek
1069 endif
1070 ifneq ($(CONFIG_PACKAGE_luci-i18n-catalan),)
1071         PKG_SELECTED_MODULES+=i18n/catalan
1072 endif
1073 ifneq ($(CONFIG_PACKAGE_luci-i18n-portuguese),)
1074         PKG_SELECTED_MODULES+=i18n/portuguese
1075 endif
1076
1077
1078 MAKE_FLAGS += \
1079         MODULES="$(PKG_SELECTED_MODULES)" \
1080         LUA_TARGET="$(LUA_TARGET)" \
1081         LUA_SHLIBS="-llua -lm -ldl -lcrypt" \
1082         CFLAGS="$(TARGET_CFLAGS) $(LUCI_CFLAGS) -I$(STAGING_DIR)/usr/include" \
1083         LDFLAGS="$(TARGET_LDFLAGS) -L$(STAGING_DIR)/usr/lib" \
1084         NIXIO_TLS="$(NIXIO_TLS)" OS="Linux"
1085
1086
1087 $(eval $(call BuildPackage,luci-core))
1088 $(eval $(call BuildPackage,luci-cbi))
1089 $(eval $(call BuildPackage,luci-fastindex))
1090 $(eval $(call BuildPackage,luci-http))
1091 $(eval $(call BuildPackage,luci-httpclient))
1092 $(eval $(call BuildPackage,luci-ipkg))
1093 $(eval $(call BuildPackage,luci-json))
1094 $(eval $(call BuildPackage,luci-luanet))
1095 $(eval $(call BuildPackage,luci-lucid))
1096 $(eval $(call BuildPackage,luci-nixio))
1097 $(eval $(call BuildPackage,luci-px5g))
1098 $(eval $(call BuildPackage,luci-uci))
1099 $(eval $(call BuildPackage,luci-sys))
1100 $(eval $(call BuildPackage,luci-web))
1101 $(eval $(call BuildPackage,luci-uvl))
1102
1103 $(eval $(call BuildPackage,luci-httpd))
1104
1105 $(eval $(call BuildPackage,luci-admin-core))
1106 $(eval $(call BuildPackage,luci-admin-mini))
1107 $(eval $(call BuildPackage,luci-admin-full))
1108 $(eval $(call BuildPackage,luci-admin-rpc))
1109 $(eval $(call BuildPackage,luci-mod-freifunk))
1110
1111 $(eval $(call BuildPackage,luci-freifunk-community))
1112
1113 $(eval $(call BuildPackage,luci-app-ffwizard-leipzig))
1114 $(eval $(call BuildPackage,luci-app-siitwizard))
1115 $(eval $(call BuildPackage,luci-app-firewall))
1116 $(eval $(call BuildPackage,luci-app-olsr))
1117 $(eval $(call BuildPackage,luci-app-qos))
1118 $(eval $(call BuildPackage,luci-app-splash))
1119 $(eval $(call BuildPackage,luci-app-statistics))
1120 $(eval $(call BuildPackage,luci-app-upnp))
1121 $(eval $(call BuildPackage,luci-app-ntpc))
1122 $(eval $(call BuildPackage,luci-app-ddns))
1123 $(eval $(call BuildPackage,luci-app-samba))
1124 $(eval $(call BuildPackage,luci-app-uvc_streamer))
1125 $(eval $(call BuildPackage,luci-app-mmc_over_gpio))
1126 $(eval $(call BuildPackage,luci-app-p910nd))
1127 $(eval $(call BuildPackage,luci-app-ushare))
1128 $(eval $(call BuildPackage,luci-app-hd_idle))
1129 $(eval $(call BuildPackage,luci-app-tinyproxy))
1130 $(eval $(call BuildPackage,luci-app-initmgr))
1131 $(eval $(call BuildPackage,luci-app-livestats))
1132 $(eval $(call BuildPackage,luci-app-asterisk))
1133 $(eval $(call BuildPackage,luci-app-polipo))
1134 $(eval $(call BuildPackage,luci-app-openvpn))
1135
1136 $(eval $(call BuildPackage,luci-sgi-cgi))
1137
1138 $(eval $(call BuildPackage,luci-theme-base))
1139 $(eval $(call BuildPackage,luci-theme-fledermaus))
1140 $(eval $(call BuildPackage,luci-theme-freifunk))
1141 $(eval $(call BuildPackage,luci-theme-freifunk-bno))
1142 $(eval $(call BuildPackage,luci-theme-freifunk-hannover))
1143 $(eval $(call BuildPackage,luci-theme-openwrt))
1144 $(eval $(call BuildPackage,luci-theme-openwrtlight))
1145
1146 $(eval $(call BuildPackage,luci-i18n-german))
1147 $(eval $(call BuildPackage,luci-i18n-english))
1148 $(eval $(call BuildPackage,luci-i18n-french))
1149 $(eval $(call BuildPackage,luci-i18n-italian))
1150 $(eval $(call BuildPackage,luci-i18n-russian))
1151 $(eval $(call BuildPackage,luci-i18n-portuguese_brazilian))
1152 $(eval $(call BuildPackage,luci-i18n-japanese))
1153 $(eval $(call BuildPackage,luci-i18n-greek))
1154 $(eval $(call BuildPackage,luci-i18n-catalan))
1155 $(eval $(call BuildPackage,luci-i18n-portuguese))