X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=Makefile;h=d082a9807706543b1f4a5ecf79594b48ea4dcef9;hp=d76be9a2de8b0b8b5838a7a4d4a738fca348bed0;hb=90ce9746c230510f690407b7ccc1330bdca48bbd;hpb=4365fbe2a373b73af5578d0ed6eddfb2ba9901ef diff --git a/Makefile b/Makefile index d76be9a2d..d082a9807 100644 --- a/Makefile +++ b/Makefile @@ -1,27 +1,99 @@ include build/config.mk -MODULES = applications/* libs/* modules/* themes/* i18n/* -LUA_TARGET = compile +MODULES = contrib/* applications/* libs/* modules/* themes/* i18n/* + OS:=$(shell uname) export OS -ifeq ($(OS),Darwin) - MODULES += contrib/luaposix -endif -.PHONY: all build clean host hostclean +.PHONY: all build gccbuild luabuild clean host gcchost luahost hostcopy hostclean all: build -build: - for i in $(MODULES); do make -C$$i $(LUA_TARGET); done +build: gccbuild luabuild + +gccbuild: + for i in $(MODULES); do \ + make -C$$i compile || { \ + echo "*** Compilation of $$i failed!"; \ + exit 1; \ + }; \ + done + +luabuild: i18nbuild + for i in $(MODULES); do HOST=$(realpath host) make -C$$i luabuild; done + +i18nbuild: + mkdir -p host/lua-po + ./build/i18n-po2lua.pl ./po host/lua-po clean: + rm -rf docs for i in $(MODULES); do make -C$$i clean; done -host: build - mkdir -p host - for i in $(MODULES); do cp $$i/dist/* host/ -R 2>/dev/null || true; done - ln -sf .$(LUCI_INSTALLDIR) host/luci - + +host: build hostcopy + +gcchost: gccbuild hostcopy + +luahost: luabuild hostcopy + +hostcopy: + mkdir -p host/tmp + for i in $(MODULES); do cp -pR $$i/dist/* host/ 2>/dev/null || true; done + for i in $(MODULES); do cp -pR $$i/hostfiles/* host/ 2>/dev/null || true; done + rm -f host/luci + ln -s .$(LUCI_MODULEDIR) host/luci + rm -rf /tmp/luci-* || true + +hostenv: host ucidefaults + +ucidefaults: + build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "$(realpath host)/bin/uci-defaults --exclude luci-freifunk-*" + +runboa: hostenv + libs/sgi-webuci/host/buildconfig.sh $(realpath host) > host/etc/boa/boa.conf + build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "$(realpath host/usr/bin/boa) -c $(realpath host/etc/boa) -d" + +runhttpd: hostenv + build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "$(realpath host/usr/bin/lucittpd) $(realpath host)/usr/lib/lucittpd/plugins" + +runluci: luahost + build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "$(realpath libs/httpd/host/runluci) $(realpath host) $(HTDOCS)" + +runlua: hostenv + build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "lua -i build/setup.lua" + +runshell: hostenv + build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) $$SHELL + hostclean: clean - rm host -rf + rm -rf host + +apidocs: hostenv + build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "build/makedocs.sh host/luci/ docs" + +uvldocs: hostenv + build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) \ + "build/uvldoc $(realpath host) $(UVL_SCHEMEDIR) uvldocs $(DOCS)" + +po: host + for L in $${LANGUAGE:-$$(find i18n/ -path 'i18n/*/luasrc/i18n/*' -name 'default.*.lua' | \ + sed -e 's!.*/default\.\(.*\)\.lua!\1!')}; do \ + build/i18n-lua2po.pl . $(realpath host)/po $$L; \ + done + +run: + # make run is deprecated # + # Please use: # + # # + # To run LuCI WebUI using LuCIttpd # + # make runhttpd # + # # + # To run LuCI WebUI using Boa/Webuci # + # make runboa # + # # + # To start a shell in the LuCI environment # + # make runshell # + # # + # To run Lua CLI in the LuCI environment # + # make runlua #