summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile28
1 files changed, 26 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 01985be..dffc489 100644
--- a/Makefile
+++ b/Makefile
@@ -17,8 +17,32 @@ install:
LUA := LUA_PATH="$(shell pwd)/lib/?.lua;$(shell pwd)/extras/luacov/src/?.lua;;" lua$(LUA_VER)
+cmodule: try-cmodule
+
+try-cmodule:
+ -@$(MAKE) --no-print-directory do-cmodule
+
+do-cmodule: lib/gall/git2.so
+
+lib/gall/git2.so: luagit2/build/git2.so
+ cp $< $@
+
+luagit2/build/git2.so: libgit2/build/gall-install-stamp
+ mkdir -p luagit2/build
+ cd luagit2/build && PKG_CONFIG_PATH="$(shell pwd)/libgit2/build/gall-install/lib/pkgconfig:$(PKG_CONFIG_PATH)" cmake -DCMAKE_C_FLAGS="$${CMAKE_C_FLAGS} -Dluaopen_git2=luaopen_gall_git2" -DCMAKE_MODULE_LINKER_FLAGS="-lssl" ..
+ cd luagit2/build && $(MAKE)
+
+libgit2/build/gall-install-stamp:
+ mkdir -p libgit2/build
+ cd libgit2/build && cmake -DBUILD_SHARED_LIBS:BOOLEAN=OFF -DCMAKE_INSTALL_PREFIX:PATH=$(shell pwd)/libgit2/build/gall-install ..
+ cd libgit2/build && $(MAKE)
+ cd libgit2/build && $(MAKE) test
+ cd libgit2/build && $(MAKE) install
+ touch $@
+
clean:
- $(RM) luacov.report.out luacov.stats.out
+ $(RM) luacov.report.out luacov.stats.out lib/gall/git2.so
+ $(RM) -r libgit2/build luagit2/build
distclean: clean
find . -name "*~" -delete
@@ -28,7 +52,7 @@ example:
$(LUA) example/gall-example.lua
.PHONY: test
-test:
+test: cmodule
@$(RM) luacov.stats.out
@ERR=0; \
for MOD in $(sort $(MODULES)); do \