planner-calendar: Make « and » work
[planner-el.git] / Makefile
blob83f5af7ce27b1314d9b9638c3c8dfaad1fab8276
1 .PHONY: all autoloads lisp doc clean realclean distclean fullclean install
2 .PHONY: test dist release debclean debprepare debbuild debinstall deb upload
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
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 . contrib
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).html
35 clean:
36 -rm -f *.elc *~
38 realclean fullclean: clean
39 -rm -f $(MANUAL).info $(MANUAL).html $(PROJECT)-autoloads.el
41 install: autoloads lisp $(MANUAL).info
42 install -d $(ELISPDIR)
43 install -m 0644 $(PROJECT)-autoloads.el $(EL) $(wildcard *.elc) \
44 $(ELISPDIR)
45 [ -d $(INFODIR) ] || install -d $(INFODIR)
46 install -m 0644 $(MANUAL).info $(INFODIR)/$(MANUAL)
47 $(INSTALLINFO) $(INFODIR)/$(MANUAL)
49 test: $(ELC)
50 $(EMACS) -q $(SITEFLAG) -batch -l ./scripts/$(PROJECT)-build.el \
51 -f $(PROJECT)-elint-files $(EL)
53 distclean:
54 -rm -f $(MANUAL).info $(MANUAL).html debian/dirs debian/files
55 -rm -fr ../$(PROJECT)-$(VERSION)
57 dist: autoloads distclean
58 tla inventory -sB | tar -cf - --no-recursion -T- | \
59 (mkdir -p ../$(PROJECT)-$(VERSION); cd ../$(PROJECT)-$(VERSION) && \
60 tar xf -)
61 cp $(PROJECT)-autoloads.el ../$(PROJECT)-$(VERSION)
62 rm -fr ../$(PROJECT)-$(VERSION)/debian ../$(PROJECT)-$(VERSION)/test
64 release: dist
65 (cd .. && tar -czf $(PROJECT)-$(VERSION).tar.gz \
66 $(PROJECT)-$(VERSION) && \
67 zip -r $(PROJECT)-$(VERSION).zip $(PROJECT)-$(VERSION) && \
68 gpg --detach $(PROJECT)-$(VERSION).tar.gz && \
69 gpg --detach $(PROJECT)-$(VERSION).zip)
71 debclean:
72 -rm -f ../../dist/$(DISTRIBUTOR)/$(DEBNAME)_*
73 -rm -fr ../$(DEBNAME)_$(VERSION)*
75 debprepare:
76 -rm -rf ../$(DEBNAME)-$(VERSION)
77 (cd .. && tar -xzf $(PROJECT)-$(VERSION).tar.gz)
78 mv ../$(PROJECT)-$(VERSION) ../$(DEBNAME)-$(VERSION)
79 (cd .. && tar -czf $(DEBNAME)_$(VERSION).orig.tar.gz \
80 $(DEBNAME)-$(VERSION))
81 (cd debian && tla inventory -sB | tar -cf - --no-recursion -T- | \
82 (mkdir -p ../../$(DEBNAME)-$(VERSION)/debian; \
83 cd ../../$(DEBNAME)-$(VERSION)/debian && \
84 tar xf -))
86 debbuild:
87 (cd ../$(DEBNAME)-$(VERSION) && \
88 dpkg-buildpackage -v$(LASTUPLOAD) $(BUILDOPTS) \
89 -us -uc -rfakeroot && \
90 echo "Running lintian ..." && \
91 lintian -i ../$(DEBNAME)_$(VERSION)*.deb || : && \
92 echo "Done running lintian." && \
93 echo "Running linda ..." && \
94 linda -i ../$(DEBNAME)_$(VERSION)*.deb || : && \
95 echo "Done running linda." && \
96 debsign)
98 debinstall:
99 cp ../$(DEBNAME)_$(VERSION)* ../../dist/$(DISTRIBUTOR)
101 deb: debclean debprepare debbuild debinstall
103 upload: release
104 (cd .. && \
105 scp $(PROJECT)-$(VERSION).zip* $(PROJECT)-$(VERSION).tar.gz* \
106 mwolson@download.gna.org:/upload/planner-el)