Added XML -> Lua translation transform target to Makefiles
[project/luci.git] / build / module.mk
1 MAKEPATH:=$(dir $(lastword $(MAKEFILE_LIST)))
2 -include $(MAKEPATH)config.mk
3 -include $(MAKEPATH)gccconfig.mk
4
5 .PHONY: all build compile luacompile luasource clean luaclean
6
7 all: build
8
9 build: luabuild gccbuild
10
11 luabuild: lua$(LUA_TARGET) i18n
12
13 gccbuild: compile
14 compile:
15
16 clean: luaclean
17
18 i18n: luasource
19 [ -n "$(XSLTPROC)" ] && for i in dist$(LUCI_MODULEDIR)/i18n/*.xml; do [ -f "$$i" ]\
20 && { $(XSLTPROC) $(MAKEPATH)i18n-lua-xhtml1.xsl $$i > $${i/.xml/.lua}; rm $$i; }; done || true
21
22 luasource:
23 mkdir -p dist$(LUA_MODULEDIR)
24 mkdir -p dist$(LUCI_MODULEDIR)
25 mkdir -p dist$(HTDOCS)
26 cp -a root/* dist -R 2>/dev/null || true
27 cp -a luasrc/* dist$(LUCI_MODULEDIR) -R 2>/dev/null || true
28 cp -a lua/* dist$(LUA_MODULEDIR) -R 2>/dev/null || true
29 cp -a htdocs/* dist$(HTDOCS) -R 2>/dev/null || true
30 for i in $$(find dist -name .svn); do rm $$i -rf || true; done
31
32
33 luastrip: luasource
34 for i in $$(find dist -type f -name '*.lua'); do perl -e 'undef $$/; open( F, "< $$ARGV[0]" ) || die $$!; $$src = <F>; close F; $$src =~ s/--\[\[.*?\]\](--)?//gs; $$src =~ s/^\s*--.*?\n//gm; open( F, "> $$ARGV[0]" ) || die $$!; print F $$src; close F' $$i; done
35
36 luacompile: luasource
37 for i in $$(find dist -name *.lua -not -name debug.lua); do $(LUAC) $(LUAC_OPTIONS) -o $$i $$i; done
38
39 luaclean:
40 rm -rf dist
41