remember.texi: Update copyright notice and version.
[remember-el.git] / Makefile
blob450f382384f292f7d1ddbbb31472bf0171f04712
1 .PHONY: all autoloads lisp doc clean realclean distclean fullclean install
2 .PHONY: test dist release
3 .PRECIOUS: %.elc
5 include Makefile.defs
7 EL = $(filter-out $(PROJECT)-autoloads.el,$(wildcard *.el))
8 ELC = $(patsubst %.el,%.elc,$(EL))
10 all: autoloads lisp $(MANUAL).info $(MANUAL)-extra.info
12 lisp: $(ELC)
14 $(PROJECT)-build.elc: ./scripts/$(PROJECT)-build.el
15 @echo $(PROJECT)-build.el is not byte-compiled
17 autoloads: $(PROJECT)-autoloads.el
19 $(PROJECT)-autoloads.el: $(EL)
20 @$(EMACS) -q $(SITEFLAG) -batch -l ./scripts/$(PROJECT)-build.el \
21 -f $(PROJECT)-generate-autoloads .
23 %.elc: %.el
24 @$(EMACS) -q $(SITEFLAG) -batch -l ./scripts/$(PROJECT)-build.el \
25 -f batch-byte-compile $< || :
27 %.info: %.texi
28 makeinfo $<
30 %.html: %.texi
31 makeinfo --html --no-split $<
33 doc: $(MANUAL).info $(MANUAL)-extra.info $(MANUAL).html $(MANUAL)-extra.html
35 clean:
36 -rm -f *.elc *~
38 realclean fullclean: clean
39 -rm -f $(MANUAL).info $(MANUAL)-extra.info \
40 $(MANUAL).html $(MANUAL)-extra.html \
41 $(PROJECT)-autoloads.el
43 install: autoloads lisp $(MANUAL).info $(MANUAL)-extra.info
44 install -d $(ELISPDIR)
45 install -m 0644 $(PROJECT)-autoloads.el $(EL) $(wildcard *.elc) \
46 $(ELISPDIR)
47 [ -d $(INFODIR) ] || install -d $(INFODIR)
48 install -m 0644 $(MANUAL).info $(INFODIR)/$(MANUAL)
49 install -m 0644 $(MANUAL)-extra.info $(INFODIR)/$(MANUAL)-extra
50 $(INSTALLINFO) $(INFODIR)/$(MANUAL)
51 $(INSTALLINFO) $(INFODIR)/$(MANUAL)-extra
53 test: $(ELC)
54 $(EMACS) -q $(SITEFLAG) -batch -l ./scripts/$(PROJECT)-build.el \
55 -f $(PROJECT)-elint-files $(EL)
57 distclean:
58 -rm -f $(MANUAL).info $(MANUAL)-extra.info \
59 $(MANUAL).html $(MANUAL)-extra.html \
60 debian/dirs debian/files
61 -rm -fr ../$(PROJECT)-$(VERSION)
63 dist: autoloads distclean
64 git archive --format=tar --prefix=$(PROJECT)-$(VERSION)/ HEAD | \
65 (cd .. && tar xf -)
66 rm -f ../$(PROJECT)-$(VERSION)/.gitignore
67 cp $(PROJECT)-autoloads.el ../$(PROJECT)-$(VERSION)
69 release: dist
70 (cd .. && tar -czf $(PROJECT)-$(VERSION).tar.gz \
71 $(PROJECT)-$(VERSION) && \
72 zip -r $(PROJECT)-$(VERSION).zip $(PROJECT)-$(VERSION) && \
73 gpg --detach $(PROJECT)-$(VERSION).tar.gz && \
74 gpg --detach $(PROJECT)-$(VERSION).zip)
76 upload: release
77 (cd .. && scp $(PROJECT)-$(VERSION).zip* \
78 $(PROJECT)-$(VERSION).tar.gz* \
79 mwolson@download.gna.org:/upload/remember-el)