ignore vim swap files
[project/luci.git] / Makefile
index 79adba0..0e09682 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,41 +1,46 @@
-LUAC = luac
-LUAC_OPTIONS = -s
+include build/config.mk
 
-FILES = 
+MODULES = applications/* libs/* modules/* themes/* i18n/*
+LUA_TARGET = source
 
-CFILES = ffluci/util.lua ffluci/http.lua ffluci/fs.lua \
-ffluci/sys.lua ffluci/model/uci.lua ffluci/model/ipkg.lua \
-ffluci/config.lua ffluci/i18n.lua ffluci/template.lua \
-ffluci/cbi.lua ffluci/dispatcher.lua ffluci/menu.lua ffluci/init.lua 
+### luaposix merge (temporary) ###
+OS:=$(shell uname)
+export OS
+ifeq ($(OS),Darwin)
+  MODULES += contrib/luaposix
+endif
 
-DIRECTORIES = dist/ffluci/model/cbi dist/ffluci/controller dist/ffluci/i18n dist/ffluci/view
 
-INFILES = $(CFILES:%=src/%)
-OUTFILE = ffluci/init.lua
+.PHONY: all build gccbuild luabuild clean host gcchost luahost hostcopy hostclean
 
-.PHONY: all dist-compile dist-source examples-compile examples-source dist examples compile source clean
+all: build
 
-all: compile
+build: luabuild gccbuild
 
-dist-compile: compile dist
-dist-source: source dist
+gccbuild:
+       for i in $(MODULES); do make -C$$i compile; done        
 
-dist:
-       cp src/ffluci/controller/* dist/ffluci/controller/ -R
-       cp src/ffluci/i18n/* dist/ffluci/i18n/
-       cp src/ffluci/view/* dist/ffluci/view/ -R
-       cp src/ffluci/model/cbi/* dist/ffluci/model/cbi/ -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
-
-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
-       
 clean:
-       rm dist -rf
+       for i in $(MODULES); do make -C$$i clean; done
+
+
+host: build hostcopy
+
+gcchost: gccbuild hostcopy
+
+luahost: luabuild hostcopy
+
+hostcopy: 
+       mkdir -p host
+       for i in $(MODULES); do cp $$i/dist/* host/ -R 2>/dev/null || true; done
+       rm -f host/luci
+       ln -s .$(LUCI_INSTALLDIR) host/luci
+
+run: host
+       ./host/usr/bin/boa -c ./host/etc/boa -d
+
+hostclean: clean
+       rm -rf host