diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..251c770 --- /dev/null +++ b/Makefile @@ -0,0 +1,107 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# ex: set tabstop=4 noexpandtab: +# -*- coding: utf-8 -*- +# +# SPDX-License: ISC +# SPDX-License-URL: https://spdx.org/licenses/ISC.html + +default: help all + @echo "# https://github.com/yjwen/org-reveal" + + +srcs?=$(wildcard *.org | sort) +objs?=${srcs:.org=.html} +target?=$(shell echo ${srcs:.org=} | head -n1) +reveal_url?=https://github.com/hakimel/reveal.js/ +reveal_zip_url?=https://github.com/hakimel/reveal.js/archive/master.zip +reveal_dir?=./reveal.js +sudo?=sudo + + +help: + @echo "# Usage:" + @echo "# make help # Usage" + @echo "# make setup # Install tools" + @echo "# make all # Build html" + @echo "# make start # View HTML in Web browser" + @echo "# make download # Download deps" + @echo "# make setup/debian setup download start # ..." + @echo "# Config:" + @echo "# srcs=${srcs}" + @echo "# objs=${objs}" + @echo "# target=${target}" + +all: ${objs} + ls $^ + +download: ${reveal_dir} + +start: ${target}.html + x-www-browser $< + +clean: + rm -rfv *~ */*/*~ tmp tmp.* + +cleanall: clean + find . -iname "*.html" -exec rm -v "{}" \; + +setup/debian: /etc/debian_version + -${sudo} apt-get update + ${sudo} apt-get install -y \ + emacs \ + git \ + sudo \ + unzip \ + wget \ + # EOL + +setup: /etc/os-release + @echo "# Please install tools, On debian: make setup/debian" + emacs \ + --no-init-file \ + --user ${USER} \ + --batch \ + --eval="(require 'package)" \ + --eval="(add-to-list 'package-archives \ + '(\"melpa\" . \"https://melpa.org/packages/\"))" \ + --eval='(setq gnutls-algorithm-priority "NORMAL:-VERS-TLS1.3")' \ + --eval="(package-initialize)" \ + --eval="(package-show-package-list)" \ + --eval="(package-refresh-contents)" \ + --eval="(package-list-packages)" \ + --eval="(package-install 'org)" \ + --eval="(package-install 'htmlize)" \ + --eval="(package-install 'ox-reveal)" \ +# EOL + +%.html: %.org Makefile + cd ${ reveal.js.zip + unzip reveal.js.zip + mv reveal.js-master ${@} + @rm -f tmp.zip