summaryrefslogtreecommitdiff
path: root/Makefile
blob: bfb150a8571e2cfa7b6a5293e9efeecb2081ee6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
.phony: all tangle autoload compile lint clean

build: tangle autoload compile

dev: tangle autoload compile lint

# No -q or -Q without ORG_PATH - if the user has a newer version of
# Org, we want to use it.
jabber.el:
	if [ -z "${ORG_PATH}" ]; then \
          echo ; \
	  echo "[WARNING] ORG_PATH is unset. Org versions older than 9.3.8 have a bug" ; \
	  echo "which result in them always using absolute paths in comment links in" ; \
	  echo "tangled source files. If your Org version is older than 9.3.8, please" ; \
	  echo "upgrade it before tangling." ; \
          echo ; \
          emacs --batch \
	emacs --batch \
	--eval="(progn (package-initialize) (require 'ob-tangle))" \
	--eval='(org-babel-tangle-file "jabber.org")' ; \
        else \
          emacs -q -Q --batch \
          --eval="(add-to-list 'load-path \"${ORG_PATH}\")" \
          --eval="(require 'ob-tangle)" \
          --eval='(org-babel-tangle-file "jabber.org")' ; \
        fi

tangle: jabber.el

autoload:
	emacs -q --batch --eval="(require 'package)" \
	--eval="(package-generate-autoloads \"jabber\" default-directory)"

compile: tangle
	emacs -q -Q --batch \
	--eval="(add-to-list 'load-path \"$(pwd)\")" \
	--eval="(add-to-list 'load-path \"jabber-fallback-lib\")" \
	--eval='(byte-compile-file "jabber.el")' ; \

lint-check-declare: tangle
	emacs -q -Q --batch --eval='(check-declare-file "jabber.el")'

lint-checkdoc: tangle
	emacs -q -Q --batch --eval='(checkdoc-file "jabber.el")'

lint-package-lint: tangle
	emacs -Q --batch --eval='(package-initialize)' \
        --eval="(require 'package-lint)" \
        -f 'package-lint-batch-and-exit' jabber.el

lint-relint: tangle
	emacs -q -Q --batch --eval="(progn (package-initialize) (relint-file \"jabber.el\"))"

lint: lint-check-declare lint-checkdoc lint-package-lint lint-relint

clean-tangle:
	-rm jabber.el

clean-elc:
	-rm *.elc

clean: clean-elc