1 .PHONY
: all autoloads lisp doc
clean realclean distclean fullclean
install
2 .PHONY
: test dist release debclean debprepare debbuild debinstall deb upload
6 DEFS
= $(shell test -f Makefile.defs
&& echo Makefile.defs \
7 || echo Makefile.defs.default
)
11 EL
= $(filter-out $(PROJECT
)-autoloads.el
,$(wildcard *.el
))
12 ELC
= $(patsubst %.el
,%.elc
,$(EL
))
14 all: autoloads lisp
$(MANUAL
).
info
18 $(PROJECT
)-build.elc
: .
/scripts
/$(PROJECT
)-build.el
19 @echo
$(PROJECT
)-build.el is not byte-compiled
21 autoloads
: $(PROJECT
)-autoloads.el
23 $(PROJECT
)-autoloads.el
: $(EL
)
24 @
$(EMACS
) -q
$(SITEFLAG
) -batch
-l .
/scripts
/$(PROJECT
)-build.el \
25 -f
$(PROJECT
)-generate-autoloads . contrib
28 @
$(EMACS
) -q
$(SITEFLAG
) -batch
-l .
/scripts
/$(PROJECT
)-build.el \
29 -f batch-byte-compile
$< ||
:
35 makeinfo --html
--no-split
$<
37 info-only
: $(MANUAL
).
info
39 doc
: $(MANUAL
).
info $(MANUAL
).html
44 realclean fullclean
: clean
45 -rm -f
$(MANUAL
).
info $(MANUAL
).html
$(PROJECT
)-autoloads.el
47 install: autoloads lisp
$(MANUAL
).
info
48 install -d
$(ELISPDIR
)
49 install -m
0644 $(PROJECT
)-autoloads.el
$(EL
) $(wildcard *.elc
) \
51 [ -d
$(INFODIR
) ] ||
install -d
$(INFODIR
)
52 install -m
0644 $(MANUAL
).
info $(INFODIR
)/$(MANUAL
)
53 $(call install_info
,$(MANUAL
))
56 $(EMACS
) -q
$(SITEFLAG
) -batch
-l .
/scripts
/$(PROJECT
)-build.el \
57 -f
$(PROJECT
)-elint-files
$(EL
)
60 -rm -f
$(MANUAL
).
info $(MANUAL
).html debian
/dirs debian
/files
61 -rm -fr ..
/$(PROJECT
)-$(VERSION
)
63 dist: autoloads
distclean
64 git archive
--format
=tar --prefix=$(PROJECT
)-$(VERSION
)/ HEAD | \
66 rm -f ..
/$(PROJECT
)-$(VERSION
)/.gitignore
67 rm -fr ..
/$(PROJECT
)-$(VERSION
)/test
68 cp
$(PROJECT
)-autoloads.el ..
/$(PROJECT
)-$(VERSION
)/lisp
71 (cd ..
&& tar -czf
$(PROJECT
)-$(VERSION
).
tar.gz \
72 $(PROJECT
)-$(VERSION
) && \
73 zip
-r
$(PROJECT
)-$(VERSION
).zip
$(PROJECT
)-$(VERSION
) && \
74 gpg
--detach
$(PROJECT
)-$(VERSION
).
tar.gz
&& \
75 gpg
--detach
$(PROJECT
)-$(VERSION
).zip
)
78 -rm -f ..
/..
/dist/$(DISTRIBUTOR
)/$(DEBNAME
)_
*
79 -rm -fr ..
/$(DEBNAME
)_
$(VERSION
)*
82 -rm -rf ..
/$(DEBNAME
)-$(VERSION
)
83 (cd ..
&& tar -xzf
$(PROJECT
)-$(VERSION
).
tar.gz
)
84 mv ..
/$(PROJECT
)-$(VERSION
) ..
/$(DEBNAME
)-$(VERSION
)
85 (cd ..
&& tar -czf
$(DEBNAME
)_
$(VERSION
).orig.
tar.gz \
86 $(DEBNAME
)-$(VERSION
))
87 (cd debian
&& git archive
--format
=tar \
88 --prefix=$(DEBNAME
)-$(VERSION
)/debian
/ HEAD | \
89 (cd ..
/..
&& tar xf
-))
92 (cd ..
/$(DEBNAME
)-$(VERSION
) && \
93 dpkg-buildpackage
-v
$(LASTUPLOAD
) $(BUILDOPTS
) \
94 -us
-uc
-rfakeroot
&& \
95 echo
"Running lintian ..." && \
96 lintian
-i ..
/$(DEBNAME
)_
$(VERSION
)*.deb ||
: && \
97 echo
"Done running lintian." && \
98 echo
"Running linda ..." && \
99 linda
-i ..
/$(DEBNAME
)_
$(VERSION
)*.deb ||
: && \
100 echo
"Done running linda." && \
104 cp ..
/$(DEBNAME
)_
$(VERSION
)* ..
/..
/dist/$(DISTRIBUTOR
)
106 deb
: debclean debprepare debbuild debinstall
110 scp
$(PROJECT
)-$(VERSION
).zip
* $(PROJECT
)-$(VERSION
).
tar.gz
* \
111 mwolson@download.gna.org
:/upload
/planner-el
)
113 elpa
: realclean info-only
114 rm -fR
$(ELPADIR
)/$(PROJECT
)-$(VERSION
)
115 rm -f
$(ELPADIR
)/$(PROJECT
)-$(VERSION
).
tar
116 mkdir
-p
$(ELPADIR
)/$(PROJECT
)-$(VERSION
)
117 cp
*.el
$(ELPADIR
)/$(PROJECT
)-$(VERSION
)
118 cp contrib
/*.el
$(ELPADIR
)/$(PROJECT
)-$(VERSION
)
119 echo
'(define-package "$(PROJECT)" "$(VERSION)"' > \
120 $(ELPADIR
)/$(PROJECT
)-$(VERSION
)/$(PROJECT
)-pkg.el
121 echo
' "$(ELPADESC)")' >> \
122 $(ELPADIR
)/$(PROJECT
)-$(VERSION
)/$(PROJECT
)-pkg.el
123 cp texi
/$(MANUAL
).
info $(ELPADIR
)/$(PROJECT
)-$(VERSION
)
124 cp texi
/dir-template
$(ELPADIR
)/$(PROJECT
)-$(VERSION
)/dir
125 install-info
--section
"Emacs" "Emacs" \
126 --info-dir
=$(ELPADIR
)/$(PROJECT
)-$(VERSION
) \
127 $(ELPADIR
)/$(PROJECT
)-$(VERSION
)/$(MANUAL
).
info
128 rm -f
$(ELPADIR
)/$(PROJECT
)-$(VERSION
)/dir.old
129 (cd
$(ELPADIR
) && tar cf
$(PROJECT
)-$(VERSION
).
tar \
130 $(PROJECT
)-$(VERSION
))