Introduce active (pulling) JSON-Decoder
[project/luci.git] / Makefile
1 include build/config.mk
2
3 MODULES = contrib/* applications/* libs/* modules/* themes/* i18n/*
4
5 OS:=$(shell uname)
6 export OS
7
8 .PHONY: all build gccbuild luabuild clean host gcchost luahost hostcopy hostclean
9
10 all: build
11
12 build: gccbuild luabuild
13
14 gccbuild:
15         for i in $(MODULES); do make -C$$i compile; done
16
17 luabuild:
18         for i in $(MODULES); do make -C$$i luabuild; done
19
20 clean:
21         rm -rf docs
22         for i in $(MODULES); do make -C$$i clean; done
23
24
25 host: build hostcopy
26
27 gcchost: gccbuild hostcopy
28
29 luahost: luabuild hostcopy
30
31 hostcopy: 
32         mkdir -p host/tmp
33         for i in $(MODULES); do cp -pR $$i/dist/* host/ 2>/dev/null || true; done
34         for i in $(MODULES); do cp -pR $$i/hostfiles/* host/ 2>/dev/null || true; done
35         rm -f host/luci
36         ln -s .$(LUCI_MODULEDIR) host/luci
37         rm -rf /tmp/luci-* || true
38
39 hostenv: host ucidefaults
40
41 ucidefaults:
42         build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "$(realpath host)/bin/uci-defaults --exclude luci-freifunk-*"
43
44 runboa: hostenv
45         libs/sgi-webuci/host/buildconfig.sh $(realpath host) > host/etc/boa/boa.conf
46         build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "$(realpath host/usr/bin/boa) -c $(realpath host/etc/boa) -d"
47
48 runhttpd: hostenv
49         build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "$(realpath host/usr/bin/lucittpd) $(realpath host)/usr/lib/lucittpd/plugins"
50
51 runluci: luahost
52         build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "$(realpath libs/httpd/host/runluci) $(realpath host) $(HTDOCS)"
53
54 runlua: hostenv
55         build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) lua
56
57 runshell: hostenv
58         build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) $$SHELL
59
60 hostclean: clean
61         rm -rf host
62
63 apidocs: hostenv
64         build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "build/makedocs.sh host/luci/ docs"
65
66 uvldocs: hostenv
67         build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) \
68         "build/uvldoc $(realpath host) $(UVL_SCHEMEDIR) uvldocs $(DOCS)"
69
70 run:
71         #       make run is deprecated                          #
72         #       Please use:                                     #
73         #                                                       #
74         #       To run LuCI WebUI using LuCIttpd                #
75         #       make runhttpd                                   #
76         #                                                       #
77         #       To run LuCI WebUI using Boa/Webuci              #
78         #       make runboa                                     #
79         #                                                       #
80         #       To start a shell in the LuCI environment        #
81         #       make runshell                                   #
82         #                                                       #
83         #       To run Lua CLI in the LuCI environment          #
84         #       make runlua                                     #