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
)/ | \
65 cp lisp
/$(PROJECT
)-autoloads.el ..
/$(PROJECT
)-$(VERSION
)/lisp
68 (cd ..
&& tar -czf
$(PROJECT
)-$(VERSION
).
tar.gz \
69 $(PROJECT
)-$(VERSION
) ; \
70 zip
-r
$(PROJECT
)-$(VERSION
).zip
$(PROJECT
)-$(VERSION
) && \
71 gpg
--detach
$(PROJECT
)-$(VERSION
).
tar.gz
&& \
72 gpg
--detach
$(PROJECT
)-$(VERSION
).zip
)
75 -rm -f ..
/..
/dist/$(DISTRIBUTOR
)/$(DEBNAME
)_
*
76 -rm -fr ..
/$(DEBNAME
)_
$(VERSION
)*
79 -rm -rf ..
/$(DEBNAME
)-$(VERSION
)
80 (cd ..
&& tar -xzf
$(PROJECT
)-$(VERSION
).
tar.gz
)
81 mv ..
/$(PROJECT
)-$(VERSION
) ..
/$(DEBNAME
)-$(VERSION
)
82 (cd ..
&& tar -czf
$(DEBNAME
)_
$(VERSION
).orig.
tar.gz \
83 $(DEBNAME
)-$(VERSION
))
84 (cd debian
&& git archive
--format
=tar \
85 --prefix=$(DEBNAME
)-$(VERSION
)/debian
/ | \
86 (cd ..
/..
&& tar xf
-))
89 (cd ..
/$(DEBNAME
)-$(VERSION
) && \
90 dpkg-buildpackage
-v
$(LASTUPLOAD
) $(BUILDOPTS
) \
91 -us
-uc
-rfakeroot
&& \
92 echo
"Running lintian ..." && \
93 lintian
-i ..
/$(DEBNAME
)_
$(VERSION
)*.deb ||
: && \
94 echo
"Done running lintian." && \
95 echo
"Running linda ..." && \
96 linda
-i ..
/$(DEBNAME
)_
$(VERSION
)*.deb ||
: && \
97 echo
"Done running linda." && \
101 cp ..
/$(DEBNAME
)_
$(VERSION
)* ..
/..
/dist/$(DISTRIBUTOR
)
103 deb
: debclean debprepare debbuild debinstall
107 scp
$(PROJECT
)-$(VERSION
).zip
* $(PROJECT
)-$(VERSION
).
tar.gz
* \
108 mwolson@download.gna.org
:/upload
/muse-el
)
110 elpa
: realclean info-only
111 rm -fR
$(ELPADIR
)/$(PROJECT
)-$(VERSION
)
112 rm -f
$(ELPADIR
)/$(PROJECT
)-$(VERSION
).
tar
113 mkdir
-p
$(ELPADIR
)/$(PROJECT
)-$(VERSION
)
114 cp lisp
/*.el
$(ELPADIR
)/$(PROJECT
)-$(VERSION
)
115 cp contrib
/*.el
$(ELPADIR
)/$(PROJECT
)-$(VERSION
)
116 echo
'(define-package "$(PROJECT)" "$(VERSION)"' > \
117 $(ELPADIR
)/$(PROJECT
)-$(VERSION
)/$(PROJECT
)-pkg.el
118 echo
' "$(ELPADESC)")' >> \
119 $(ELPADIR
)/$(PROJECT
)-$(VERSION
)/$(PROJECT
)-pkg.el
120 cp texi
/$(MANUAL
).
info $(ELPADIR
)/$(PROJECT
)-$(VERSION
)
121 echo
'* Menu:' > $(ELPADIR
)/$(PROJECT
)-$(VERSION
)/dir
122 echo
>> $(ELPADIR
)/$(PROJECT
)-$(VERSION
)/dir
123 install-info
--section
"Emacs" "Emacs" \
124 --info-dir
=$(ELPADIR
)/$(PROJECT
)-$(VERSION
) \
125 $(ELPADIR
)/$(PROJECT
)-$(VERSION
)/$(MANUAL
).
info
126 rm -f
$(ELPADIR
)/$(PROJECT
)-$(VERSION
)/dir.old
127 (cd
$(ELPADIR
) && tar cf
$(PROJECT
)-$(VERSION
).
tar \
128 $(PROJECT
)-$(VERSION
))