summaryrefslogtreecommitdiff
path: root/Data/Libraries/LDoc/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Data/Libraries/LDoc/Makefile')
-rw-r--r--Data/Libraries/LDoc/Makefile64
1 files changed, 64 insertions, 0 deletions
diff --git a/Data/Libraries/LDoc/Makefile b/Data/Libraries/LDoc/Makefile
new file mode 100644
index 0000000..dade791
--- /dev/null
+++ b/Data/Libraries/LDoc/Makefile
@@ -0,0 +1,64 @@
+LUA= $(shell echo `which lua`)
+LUA_BINDIR= $(shell echo `dirname $(LUA)`)
+LUA_PREFIX= $(shell echo `dirname $(LUA_BINDIR)`)
+LUA_SHAREDIR=$(LUA_PREFIX)/share/lua/5.1
+
+_REPODIR != cd "$(shell dirname $(firstword $(MAKEFILE_LIST)))/" && pwd
+
+ldoc:
+
+install: install_parts
+ @echo "lua $(LUA_SHAREDIR)/ldoc.lua \$$*" > "$(DESTDIR)$(LUA_BINDIR)/ldoc"
+ @chmod -v +x "$(DESTDIR)$(LUA_BINDIR)/ldoc"
+
+install_luajit: install_parts
+ @echo "luajit $(LUA_SHAREDIR)/ldoc.lua \$$*" > "$(DESTDIR)$(LUA_BINDIR)/ldoc"
+ @chmod -v +x "$(DESTDIR)$(LUA_BINDIR)/ldoc"
+
+install_parts:
+ @if [ ! -d "$(DESTDIR)$(LUA_BINDIR)" ]; then \
+ mkdir -vp "$(DESTDIR)$(LUA_BINDIR)"; \
+ fi
+ @mkdir -vp "$(DESTDIR)$(LUA_SHAREDIR)"
+ @cp -v ldoc.lua "$(DESTDIR)$(LUA_SHAREDIR)"
+ @cp -vr ldoc "$(DESTDIR)$(LUA_SHAREDIR)"
+
+uninstall:
+ @-rm -v "$(DESTDIR)$(LUA_SHAREDIR)/ldoc.lua"
+ @-rm -vr "$(DESTDIR)$(LUA_SHAREDIR)/ldoc"
+ @-rm -v "$(DESTDIR)$(LUA_BINDIR)/ldoc"
+
+test: test-basic test-example test-md test-tables
+
+RUN=&& lua $(_REPODIR)/ldoc.lua . && diff -r doc cdocs && echo ok
+
+test-prep:
+ find -type d -name doc -execdir rsync -av --del {}/ cdocs/ \;
+
+test-basic:
+ cd tests $(RUN)
+
+test-example:
+ cd tests/example $(RUN)
+
+test-md:
+ cd tests/md-test $(RUN)
+
+test-tables:
+ cd tests/simple $(RUN)
+
+test-clean: clean-basic clean-example clean-md clean-tables
+
+CLEAN=&& lua $(_REPODIR)/ldoc.lua . && rd /S /Q cdocs && cp -rf doc cdocs
+
+clean-basic:
+ cd tests $(CLEAN)
+
+clean-example:
+ cd tests && cd example $(CLEAN)
+
+clean-md:
+ cd tests && cd md-test $(CLEAN)
+
+clean-tables:
+ cd tests && cd simple $(CLEAN)