luci-0.11: merge r9571 - r9573
[project/luci.git] / Makefile
index 0f0bf42..7dc9fa1 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -3,6 +3,8 @@ include build/config.mk
 MODULES = contrib/* applications/* libs/* modules/* themes/* i18n/*
 
 OS:=$(shell uname)
+MODULES:=$(foreach item,$(wildcard $(MODULES)),$(if $(realpath $(wildcard $(item)/Makefile)),$(item)))
+
 export OS
 
 .PHONY: all build gccbuild luabuild clean host gcchost luahost hostcopy hostclean
@@ -12,17 +14,26 @@ all: build
 build: gccbuild luabuild
 
 gccbuild:
-       for i in $(MODULES); do make -C$$i compile; done
+       make -C libs/web CC="cc" CFLAGS="" LDFLAGS="" SDK="$(shell test -f .running-sdk && echo 1)" host-install
+       for i in $(MODULES); do \
+               make -C$$i SDK="$(shell test -f .running-sdk && echo 1)" compile || { \
+                       echo "*** Compilation of $$i failed!"; \
+                       exit 1; \
+               }; \
+       done
 
 luabuild: i18nbuild
-       for i in $(MODULES); do HOST=$(realpath host) make -C$$i luabuild; done
+       for i in $(MODULES); do HOST=$(realpath host) \
+               SDK="$(shell test -f .running-sdk && echo 1)" make -C$$i luabuild; done
 
 i18nbuild:
        mkdir -p host/lua-po
        ./build/i18n-po2lua.pl ./po host/lua-po
 
 clean:
+       rm -f .running-sdk
        rm -rf docs
+       make -C libs/lmo host-clean
        for i in $(MODULES); do make -C$$i clean; done
 
 
@@ -34,26 +45,27 @@ luahost: luabuild hostcopy
 
 hostcopy: 
        mkdir -p host/tmp
+       mkdir -p host/var/state
        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
+hostenv: sdk host ucidefaults
+
+sdk:
+       touch .running-sdk
 
 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"
+       build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "lua build/lucid.lua"
 
-runluci: luahost
-       build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "$(realpath libs/httpd/host/runluci) $(realpath host) $(HTDOCS)"
+runuhttpd: hostenv
+       cp $(realpath build)/luci.cgi $(realpath host)/www/cgi-bin/luci
+       build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "$(realpath host)/usr/sbin/uhttpd -p 8080 -h $(realpath host)/www -f"
 
 runlua: hostenv
        build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "lua -i build/setup.lua"
@@ -67,9 +79,8 @@ hostclean: clean
 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)"
+nixiodocs: hostenv
+       build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "build/makedocs.sh libs/nixio/ nixiodocs"
 
 po: host
        for L in $${LANGUAGE:-$$(find i18n/ -path 'i18n/*/luasrc/i18n/*' -name 'default.*.lua' | \