Keep pristine copy of updated Remember manual
[remember-el.git] / Makefile
blobe1ae09477ba4aa076de1f6ebb6df66c1ec7c259e
1 .PHONY: all autoloads lisp doc clean realclean distclean fullclean install test dist release debbuild debrevision debrelease
2 .PRECIOUS: %.elc
4 include Makefile.defs
6 EL = $(filter-out $(PROJECT)-autoloads.el,$(wildcard *.el))
7 ELC = $(patsubst %.el,%.elc,$(EL))
9 all: autoloads lisp $(MANUAL).info
11 lisp: $(ELC)
13 $(PROJECT)-build.elc: ./scripts/$(PROJECT)-build.el
14 @echo $(PROJECT)-build.el is not byte-compiled
16 autoloads: $(PROJECT)-autoloads.el
18 $(PROJECT)-autoloads.el: $(EL)
19 @$(EMACS) -q $(SITEFLAG) -batch -l ./scripts/$(PROJECT)-build.el \
20 -f $(PROJECT)-generate-autoloads .
22 %.elc: %.el
23 @$(EMACS) -q $(SITEFLAG) -batch -l ./scripts/$(PROJECT)-build.el \
24 -f batch-byte-compile $< || :
26 %.info: %.texi
27 makeinfo $<
29 %.html: %.texi
30 makeinfo --html --no-split $<
32 doc: $(MANUAL).info $(MANUAL).html
34 clean:
35 -rm -f *.elc *~
37 realclean fullclean: clean
38 -rm -f $(MANUAL).info $(MANUAL).html $(PROJECT)-autoloads.el
40 install: autoloads lisp $(MANUAL).info
41 install -d $(ELISPDIR)
42 install -m 0644 $(PROJECT)-autoloads.el $(EL) $(wildcard *.elc) \
43 $(ELISPDIR)
44 [ -d $(INFODIR) ] || install -d $(INFODIR)
45 install -m 0644 $(MANUAL).info $(INFODIR)/$(MANUAL)
46 $(INSTALLINFO) $(INFODIR)/$(MANUAL)
48 test: $(ELC)
49 $(EMACS) -q $(SITEFLAG) -batch -l ./scripts/$(PROJECT)-build.el \
50 -f $(PROJECT)-elint-files $(EL)
52 distclean:
53 -rm -f $(MANUAL).info $(MANUAL).html debian/dirs debian/files
54 -rm -fr ../$(PROJECT)-$(VERSION)
56 dist: autoloads distclean
57 tla inventory -sB | tar -cf - --no-recursion -T- | \
58 (mkdir -p ../$(PROJECT)-$(VERSION); cd ../$(PROJECT)-$(VERSION) && \
59 tar xf -)
60 cp $(PROJECT)-autoloads.el ../$(PROJECT)-$(VERSION)
61 rm -fr ../$(PROJECT)-$(VERSION)/debian ../$(PROJECT)-$(VERSION)/test
63 release: dist
64 (cd .. && tar -czf $(PROJECT)-$(VERSION).tar.gz \
65 $(PROJECT)-$(VERSION) && \
66 zip -r $(PROJECT)-$(VERSION).zip $(PROJECT)-$(VERSION) && \
67 gpg --detach $(PROJECT)-$(VERSION).tar.gz && \
68 gpg --detach $(PROJECT)-$(VERSION).zip)
70 debbuild:
71 (cd ../$(DEBNAME)-$(VERSION) && \
72 dpkg-buildpackage -v$(LASTUPLOAD) $(BUILDOPTS) \
73 -us -uc -rfakeroot && \
74 echo "Running lintian ..." && \
75 lintian -i ../$(DEBNAME)_$(VERSION)*.deb || : && \
76 echo "Done running lintian." && \
77 debsign)
78 cp ../$(DEBNAME)_$(VERSION)* ../../dist
80 debrevision: dist
81 -rm -f ../../dist/$(DEBNAME)_*
82 -rm -f ../$(DEBNAME)_$(VERSION)-*
83 -rm -fr ../$(DEBNAME)-$(VERSION)
84 mv ../$(PROJECT)-$(VERSION) ../$(DEBNAME)-$(VERSION)
85 cp -r debian ../$(DEBNAME)-$(VERSION)
86 -rm -fr ../$(DEBNAME)-$(VERSION)/debian/.arch-ids
87 $(MAKE) debbuild
89 debrelease: dist
90 -rm -f ../../dist/$(DEBNAME)_*
91 -rm -f ../$(DEBNAME)_$(VERSION)*
92 -rm -fr ../$(DEBNAME)-$(VERSION)
93 mv ../$(PROJECT)-$(VERSION) ../$(DEBNAME)-$(VERSION)
94 (cd .. && tar -czf $(DEBNAME)_$(VERSION).orig.tar.gz \
95 $(DEBNAME)-$(VERSION))
96 cp -r debian ../$(DEBNAME)-$(VERSION)
97 -rm -fr ../$(DEBNAME)-$(VERSION)/debian/.arch-ids
98 $(MAKE) debbuild
100 upload: release
101 (cd .. && scp $(PROJECT)-$(VERSION).zip* \
102 $(PROJECT)-$(VERSION).tar.gz* \
103 mwolson@download.gna.org:/upload/remember-el)