-LUAC = luac
-LUAC_OPTIONS = -s
+include build/config.mk
-FILES = ffluci/config.lua
+MODULES = applications/* libs/* modules/* themes/* i18n/* contrib/luaposix
+LUA_TARGET = source
-CFILES = ffluci/util.lua ffluci/http.lua \
-ffluci/fs.lua ffluci/i18n.lua ffluci/model/uci.lua \
-ffluci/template.lua ffluci/dispatcher.lua ffluci/menu.lua ffluci/init.lua
+OS:=$(shell uname)
+export OS
-DIRECTORIES = dist/ffluci/model dist/ffluci/controller/public dist/ffluci/controller/admin dist/ffluci/i18n dist/ffluci/view
+.PHONY: all build gccbuild luabuild clean host gcchost luahost hostcopy hostclean
-INFILES = $(CFILES:%=src/%)
-OUTFILE = ffluci/init.lua
+all: build
-all: compile
+build: luabuild gccbuild
-dist-compile: compile examples
-dist-source: source examples
+gccbuild:
+ for i in $(MODULES); do make -C$$i compile; done
-examples:
- cp src/ffluci/controller/public/* dist/ffluci/controller/public/
- cp src/ffluci/controller/admin/* dist/ffluci/controller/admin/
- cp src/ffluci/i18n/* dist/ffluci/i18n/
- cp src/ffluci/view/* dist/ffluci/view/ -R
+luabuild:
+ for i in $(MODULES); do make -C$$i lua$(LUA_TARGET); done
-compile:
- mkdir -p $(DIRECTORIES)
- $(LUAC) $(LUAC_OPTIONS) -o dist/$(OUTFILE) $(INFILES)
- for i in $(CFILES); do [ -f dist/$$i ] || ln -s `dirname $$i | cut -s -d / -f 2- | sed -e 's/[^/]*\/*/..\//g'``basename $(OUTFILE)` dist/$$i; done
- for i in $(FILES); do cp src/$$i dist/$$i; done
+clean:
+ for i in $(MODULES); do make -C$$i clean; done
-source:
- mkdir -p $(DIRECTORIES)
- for i in $(CFILES); do cp src/$$i dist/$$i; done
- for i in $(FILES); do cp src/$$i dist/$$i; done
-
-.PHONY: clean
-clean:
- rm dist -rf
+host: build hostcopy
+
+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
+ rm -f host/luci
+ ln -s .$(LUCI_MODULEDIR) host/luci
+
+run: host
+ libs/sgi-webuci/host/buildconfig.sh `pwd`/host > host/etc/boa/boa.conf
+ ./host/usr/bin/boa -c ./host/etc/boa -d
+
+hostclean: clean
+ rm -rf host