build: initialize host/var/state/ as well
[project/luci.git] / Makefile
index acb6659..3bf8c68 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
 include build/config.mk
 
-MODULES = applications/* libs/* modules/* themes/* i18n/* contrib/*
+MODULES = contrib/* applications/* libs/* modules/* themes/* i18n/*
 
 OS:=$(shell uname)
 export OS
@@ -12,13 +12,24 @@ all: build
 build: gccbuild luabuild
 
 gccbuild:
-       for i in $(MODULES); do make -C$$i compile; done        
+       make -C libs/lmo CC="cc" CFLAGS="" LDFLAGS="" host-install
+       for i in $(MODULES); do \
+               make -C$$i compile || { \
+                       echo "*** Compilation of $$i failed!"; \
+                       exit 1; \
+               }; \
+       done
 
-luabuild:
-       for i in $(MODULES); do make -C$$i luabuild; 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
+       make -C libs/lmo host-clean
        for i in $(MODULES); do make -C$$i clean; done
 
 
@@ -29,9 +40,10 @@ gcchost: gccbuild hostcopy
 luahost: luabuild hostcopy
 
 hostcopy: 
-       mkdir -p host
-       for i in $(MODULES); do cp -a $$i/dist/* host/ -R 2>/dev/null || true; done
-       for i in $(MODULES); do cp -a $$i/hostfiles/* host/ -R 2>/dev/null || true; done
+       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
@@ -39,20 +51,13 @@ hostcopy:
 hostenv: host ucidefaults
 
 ucidefaults:
-       build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "$(realpath host)/bin/uci-defaults --exclude luci-community-*"
-
-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"
+       build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "$(realpath host)/bin/uci-defaults --exclude luci-freifunk-*"
 
 runhttpd: hostenv
-       build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "$(realpath libs/httpd/host/runluci) $(realpath host) $(HTDOCS)"
-
-runluci: luahost
-       build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "$(realpath libs/httpd/host/runluci) $(realpath host) $(HTDOCS)"
+       build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "lua build/lucid.lua"
 
 runlua: hostenv
-       build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) lua
+       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
@@ -67,11 +72,17 @@ 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 LuCI HTTPD              #
+       #       To run LuCI WebUI using LuCIttpd                #
        #       make runhttpd                                   #
        #                                                       #
        #       To run LuCI WebUI using Boa/Webuci              #