(etags-tags-table-files, etags-tags-included-tables):
[bpt/emacs.git] / Makefile.in
index 3b27139..7061601 100644 (file)
@@ -82,12 +82,12 @@ datadir=@datadir@
 # runs.         These files are all architecture-independent. Right now, the
 # only such data is the locking directory; ${lockdir} is a
 # subdirectory of this.
-statedir=@statedir@
+sharedstatedir=@sharedstatedir@
 
 # Where to install and expect executable files to be run by Emacs
 # rather than directly by users, and other architecture-dependent
 # data.         ${archlibdir} is a subdirectory of this.
-libdir=@libdir@
+libexecdir=@libexecdir@
 
 # Where to install Emacs's man pages, and what extension they should have.
 mandir=@mandir@
@@ -99,6 +99,9 @@ manext=.1
 # system, it is inappropriate to imply that it is part of Emacs.
 infodir=@infodir@
 
+# Where to look for bitmap files.
+bitmapdir=@bitmapdir@
+
 # Where to find the source code.  The source code for Emacs's C kernel is
 # expected to be in ${srcdir}/src, and the source code for Emacs's
 # utility programs is expected to be in ${srcdir}/lib-src.  This is
@@ -135,7 +138,8 @@ lisppath=@lisppath@
 # building.  This is only used during the process of
 # compiling Emacs, to help Emacs find its lisp files
 # before they've been installed in their final location.
-# It's usually identical to lisppath, except that the
+# It's usually identical to lisppath, except that 
+# it does not include locallisppath, and the
 # entry for the directory containing the installed lisp
 # files has been replaced with ../lisp.  This should be a
 # colon-separated list of directories.
@@ -201,44 +205,49 @@ 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              \
+         sed < ${srcdir}/src/paths.h.in > 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_BITMAPS\).*$$;\1 "${bitmapdir}";'             \
          -e 's;\(#.*PATH_DOC\).*$$;\1 "${docdir}";'                    \
-         -e 's;\(#.*PATH_LOCK\).*$$;\1 "${lockdir}/";')
-       @${srcdir}/move-if-change src/paths.h.tmp src/paths.h
+         -e 's;\(#.*PATH_LOCK\).*$$;\1 "${lockdir}/";') &&             \
+       ${srcdir}/move-if-change 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.
+# paths.h.tmp$$$$, which isn't much.
 # Note that sed is not in /bin on 386bsd.
-paths-force: FRC.src.paths.h
+# We depend on src/paths.h here to prevent simultaneous execution of
+# that rule and this one, in a parallel make.
+# It is possible for paths.h to be updated twice--but that would happen anyway.
+paths-force: FRC src/paths.h
        @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              \
+         sed < ${srcdir}/src/paths.h.in > 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_BITMAPS\).*$$;\1 "${bitmapdir}";'             \
          -e 's;\(#.*PATH_DOC\).*$$;\1 "${docdir}";'                    \
-         -e 's;\(#.*PATH_LOCK\).*$$;\1 "${lockdir}/";')
-       @${srcdir}/move-if-change src/paths.h.tmp src/paths.h
+         -e 's;\(#.*PATH_LOCK\).*$$;\1 "${lockdir}/";') &&             \
+       ${srcdir}/move-if-change paths.h.tmp$$$$ src/paths.h
 
-src:   lib-src FRC.src src/paths.h
+src:   lib-src FRC 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
+lib-src: FRC src/paths.h
 
 .RECURSIVE: ${SUBDIR}
 
@@ -290,8 +299,8 @@ install: ${SUBDIR} install-arch-dep install-arch-indep blessmail;
 install-arch-dep: mkdir
        (cd lib-src; \
          $(MAKE) install $(MFLAGS) prefix=${prefix} \
-           exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} \
-           archlibdir=${archlibdir})
+           exec_prefix=${exec_prefix} bindir=${bindir} \
+           libexecdir=${libexecdir} archlibdir=${archlibdir})
        ${INSTALL_PROGRAM} src/emacs ${bindir}/emacs-${version}
        -chmod 1755  ${bindir}/emacs-${version}
        rm -f ${bindir}/$(EMACS)
@@ -299,6 +308,10 @@ install-arch-dep: mkdir
 
 ### Note that we copy the DOC-* files from the build etc directory
 ### as well as lots of things from ${srcdir}/etc.
+
+# These lines appeared after the second -set, but should be unnecessary.
+#       mkdir ${COPYDESTS} ; \
+#       chmod ugo+rx ${COPYDESTS} ; \
 install-arch-indep: mkdir
        -set ${COPYDESTS} ; \
         for dir in ${COPYDIR} ; do \
@@ -308,7 +321,6 @@ install-arch-indep: mkdir
           shift ; \
         done
        -set ${COPYDESTS} ; \
-        mkdir ${COPYDESTS} ; \
         for dir in ${COPYDIR} ; do \
           dest=$$1 ; shift ; \
           [ -d $${dir} ] \
@@ -322,10 +334,12 @@ install-arch-indep: mkdir
                 rm -f  $${subdir}/*~ ; \
               done) ; \
         done
+       -rm -f ${lispdir}/subdirs.el
+       ./update-subdirs ${lispdir}
        if [ `(cd ./etc; /bin/pwd)` != `(cd ${docdir}; /bin/pwd)` ]; \
        then \
-          echo "Copying etc/DOC* ..." ; \
-          (cd etc; tar -cf - DOC*)|(cd ${docdir}; umask 0; tar -xvf - ); \
+          echo "Copying etc/DOC-* ..." ; \
+          (cd etc; tar -cf - DOC-*)|(cd ${docdir}; umask 0; tar -xvf - ); \
        else true; fi
        thisdir=`/bin/pwd`; \
        if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \
@@ -344,11 +358,11 @@ install-arch-indep: mkdir
 
 ### Build all the directories we're going to install Emacs in. Since
 ### we may be creating several layers of directories (for example,
-### /usr/local/lib/emacs/19.0/mips-dec-ultrix4.2), we use make-path
+### /usr/local/lib/emacs/19.0/mips-dec-ultrix4.2), we use mkinstalldirs
 ### instead of mkdir.  Not all systems' mkdirs have the `-p' flag.
-mkdir: FRC.mkdir
-       ./lib-src/make-path ${COPYDESTS} ${lockdir} ${infodir} ${mandir} \
-         ${bindir} ${datadir} ${docdir} ${libdir} \
+mkdir: FRC
+       $(srcdir)/mkinstalldirs ${COPYDESTS} ${lockdir} ${infodir} ${mandir} \
+         ${bindir} ${datadir} ${docdir} ${libexecdir} \
          `echo ${locallisppath} | sed 's/:/ /g'`
        -chmod 777 ${lockdir}
 
@@ -361,7 +375,7 @@ uninstall:
        (cd lib-src;                                    \
         $(MAKE) $(MFLAGS) uninstall                    \
            prefix=${prefix} exec_prefix=${exec_prefix} \
-           bindir=${bindir} libdir=${libdir} archlibdir=${archlibdir})
+           bindir=${bindir} libexecdir=${libexecdir} archlibdir=${archlibdir})
        for dir in ${lispdir} ${etcdir} ; do            \
          if [ -d $${dir} ]; then                       \
            case `(cd $${dir} ; /bin/pwd)` in           \
@@ -377,13 +391,10 @@ uninstall:
        done
        (cd ${infodir}; rm -f cl* emacs* forms* info* vip*)
        (cd ${mandir};  rm -f emacs.1 etags.1 ctags.1)
-       (cd ${bindir};  rm -f emacs-${version} emacs)
+       (cd ${bindir};  rm -f emacs-${version} $(EMACS))
 
 
-### Some makes seem to remember that they've built something called FRC,
-### so you can only use a given FRC once per makefile.
-FRC FRC.src.paths.h FRC.src FRC.lib-src FRC.mkdir:
-FRC.mostlyclean FRC.clean FRC.distclean FRC.realclean:
+FRC:
 
 # ==================== Cleaning up and miscellanea ====================
 
@@ -394,7 +405,7 @@ FRC.mostlyclean FRC.clean FRC.distclean FRC.realclean:
 ###      normally don't want to recompile.  For example, the `mostlyclean'
 ###      target for GCC does not delete `libgcc.a', because recompiling it
 ###      is rarely necessary and takes a lot of time.
-mostlyclean: FRC.mostlyclean
+mostlyclean: FRC
        (cd src;      $(MAKE) $(MFLAGS) mostlyclean)
        (cd oldXMenu; $(MAKE) $(MFLAGS) mostlyclean)
        (cd lwlib;    $(MAKE) $(MFLAGS) mostlyclean)
@@ -409,7 +420,7 @@ mostlyclean: FRC.mostlyclean
 ###      with them.
 ### 
 ###      Delete `.dvi' files here if they are not part of the distribution.
-clean: FRC.clean
+clean: FRC
        (cd src;      $(MAKE) $(MFLAGS) clean)
        (cd oldXMenu; $(MAKE) $(MFLAGS) clean)
        (cd lwlib;    $(MAKE) $(MFLAGS) clean)
@@ -423,10 +434,10 @@ clean: FRC.clean
 ###      `make distclean' should leave only the files that were in the
 ###      distribution.
 top_distclean=\
-       rm -f config.status build-install ; \
+       rm -f config.status ; \
        rm -f Makefile ${SUBDIR_MAKEFILES} ; \
        (cd lock ; rm -f *)
-distclean: FRC.distclean
+distclean: FRC
        (cd src;      $(MAKE) $(MFLAGS) distclean)
        (cd oldXMenu; $(MAKE) $(MFLAGS) distclean)
        (cd lwlib;    $(MAKE) $(MFLAGS) distclean)
@@ -446,7 +457,7 @@ distclean: FRC.distclean
 ###      Makefile.  More generally, `make realclean' should not delete
 ###      anything that needs to exist in order to run `configure' and then
 ###      begin to build the program.
-realclean: FRC.realclean
+realclean: FRC
        (cd src;      $(MAKE) $(MFLAGS) realclean)
        (cd oldXMenu; $(MAKE) $(MFLAGS) realclean)
        (cd lwlib;    $(MAKE) $(MFLAGS) realclean)
@@ -475,7 +486,7 @@ extraclean:
 ### and VC will swiftly let you know if this happens, and it is easily
 ### corrected.
 SOURCES = ChangeLog GETTING.GNU.SOFTWARE INSTALL Makefile.in PROBLEMS \
-       README build-install.in configure make-dist move-if-change
+       README configure make-dist move-if-change
 
 .PHONY: unlock relock
 
@@ -510,6 +521,7 @@ check:
        @echo "We don't have any tests for GNU Emacs yet."
 
 dist:
+       ./update-subdirs ${srcdir}/lisp
        cd ${srcdir}; make-dist
 
 .PHONY: info dvi dist check