forked from sigma/gh.el
/
Makefile
87 lines (64 loc) · 2.01 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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
PKGNAME = gh
VERSION = 0.5.3
SNAPDIR = $(PKGNAME)-$(VERSION)
PKGDEF = $(PKGNAME)-pkg.el
AUTODEF = $(PKGNAME)-auto.el
SPECIAL = $(PKGDEF) $(AUTODEF)
ALLSOURCE = $(wildcard *.el)
SOURCE = $(filter-out $(SPECIAL), $(ALLSOURCE))
TARGET = $(patsubst %.el,%.elc, $(SOURCE))
MISC = README
EMACS = emacs
SITEFLAG = --no-site-file
EFLAGS =
BATCH = $(EMACS) $(EFLAGS) $(SITEFLAG) -batch -q -L .
PREFIX = /usr/local
ELISPDIR = $(PREFIX)/share/emacs/site-lisp/$(PKGNAME)
TEXI2HTML = makeinfo --html --number-sections
# Location of Emacs Lisp Package Archive entries
ELPA=../../elpa
all: lisp docs
lisp: $(TARGET)
autoloads: $(AUTODEF)
$(AUTODEF): $(PKGNAME)-auto.in $(SOURCE)
cp $(PKGNAME)-auto.in $(AUTODEF)
rm -f $(AUTODEF)c
@$(BATCH) -l $(PKGNAME)-auto \
-f gh-generate-autoloads \
$(shell pwd | sed -e 's|^/cygdrive/\([a-z]\)|\1:|')/$(AUTODEF) .
%.elc: %.el
@$(BATCH) -f batch-byte-compile $<
clean:
rm -f *~ $(TARGET) $(PKGNAME).info $(PKGNAME).html
realclean: clean docsclean
rm -f $(AUTODEF)
install-bin: lisp
install -d $(ELISPDIR)
install -m 0644 $(ALLSOURCE) $(TARGET) $(ELISPDIR)
install: install-bin
distclean: clean
rm -Rf ../$(SNAPDIR)
release: autoloads distclean
mkdir ../$(SNAPDIR) && chmod 0755 ../$(SNAPDIR)
cp $(SPECIAL) $(SOURCE) ../$(SNAPDIR)
(cd .. && tar cjf $(PKGNAME)-$(VERSION).tar.bz2 $(SNAPDIR)/*)
elpa: info
rm -fR $(ELPA)/$(SNAPDIR)
rm -f $(ELPA)/$(PKGNAME)-$(VERSION).tar
mkdir -p $(ELPA)/$(SNAPDIR) && chmod 0755 $(ELPA)/$(SNAPDIR)
cp $(SOURCE) $(MISC) $(ELPA)/$(SNAPDIR)
cp docs/build/texinfo/$(PKGNAME).info $(ELPA)/$(SNAPDIR)
sed -r -e "s/%VERSION%/$(VERSION)/g" < $(PKGDEF) \
> $(ELPA)/$(SNAPDIR)/$(PKGDEF)
(cd $(ELPA) && tar cf $(PKGNAME)-$(VERSION).tar $(SNAPDIR))
info:
$(MAKE) -C docs info
html:
$(MAKE) -C docs html
docs: info html
docsclean:
rm -f doc/$(PKGNAME).info doc/$(PKGNAME).html
test: lisp
@$(BATCH) -l tests/gh-tests.el -l tests/gh-gist-tests.el \
-l tests/gh-issues-tests.el -l tests/gh-orgs-tests.el \
-f ert-run-tests-batch-and-exit