Comment change.
[bpt/emacs.git] / Makefile.in
index dbfc230..69b51c5 100644 (file)
@@ -195,17 +195,33 @@ SUBDIR_MAKEFILES = lib-src/Makefile src/Makefile oldXMenu/Makefile lwlib/Makefil
 COPYDIR = ${srcdir}/etc ${srcdir}/lisp
 COPYDESTS = ${etcdir} ${lispdir}
 
-all:   src/paths.h ${SUBDIR}
+all:   paths-force ${SUBDIR}
 
 removenullpaths=sed -e 's/^://' -e 's/:$$//' -e 's/::/:/'
 
-# We force the rebuilding of src/paths.h because the user might give
+# Note that sed is not in /bin on 386bsd.
+src/paths.h: Makefile ${srcdir}/src/paths.h.in
+       @echo "Producing \`src/paths.h' from \`src/paths.h.in'."
+       @(lisppath=`echo ${lisppath} | ${removenullpaths}` ;            \
+         buildlisppath=`echo ${buildlisppath} | ${removenullpaths}` ;  \
+         sed < ${srcdir}/src/paths.h.in > src/paths.h.tmp              \
+         -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}";'                   \
+         -e 's;\(#.*PATH_DOC\).*$$;\1 "${docdir}";'                    \
+         -e 's;\(#.*PATH_LOCK\).*$$;\1 "${lockdir}/";')
+       @${srcdir}/move-if-change src/paths.h.tmp src/paths.h
+
+# For `make all',
+# we force the rebuilding of src/paths.h because the user might give
 # make different values for the various directories.  Since we use
 # move-if-change, src/paths.h only actually changes if the user did
 # something notable, so the only unnecessary work we do is in building
 # src/paths.h.tmp, which isn't much.
 # Note that sed is not in /bin on 386bsd.
-src/paths.h: Makefile ${srcdir}/src/paths.h.in FRC.src.paths.h
+paths-force: FRC.src.paths.h
        @echo "Producing \`src/paths.h' from \`src/paths.h.in'."
        @(lisppath=`echo ${lisppath} | ${removenullpaths}` ;            \
          buildlisppath=`echo ${buildlisppath} | ${removenullpaths}` ;  \
@@ -219,8 +235,13 @@ src/paths.h: Makefile ${srcdir}/src/paths.h.in FRC.src.paths.h
          -e 's;\(#.*PATH_LOCK\).*$$;\1 "${lockdir}/";')
        @${srcdir}/move-if-change src/paths.h.tmp src/paths.h
 
-src:   lib-src FRC.src
-lib-src: FRC.lib-src
+src:   lib-src FRC.src src/paths.h
+
+# This ought to depend on src/paths.h, so that in parallel make
+# src/paths.h will be available for the compilations in lib-src.
+# But that causes trouble in `make install' if a different prefix
+# is specified at that time.
+lib-src: FRC.lib-src src/paths.h
 
 .RECURSIVE: ${SUBDIR}
 
@@ -229,6 +250,9 @@ ${SUBDIR}: ${SUBDIR_MAKEFILES} FRC
          CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \
          LDFLAGS='${LDFLAGS}' MAKE='${MAKE}'
 
+blessmail: ${SUBDIR_MAKEFILES} src FRC
+       cd lib-src; $(MAKE) maybe-blessmail $(MFLAGS) MAKE='${MAKE}'
+
 Makefile: Makefile.in config.status
        ./config.status
 
@@ -262,7 +286,7 @@ lwlib/Makefile: lwlib/Makefile.in config.status
 ## source exists and is distinct from the destination.
 ## We don't depend on `all', but rather on ${SUBDIR}, so that we won't
 ## ever modify src/paths.h.
-install: ${SUBDIR} install-arch-dep install-arch-indep;
+install: ${SUBDIR} install-arch-dep install-arch-indep blessmail;
 
 ### Note that we copy the DOC-* files from the build etc directory
 ### as well as lots of things from ${srcdir}/etc.
@@ -281,7 +305,7 @@ install-arch-dep: mkdir
 install-arch-indep: mkdir
        -set ${COPYDESTS} ; \
         for dir in ${COPYDIR} ; do \
-          if [ `(cd $$1 && pwd)` != `(cd $${dir} && pwd)` ] ; then \
+          if [ `(cd $$1 && /bin/pwd)` != `(cd $${dir} && /bin/pwd)` ] ; then \
             rm -rf $$1 ; \
           fi ; \
           shift ; \
@@ -306,18 +330,18 @@ install-arch-indep: mkdir
           echo "Copying etc/DOC* ..." ; \
           (cd etc; tar -cf - DOC*)|(cd ${docdir}; umask 0; tar -xvf - ); \
        else true; fi
-       thisdir=`pwd`; \
+       thisdir=`/bin/pwd`; \
        if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \
        then \
          (cd ${srcdir}/info ; \
           if [ ! -f ${infodir}/dir ] && [ -f dir ]; then \
             (cd $${thisdir}; ${INSTALL_DATA} ${srcdir}/info/dir ${infodir}/dir); \
           fi ; \
-          for f in cl* emacs* forms* gnus* info* sc* vip* ; do \
+          for f in cl* dired-x* emacs* forms* gnus* info* sc* vip* ; do \
             (cd $${thisdir}; ${INSTALL_DATA} ${srcdir}/info/$$f ${infodir}/$$f); \
           done); \
        else true; fi
-       thisdir=`pwd`; cd ${srcdir}/etc; for page in emacs etags ctags ; do \
+       thisdir=`/bin/pwd`; cd ${srcdir}/etc; for page in emacs etags ctags ; do \
          (cd $${thisdir}; ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${mandir}/$${page}${manext}); \
        done
 
@@ -327,7 +351,7 @@ install-arch-indep: mkdir
 ### instead of mkdir.  Not all systems' mkdirs have the `-p' flag.
 mkdir: FRC.mkdir
        ./lib-src/make-path ${COPYDESTS} ${lockdir} ${infodir} ${mandir} \
-         ${bindir} ${datadir} ${libdir} \
+         ${bindir} ${datadir} ${docdir} ${libdir} \
          `echo ${locallisppath} | sed 's/:/ /'`
        -chmod 777 ${lockdir}
 
@@ -342,15 +366,17 @@ uninstall:
            prefix=${prefix} exec_prefix=${exec_prefix} \
            bindir=${bindir} libdir=${libdir} archlibdir=${archlibdir})
        for dir in ${lispdir} ${etcdir} ; do            \
-         case `(cd $${dir} ; pwd)` in                  \
-           `(cd ${srcdir} ; pwd)`* ) ;;                \
-           * ) rm -rf $${dir} ;;                       \
-         esac ;                                        \
-         case $${dir} in                               \
-           ${datadir}/emacs/${version}/* )             \
-             rm -rf ${datadir}/emacs/${version}        \
-           ;;                                          \
-         esac ;                                        \
+         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}      \
+             ;;                                        \
+           esac ;                                      \
+         fi ;                                          \
        done
        (cd ${infodir}; rm -f cl* emacs* forms* info* vip*)
        (cd ${mandir};  rm -f emacs.1 etags.1 ctags.1)
@@ -376,7 +402,7 @@ mostlyclean: FRC.mostlyclean
        (cd oldXMenu; $(MAKE) $(MFLAGS) mostlyclean)
        (cd lwlib;    $(MAKE) $(MFLAGS) mostlyclean)
        (cd lib-src;  $(MAKE) $(MFLAGS) mostlyclean)
-       -(cd man;     $(MAKE) $(MFLAGS) mostlyclean)
+       -(cd man &&   $(MAKE) $(MFLAGS) mostlyclean)
 
 ### `clean'
 ###      Delete all files from the current directory that are normally
@@ -391,7 +417,7 @@ clean: FRC.clean
        (cd oldXMenu; $(MAKE) $(MFLAGS) clean)
        (cd lwlib;    $(MAKE) $(MFLAGS) clean)
        (cd lib-src;  $(MAKE) $(MFLAGS) clean)
-       -(cd man;     $(MAKE) $(MFLAGS) clean)
+       -(cd man &&   $(MAKE) $(MFLAGS) clean)
 
 ### `distclean'
 ###      Delete all files from the current directory that are created by
@@ -408,7 +434,7 @@ distclean: FRC.distclean
        (cd oldXMenu; $(MAKE) $(MFLAGS) distclean)
        (cd lwlib;    $(MAKE) $(MFLAGS) distclean)
        (cd lib-src;  $(MAKE) $(MFLAGS) distclean)
-       (cd man;      $(MAKE) $(MFLAGS) distclean)
+       (cd man &&    $(MAKE) $(MFLAGS) distclean)
        ${top_distclean}
        
 
@@ -428,7 +454,7 @@ realclean: FRC.realclean
        (cd oldXMenu; $(MAKE) $(MFLAGS) realclean)
        (cd lwlib;    $(MAKE) $(MFLAGS) realclean)
        (cd lib-src;  $(MAKE) $(MFLAGS) realclean)
-       -(cd man;     $(MAKE) $(MFLAGS) realclean)
+       -(cd man &&   $(MAKE) $(MFLAGS) realclean)
        ${top_distclean}
 
 ### This doesn't actually appear in the coding standards, but Karl
@@ -481,8 +507,7 @@ relock:
        (cd src; $(MAKE) $(MFLAGS) relock)
 
 TAGS tags:     lib-src
-       (cd ${srcdir}/src; \
-        ../lib-src/etags *.[ch] ../lisp/*.el ../lisp/term/*.el)
+       cd ${srcdir}/src; $(MAKE) tags
 
 check:
        @echo "We don't have any tests for GNU Emacs yet."