contrib/package/sysupgrade-atheros: fix postinstall
[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 \
16                 make -C$$i compile || { \
17                         echo "*** Compilation of $$i failed!"; \
18                         exit 1; \
19                 }; \
20         done
21
22 luabuild: i18nbuild
23         for i in $(MODULES); do HOST=$(realpath host) make -C$$i luabuild; done
24
25 i18nbuild:
26         mkdir -p host/lua-po
27         ./build/i18n-po2lua.pl ./po host/lua-po
28
29 clean:
30         rm -rf docs
31         for i in $(MODULES); do make -C$$i clean; done
32
33
34 host: build hostcopy
35
36 gcchost: gccbuild hostcopy
37
38 luahost: luabuild hostcopy
39
40 hostcopy: 
41         mkdir -p host/tmp
42         for i in $(MODULES); do cp -pR $$i/dist/* host/ 2>/dev/null || true; done
43         for i in $(MODULES); do cp -pR $$i/hostfiles/* host/ 2>/dev/null || true; done
44         rm -f host/luci
45         ln -s .$(LUCI_MODULEDIR) host/luci
46         rm -rf /tmp/luci-* || true
47
48 hostenv: host ucidefaults
49
50 ucidefaults:
51         build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "$(realpath host)/bin/uci-defaults --exclude luci-freifunk-*"
52
53 runhttpd: hostenv
54         build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "lua build/lucid.lua"
55
56 runlua: hostenv
57         build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "lua -i build/setup.lua"
58
59 runshell: hostenv
60         build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) $$SHELL
61
62 hostclean: clean
63         rm -rf host
64
65 apidocs: hostenv
66         build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "build/makedocs.sh host/luci/ docs"
67
68 uvldocs: hostenv
69         build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) \
70         "build/uvldoc $(realpath host) $(UVL_SCHEMEDIR) uvldocs $(DOCS)"
71
72 po: host
73         for L in $${LANGUAGE:-$$(find i18n/ -path 'i18n/*/luasrc/i18n/*' -name 'default.*.lua' | \
74           sed -e 's!.*/default\.\(.*\)\.lua!\1!')}; do \
75             build/i18n-lua2po.pl . $(realpath host)/po $$L; \
76         done
77
78 run:
79         #       make run is deprecated                          #
80         #       Please use:                                     #
81         #                                                       #
82         #       To run LuCI WebUI using LuCIttpd                #
83         #       make runhttpd                                   #
84         #                                                       #
85         #       To run LuCI WebUI using Boa/Webuci              #
86         #       make runboa                                     #
87         #                                                       #
88         #       To start a shell in the LuCI environment        #
89         #       make runshell                                   #
90         #                                                       #
91         #       To run Lua CLI in the LuCI environment          #
92         #       make runlua                                     #