1 .PHONY
: all lisp contrib autoloads examples experimental doc info-only
2 .PHONY
: clean realclean distclean fullclean install-info install-bin
install
3 .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 SUBDIRS
= lisp contrib examples experimental texi
13 all: autoloads lisp contrib info-only
19 (cd contrib
&& $(MAKE
))
22 (cd lisp
&& $(MAKE
) autoloads
)
25 (cd examples
&& $(MAKE
))
28 (cd experimental
&& $(MAKE
))
31 (cd texi
&& $(MAKE
) info-only
)
37 for i in
$(SUBDIRS
); do \
38 (cd
$$i && $(MAKE
) clean); done
40 realclean fullclean
: clean
41 for i in
$(SUBDIRS
); do \
42 (cd
$$i && $(MAKE
) realclean); done
45 (cd texi
&& $(MAKE
) install)
47 install-bin
: autoloads lisp contrib
48 (cd lisp
&& $(MAKE
) install)
49 (cd contrib
&& $(MAKE
) install)
50 (cd experimental
&& $(MAKE
) install-uncompiled
)
52 install: install-bin install-info
55 (cd lisp
&& $(MAKE
) test)
58 for i in
$(SUBDIRS
); do \
59 (cd
$$i && $(MAKE
) distclean); done
60 -rm -fr ..
/$(PROJECT
)-$(VERSION
)
62 dist: autoloads
distclean
63 git archive
--format
=tar --prefix=$(PROJECT
)-$(VERSION
)/ HEAD | \
65 rm -f ..
/$(PROJECT
)-$(VERSION
)/.gitignore
66 cp lisp
/$(PROJECT
)-autoloads.el ..
/$(PROJECT
)-$(VERSION
)/lisp
69 (cd ..
&& tar -czf
$(PROJECT
)-$(VERSION
).
tar.gz \
70 $(PROJECT
)-$(VERSION
) ; \
71 zip
-r
$(PROJECT
)-$(VERSION
).zip
$(PROJECT
)-$(VERSION
) && \
72 gpg
--detach
$(PROJECT
)-$(VERSION
).
tar.gz
&& \
73 gpg
--detach
$(PROJECT
)-$(VERSION
).zip
)
76 -rm -f ..
/..
/dist/$(DISTRIBUTOR
)/$(DEBNAME
)_
*
77 -rm -fr ..
/$(DEBNAME
)_
$(VERSION
)*
80 -rm -rf ..
/$(DEBNAME
)-$(VERSION
)
81 (cd ..
&& tar -xzf
$(PROJECT
)-$(VERSION
).
tar.gz
)
82 mv ..
/$(PROJECT
)-$(VERSION
) ..
/$(DEBNAME
)-$(VERSION
)
83 (cd ..
&& tar -czf
$(DEBNAME
)_
$(VERSION
).orig.
tar.gz \
84 $(DEBNAME
)-$(VERSION
))
85 (cd debian
&& git archive
--format
=tar \
86 --prefix=$(DEBNAME
)-$(VERSION
)/debian
/ HEAD | \
87 (cd ..
/..
&& tar xf
-))
90 (cd ..
/$(DEBNAME
)-$(VERSION
) && \
91 dpkg-buildpackage
-v
$(LASTUPLOAD
) $(BUILDOPTS
) \
92 -us
-uc
-rfakeroot
&& \
93 echo
"Running lintian ..." && \
94 lintian
-i ..
/$(DEBNAME
)_
$(VERSION
)*.deb ||
: && \
95 echo
"Done running lintian." && \
96 echo
"Running linda ..." && \
97 linda
-i ..
/$(DEBNAME
)_
$(VERSION
)*.deb ||
: && \
98 echo
"Done running linda." && \
102 cp ..
/$(DEBNAME
)_
$(VERSION
)* ..
/..
/dist/$(DISTRIBUTOR
)
104 deb
: debclean debprepare debbuild debinstall
108 scp
$(PROJECT
)-$(VERSION
).zip
* $(PROJECT
)-$(VERSION
).
tar.gz
* \
109 mwolson@download.gna.org
:/upload
/muse-el
)
111 elpa
: realclean info-only
112 rm -fR
$(ELPADIR
)/$(PROJECT
)-$(VERSION
)
113 rm -f
$(ELPADIR
)/$(PROJECT
)-$(VERSION
).
tar
114 mkdir
-p
$(ELPADIR
)/$(PROJECT
)-$(VERSION
)
115 cp lisp
/*.el
$(ELPADIR
)/$(PROJECT
)-$(VERSION
)
116 cp contrib
/*.el
$(ELPADIR
)/$(PROJECT
)-$(VERSION
)
117 echo
'(define-package "$(PROJECT)" "$(VERSION)"' > \
118 $(ELPADIR
)/$(PROJECT
)-$(VERSION
)/$(PROJECT
)-pkg.el
119 echo
' "$(ELPADESC)")' >> \
120 $(ELPADIR
)/$(PROJECT
)-$(VERSION
)/$(PROJECT
)-pkg.el
121 cp texi
/$(MANUAL
).
info $(ELPADIR
)/$(PROJECT
)-$(VERSION
)
122 echo
'* Menu:' > $(ELPADIR
)/$(PROJECT
)-$(VERSION
)/dir
123 echo
>> $(ELPADIR
)/$(PROJECT
)-$(VERSION
)/dir
124 install-info
--section
"Emacs" "Emacs" \
125 --info-dir
=$(ELPADIR
)/$(PROJECT
)-$(VERSION
) \
126 $(ELPADIR
)/$(PROJECT
)-$(VERSION
)/$(MANUAL
).
info
127 rm -f
$(ELPADIR
)/$(PROJECT
)-$(VERSION
)/dir.old
128 (cd
$(ELPADIR
) && tar cf
$(PROJECT
)-$(VERSION
).
tar \
129 $(PROJECT
)-$(VERSION
))