# DIST: make most of the changes to this file you might want, so try
# DIST: that first.
-# Copyright (C) 1992,93,94,95,96,97,98,1999,2000,01,02,03,2004
+# Copyright (C) 1992,93,94,95,96,97,98,1999,2000,01,02,03,04,2005,2006
# Free Software Foundation, Inc.
# This file is part of GNU Emacs.
# You should have received a copy of the GNU General Public License
# along with GNU Emacs; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
# make all to compile and build Emacs.
# make install to install it.
# since there are now many packages documented with the texinfo
# system, it is inappropriate to imply that it is part of Emacs.
infodir=@infodir@
+INFO_FILES=ada-mode autotype calc ccmode cl dired-x ebrowse ediff efaq \
+ elisp eintr emacs emacs-mime eshell eudc flymake \
+ forms gnus idlwave info message mh-e newsticker org pcl-cvs \
+ pgg reftex sc ses sieve speedbar tramp vip viper widget \
+ woman smtpmail url rcirc erc
# Directory for local state files for all programs.
localstatedir=@localstatedir@
# By default, we uphold the dignity of our programs.
INSTALL_STRIP =
+# We use gzip to compress installed .el files.
+GZIP_PROG = @GZIP_PROG@
+
# ============================= Targets ==============================
# Program name transformation.
# avoid nuking an existing dir file, so we don't do that here;
# instead, we have written out explicit code in the `install' targets.
COPYDIR = ${srcdir}/etc ${srcdir}/lisp
-COPYDESTS = ${etcdir} ${lispdir}
+COPYDESTS = $(DESTDIR)${etcdir} $(DESTDIR)${lispdir}
all: ${SUBDIR} leim
x_default_search_path=`echo ${x_default_search_path}`; \
gamedir=`echo ${gamedir}`; \
sed < ${srcdir}/src/epaths.in > epaths.h.$$$$ \
- -e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "'$${lisppath}'";' \
- -e 's;\(#.*PATH_DUMPLOADSEARCH\).*$$;\1 "'$${buildlisppath}'";' \
+ -e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "'"$${lisppath}"'";' \
+ -e 's;\(#.*PATH_DUMPLOADSEARCH\).*$$;\1 "'"$${buildlisppath}"'";' \
-e 's;\(#.*PATH_EXEC\).*$$;\1 "${archlibdir}";' \
-e 's;\(#.*PATH_INFO\).*$$;\1 "${infodir}";' \
-e 's;\(#.*PATH_DATA\).*$$;\1 "${etcdir}";' \
config.status: ${srcdir}/configure
./config.status --recheck
-${srcdir}/configure: @MAINT@ ${srcdir}/configure.in
+AUTOCONF_INPUTS = @MAINT@ $(srcdir)/configure.in $(srcdir)/m4/getopt.m4
+
+$(srcdir)/configure: $(AUTOCONF_INPUTS)
cd ${srcdir} && autoconf
$(srcdir)/src/config.in: $(srcdir)/src/stamp-h.in
@true
-$(srcdir)/src/stamp-h.in: @MAINT@ ${srcdir}/configure.in
+$(srcdir)/src/stamp-h.in: $(AUTOCONF_INPUTS)
cd ${srcdir} && autoheader
rm -f $(srcdir)/src/stamp-h.in
echo timestamp > $(srcdir)/src/stamp-h.in
exec_prefix=${exec_prefix} bindir=${bindir} \
libexecdir=${libexecdir} archlibdir=${archlibdir} \
INSTALL_STRIP=${INSTALL_STRIP})
- ${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs${EXEEXT} ${bindir}/$(EMACSFULL)
- -chmod 1755 ${bindir}/$(EMACSFULL)
- rm -f ${bindir}/$(EMACS)
- -ln ${bindir}/$(EMACSFULL) ${bindir}/$(EMACS)
+ ${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs${EXEEXT} $(DESTDIR)${bindir}/$(EMACSFULL)
+ -chmod 1755 $(DESTDIR)${bindir}/$(EMACSFULL)
+ rm -f $(DESTDIR)${bindir}/$(EMACS)
+ -ln $(DESTDIR)${bindir}/$(EMACSFULL) $(DESTDIR)${bindir}/$(EMACS)
-unset CDPATH; \
for f in `cd lib-src && echo fns-*.el`; do \
if test -r lib-src/$$f ; then \
- ${INSTALL_DATA} lib-src/$$f ${archlibdir}/$$f; \
+ ${INSTALL_DATA} lib-src/$$f $(DESTDIR)${archlibdir}/$$f; \
else true; fi ; \
done
if test "${carbon_appdir}" != ""; then \
- umask 022; mkdir -p ${carbon_appdir}/Emacs.app; \
+ umask 022; mkdir -p $(DESTDIR)${carbon_appdir}/Emacs.app; \
(cd mac/Emacs.app; (tar -chf - . | \
- (cd ${carbon_appdir}/Emacs.app; umask 022; tar -xvf - \
+ (cd $(DESTDIR)${carbon_appdir}/Emacs.app; umask 022; tar -xvf - \
&& cat > /dev/null))) || exit 1; \
fi
rm -f $${subdir}/dired.todo ; \
done) ; \
done
- -rm -f ${lispdir}/subdirs.el
- $(srcdir)/update-subdirs ${lispdir}
- if [ -f ${datadir}/emacs/${version}/site-lisp/subdirs.el ]; \
+ -rm -f $(DESTDIR)${lispdir}/subdirs.el
+ $(srcdir)/update-subdirs $(DESTDIR)${lispdir}
+ if [ -f $(DESTDIR)${datadir}/emacs/${version}/site-lisp/subdirs.el ]; \
then true; \
else \
(echo "(if (fboundp 'normal-top-level-add-subdirs-to-load-path)"; \
echo " (normal-top-level-add-subdirs-to-load-path))") \
- > ${datadir}/emacs/${version}/site-lisp/subdirs.el; \
+ > $(DESTDIR)${datadir}/emacs/${version}/site-lisp/subdirs.el; \
fi
- chmod a+r ${datadir}/emacs/${version}/site-lisp/subdirs.el
- -if [ -f ${datadir}/emacs/site-lisp/subdirs.el ]; \
+ chmod a+r $(DESTDIR)${datadir}/emacs/${version}/site-lisp/subdirs.el
+ -if [ -f $(DESTDIR)${datadir}/emacs/site-lisp/subdirs.el ]; \
then true; \
else \
(echo "(if (fboundp 'normal-top-level-add-subdirs-to-load-path)"; \
echo " (normal-top-level-add-subdirs-to-load-path))") \
- > ${datadir}/emacs/site-lisp/subdirs.el; \
+ > $(DESTDIR)${datadir}/emacs/site-lisp/subdirs.el; \
fi
- -chmod a+r ${datadir}/emacs/site-lisp/subdirs.el
+ -chmod a+r $(DESTDIR)${datadir}/emacs/site-lisp/subdirs.el
-unset CDPATH; \
- if [ `(cd ./etc; /bin/pwd)` != `(cd ${docdir}; /bin/pwd)` ]; \
+ if [ `(cd ./etc; /bin/pwd)` != `(cd $(DESTDIR)${docdir}; /bin/pwd)` ]; \
then \
- echo "Copying etc/DOC-* to ${docdir} ..." ; \
+ echo "Copying etc/DOC-* to $(DESTDIR)${docdir} ..." ; \
(cd ./etc; tar -chf - DOC*) \
- |(cd ${docdir}; umask 022; tar -xvf - && cat > /dev/null) || exit 1; \
- (cd $(docdir); chown $${LOGNAME:-$$USERNAME} DOC*; chmod a+r DOC*; \
+ |(cd $(DESTDIR)${docdir}; umask 022; tar -xvf - && cat > /dev/null) || exit 1; \
+ (cd $(DESTDIR)$(docdir); chown $${LOGNAME:-$$USERNAME} DOC*; chmod a+r DOC*; \
if test "`echo DOC-*`" != "DOC-*"; then rm DOC; fi); \
else true; fi
-unset CDPATH; \
if [ -r ./lisp ] \
&& [ -r ./lisp/simple.el ] \
- && [ x`(cd ./lisp; /bin/pwd)` != x`(cd ${lispdir}; /bin/pwd)` ] \
+ && [ x`(cd ./lisp; /bin/pwd)` != x`(cd $(DESTDIR)${lispdir}; /bin/pwd)` ] \
&& [ x`(cd ${srcdir}/lisp; /bin/pwd)` != x`(cd ./lisp; /bin/pwd)` ]; \
then \
- echo "Copying lisp/*.el and lisp/*.elc to ${lispdir} ..." ; \
+ echo "Copying lisp/*.el and lisp/*.elc to $(DESTDIR)${lispdir} ..." ; \
(cd lisp; tar -chf - *.el *.elc) \
- |(cd ${lispdir}; umask 022; tar -xvf - && cat > /dev/null) || exit 1; \
- (cd ${lispdir}; find . -exec chown $${LOGNAME:-$$USERNAME} {} ';') ; \
+ |(cd $(DESTDIR)${lispdir}; umask 022; tar -xvf - && cat > /dev/null) || exit 1; \
+ (cd $(DESTDIR)${lispdir}; find . -exec chown $${LOGNAME:-$$USERNAME} {} ';') ; \
+ else true; fi
+ -unset CDPATH; \
+ if [ -n "${GZIP_PROG}" ]; \
+ then \
+ echo "Compressing *.el ..." ; \
+ (cd $(DESTDIR)${lispdir}; for f in `find . -name "*.elc" -print`; do \
+ ${GZIP_PROG} -9n `echo $$f|sed 's/.elc$$/.el/'` ; \
+ done) \
else true; fi
-unset CDPATH; \
thisdir=`/bin/pwd`; \
- if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \
+ if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd $(DESTDIR)${infodir} && /bin/pwd)` ]; \
then \
- (cd ${infodir}; \
+ (cd $(DESTDIR)${infodir}; \
if [ -f dir ]; then true; \
else \
(cd $${thisdir}; \
- ${INSTALL_DATA} ${srcdir}/info/dir ${infodir}/dir; \
- chmod a+r ${infodir}/dir); \
+ ${INSTALL_DATA} ${srcdir}/info/dir $(DESTDIR)${infodir}/dir; \
+ chmod a+r $(DESTDIR)${infodir}/dir); \
fi; \
cd ${srcdir}/info ; \
- for f in ada-mode* autotype* calc* ccmode* cl* dired-x* ebrowse* ediff* efaq* eintr* elisp* emacs* emacs-mime* emacs-xtra* eshell* eudc* flymake* forms* gnus* idlwave* info* message* mh-e* org* pcl-cvs* pgg* reftex* sc* ses* sieve* speedbar* tramp* vip* widget* woman* smtpmail* url*; do \
- (cd $${thisdir}; \
- ${INSTALL_DATA} ${srcdir}/info/$$f ${infodir}/$$f; \
- chmod a+r ${infodir}/$$f); \
+ for elt in $(INFO_FILES); do \
+ for f in `ls $$elt $$elt-[1-9] $$elt-[1-9][0-9] 2>/dev/null`; do \
+ ${INSTALL_DATA} $$f $(DESTDIR)${infodir}/$$f; \
+ chmod a+r $(DESTDIR)${infodir}/$$f; \
+ done; \
done); \
else true; fi
-unset CDPATH; \
thisdir=`/bin/pwd`; \
- if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \
+ if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd $(DESTDIR)${infodir} && /bin/pwd)` ]; \
then \
- for f in ada-mode autotype calc ccmode cl dired-x ebrowse ediff efaq elisp eintr emacs emacs-mime emacs-xtra eshell eudc flymake forms gnus idlwave info message mh-e org pcl-cvs pgg reftex sc ses sieve speedbar tramp vip viper widget woman smtpmail url; do \
+ for elt in $(INFO_FILES); do \
(cd $${thisdir}; \
- ${INSTALL_INFO} --info-dir=${infodir} ${infodir}/$$f); \
+ ${INSTALL_INFO} --info-dir=$(DESTDIR)${infodir} $(DESTDIR)${infodir}/$$elt); \
done; \
else true; fi
- -chmod -R a+r ${datadir}/emacs ${COPYDESTS} ${infodir}
+ -chmod -R a+r $(DESTDIR)${datadir}/emacs ${COPYDESTS} $(DESTDIR)${infodir}
thisdir=`/bin/pwd`; \
cd ${srcdir}/etc; \
for page in emacs emacsclient etags ctags ; do \
(cd $${thisdir}; \
- ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${man1dir}/$${page}${manext}; \
- chmod a+r ${man1dir}/$${page}${manext}); \
+ ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 $(DESTDIR)${man1dir}/$${page}${manext}; \
+ chmod a+r $(DESTDIR)${man1dir}/$${page}${manext}); \
done
### Install LEIM files. Although they are machine-independent, we
### /usr/local/lib/emacs/19.0/mips-dec-ultrix4.2), we use mkinstalldirs
### instead of mkdir. Not all systems' mkdir programs have the `-p' flag.
mkdir: FRC
- if [ -d ${datadir} ]; then true; else \
- $(srcdir)/mkinstalldirs ${datadir}; \
- chmod a+r ${datadir};\
+ if [ -d $(DESTDIR)${datadir} ]; then true; else \
+ $(srcdir)/mkinstalldirs $(DESTDIR)${datadir}; \
+ chmod a+r $(DESTDIR)${datadir};\
fi
- $(srcdir)/mkinstalldirs ${COPYDESTS} ${infodir} ${man1dir} \
- ${bindir} ${docdir} ${libexecdir} \
- ${datadir}/emacs/site-lisp \
- ${datadir}/emacs/${version}/site-lisp \
- `echo ${locallisppath} | sed 's/:/ /g'`
+ $(srcdir)/mkinstalldirs ${COPYDESTS} $(DESTDIR)${infodir} $(DESTDIR)${man1dir} \
+ $(DESTDIR)${bindir} $(DESTDIR)${docdir} $(DESTDIR)${libexecdir} \
+ $(DESTDIR)${datadir}/emacs/site-lisp \
+ $(DESTDIR)${datadir}/emacs/${version}/site-lisp \
+ $(DESTDIR)`echo ${locallisppath} | sed 's,:, $(DESTDIR),g'`
### Delete all the installed files that the `install' target would
### create (but not the noninstalled files such as `make all' would
prefix=${prefix} exec_prefix=${exec_prefix} \
bindir=${bindir} libexecdir=${libexecdir} archlibdir=${archlibdir})
-unset CDPATH; \
- for dir in ${lispdir} ${etcdir} ; do \
+ for dir in $(DESTDIR)${lispdir} $(DESTDIR)${etcdir} ; do \
if [ -d $${dir} ]; then \
case `(cd $${dir} ; /bin/pwd)` in \
`(cd ${srcdir} ; /bin/pwd)`* ) ;; \
* ) rm -rf $${dir} ;; \
esac ; \
case $${dir} in \
- ${datadir}/emacs/${version}/* ) \
- rm -rf ${datadir}/emacs/${version} \
+ $(DESTDIR)${datadir}/emacs/${version}/* ) \
+ rm -rf $(DESTDIR)${datadir}/emacs/${version} \
;; \
esac ; \
fi ; \
done
- (cd ${archlibdir} && rm -f fns-*)
- -rm -rf ${libexecdir}/emacs/${version}
- (cd ${infodir} && rm -f cl* ada-mode* autotype* calc* ccmode* ebrowse* efaq* eintr elisp* eshell* eudc* idlwave* message* pcl-cvs* reftex* speedbar* tramp* widget* woman* dired-x* ediff* emacs* emacs-xtra* flymake* forms* gnus* info* mh-e* org* sc* ses* vip* smtpmail* url*)
- (cd ${man1dir} && rm -f emacs${manext} emacsclient${manext} etags${manext} ctags${manext})
- (cd ${bindir} && rm -f $(EMACSFULL) $(EMACS))
+ (cd $(DESTDIR)${archlibdir} && rm -f fns-*)
+ -rm -rf $(DESTDIR)${libexecdir}/emacs/${version}
+ (cd $(DESTDIR)${infodir} && \
+ for elt in $(INFO_FILES); do \
+ $(INSTALL_INFO) --remove --info-dir=. $$elt; \
+ for f in `ls $$elt $$elt-[1-9] $$elt-[1-9][0-9] 2>/dev/null`; do \
+ rm -f $$f; \
+ done; \
+ done;)
+ (cd $(DESTDIR)${man1dir} && rm -f emacs${manext} emacsclient${manext} etags${manext} ctags${manext})
+ (cd $(DESTDIR)${bindir} && rm -f $(EMACSFULL) $(EMACS))
FRC:
exit 1;\
fi
-bootstrap: bootstrap-clean-before info bootstrap-build FRC
+bootstrap: bootstrap-clean-before FRC
+ $(MAKE) $(MFLAGS) info bootstrap-build
-bootfast: bootstrap-clean-before-fast info bootstrap-build FRC
+bootfast: bootstrap-clean-before-fast FRC
+ $(MAKE) $(MFLAGS) info bootstrap-build
bootstrap-build: FRC
(cd lisp; $(MAKE) $(MFLAGS) bootstrap-prepare)