forked from jwiegley/dot-emacs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
58 lines (43 loc) · 1.24 KB
/
Makefile
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
## -*- mode: makefile-gmake -*-
EMACS = emacs
EMACS_BATCH = $(EMACS) -Q -batch
TARGET = $(patsubst %.el,%.elc, dot-gnus.el dot-org.el init.el)
DIRS = lisp
SUBDIRS = $(shell find $(DIRS) -maxdepth 2 \
! -name .git \
! -name doc \
! -name test \
! -name tests \
! -name obsolete \
-type d -print)
MY_LOADPATH = -L . $(patsubst %,-L %, $(SUBDIRS))
BATCH_LOAD = $(EMACS_BATCH) $(MY_LOADPATH)
all: $(TARGET) compile-packages compile info/dir
info/dir:
find info \
\! -name '*-[0-9]*.gz' \
\! -name dir \
-type f \
-exec install-info {} $@ \;
install-info \
--entry='* HyperSpec: (gcl). The Common Lisp HyperSpec.' \
info/gcl.info $@
compile:
@BATCH_LOAD="$(BATCH_LOAD)" ./compile-all $(DIRS)
@echo All Emacs Lisp files have been compiled.
init.elc: init.el dot-org.elc dot-gnus.elc
dot-org.elc: dot-org.el
dot-gnus.elc: dot-gnus.el
%.elc: %.el
@echo Compiling file $<
@$(BATCH_LOAD) -f batch-byte-compile $<
pull:
for i in release master ; do \
(cd $$i ; git pull) ; \
done
speed:
time emacs -L . -l init --batch --eval "(message \"Hello, world\!\")"
clean:
rm -f info/dir
find . -name '*.elc' -delete
### Makefile ends here