| # | |
| # Makefile to prepare releases and run tests | |
| # | |
| .PHONY: all clean check dist dist-all dist-bzip2 dist-gzip dist-zip distcheck | |
| DIST_DIR=dist | |
| LUA_BIN=lua | |
| all: | |
| @echo Building nothing - no binaries | |
| clean: | |
| @echo Cleaning nothing - no binaries | |
| dist dist-all: distdir dist-bzip2 dist-gzip dist-zip | |
| distdir: | |
| mkdir -p dist | |
| VERSION=luajson-$(shell git describe --abbrev=4 HEAD 2>/dev/null) | |
| dist-bzip2: distdir | |
| git archive --format=tar --prefix=$(VERSION)/ HEAD | bzip2 -9v > $(DIST_DIR)/$(VERSION).tar.bz2 | |
| dist-gzip: distdir | |
| git archive --format=tar --prefix=$(VERSION)/ HEAD | gzip -9v > $(DIST_DIR)/$(VERSION).tar.gz | |
| dist-zip: distdir | |
| git archive --format=zip --prefix=$(VERSION)/ HEAD > $(DIST_DIR)/$(VERSION).zip | |
| # Config to make sure that Lua uses the contained Lua code | |
| LUA_PATH_SETUP=LUA_PATH="?/init.lua;../lua/?.lua;../lua/?/init.lua;$(LUA_PATH);" | |
| LUA_SETUP=LUA_OLD_INIT="$(LUA_INIT)" LUA_INIT="@hook_require.lua" $(LUA_PATH_SETUP) | |
| check-regression: | |
| cd tests && $(LUA_SETUP) lua regressionTest.lua | |
| check-unit: | |
| cd tests && $(LUA_SETUP) lunit lunit-*.lua | |
| check: check-regression check-unit | |
| distcheck: dist-bzip2 | |
| mkdir -p tmp | |
| tar -C tmp -xf $(DIST_DIR)/$(VERSION).tar.bz2 | |
| cd tmp/$(VERSION) && make check | |
| rm -rf tmp |