Add Makefile

This commit is contained in:
contrapunctus 2022-02-10 15:47:13 +05:30
parent a1e305fb8c
commit 3e9244eb09
1 changed files with 42 additions and 0 deletions

42
Makefile Normal file
View File

@ -0,0 +1,42 @@
.phony: all setup tangle compile lint-check-declare lint-checkdoc lint-package-lint lint-relint lint clean-elc
all: clean-elc setup tangle compile lint
setup:
emacs --batch --eval="(package-initialize)" \
--eval="(mapcar #'package-install '(indent-lint package-lint relint))"
# No -q or -Q without ORG_PATH - if the user has a newer version of
# Org, we want to use it.
tangle:
emacs --batch \
--eval="(package-initialize)" --eval="(require 'ob-tangle)" \
--eval='(org-babel-tangle-file "chronometrist-goal.org")'
compile: tangle
emacs --batch \
--eval="(progn (package-initialize) (require 'chronometrist) (require 'alert))" \
--eval='(byte-compile-file "chronometrist-goal.el")'
lint-check-declare: tangle
emacs -q -Q --batch --eval='(check-declare-file "chronometrist-goal.el")'
lint-checkdoc: tangle
emacs -q -Q --batch --eval='(checkdoc-file "chronometrist-goal.el")'
lint-package-lint: setup tangle
emacs --batch \
--eval="(progn (package-initialize) (require 'chronometrist) (require 'alert))" \
--eval="(require 'package-lint)" \
-f 'package-lint-batch-and-exit' chronometrist-goal.el \
lint-relint: setup tangle
emacs -q -Q --batch \
--eval="(package-initialize)" \
--eval="(require 'relint)" \
--eval='(relint-file "chronometrist-goal.el")'
lint: lint-check-declare lint-checkdoc lint-package-lint lint-relint
clean-elc:
-rm *.elc