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