update.
[chise/xemacs-chise.git.1] / Makefile.in.in
index cb71002..e4bbc74 100644 (file)
 #include "src/config.h"
 
 #ifdef USE_GNU_MAKE
-RECURSIVE_MAKE=$(MAKE)
+RECURSIVE_MAKE_ARGS=
 #else
 @SET_MAKE@
-RECURSIVE_MAKE=@RECURSIVE_MAKE@
+RECURSIVE_MAKE_ARGS=@RECURSIVE_MAKE_ARGS@
 #endif
 
 SHELL = /bin/sh
@@ -74,6 +74,7 @@ CPP=@CPP@
 LN_S=@LN_S@
 CFLAGS=@CFLAGS@
 CPPFLAGS=@CPPFLAGS@
+LDFLAGS=@LDFLAGS@
 
 ## These help us choose version- and architecture-specific directories
 ## to install files in.
@@ -123,7 +124,6 @@ pkgdir=@pkgdir@
 ## Where to install and expect the files that XEmacs modifies as it 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@
 
 ## Where to install and expect executable files to be run by XEmacs
@@ -199,11 +199,6 @@ buildlispdir=${srcdir}/lisp
 ## at once.
 etcdir=@etcdir@
 
-## Where to create and expect the locking directory, where
-## the XEmacs locking code keeps track of which files are
-## currently being edited.
-lockdir=@lockdir@
-
 ## Where to put the DOC file.
 docdir=@docdir@
 
@@ -245,8 +240,13 @@ INSTALL_ARCH_DEP_SUBDIR = @INSTALL_ARCH_DEP_SUBDIR@
 ## When installing the info files, we need to do special things to
 ## avoid nuking an existing dir file, so we don't do that here;
 ## instead, we have written out explicit code in the `install' targets.
+#ifdef HAVE_CHISE
 COPYDIR = ${srcdir}/etc ${srcdir}/lisp
 COPYDESTS = ${etcdir} ${lispdir}
+#else
+COPYDIR = ${srcdir}/etc ${srcdir}/lisp
+COPYDESTS = ${etcdir} ${lispdir}
+#endif
 GENERATED_HEADERS = src/paths.h src/Emacs.ad.h src/config.h lwlib/config.h src/sheap-adjust.h
 GENERATED_LISP = lisp/finder-inf.el
 
@@ -283,51 +283,65 @@ ${srcdir}/configure : ${srcdir}/configure.in
 ${srcdir}/lib-src/config.values.in : ${srcdir}/configure
        cd ${srcdir} && $(SHELL) lib-src/config.values.sh
 
-depend ${srcdir}/src/depend :
-       cd ${srcdir}/src && $(RECURSIVE_MAKE) depend
+depend ${srcdir}/src/depend:
+       cd ./src && $(MAKE) $(RECURSIVE_MAKE_ARGS) depend
 
 ## Build XEmacs and recompile out-of-date and missing .elc files along
 ## the way.
-all-elc all-elcs: lib-src lwlib dump-elcs src
-       MAKE='$(MAKE)' EMACS='./src/$(PROGNAME)' $(SHELL) ${srcdir}/lib-src/update-elc.sh
+all-elc all-elcs: ${PROGNAME} autoloads dump-elcs
+       ${blddir}/src/${PROGNAME} -batch -vanilla \
+               -l update-elc-2.el -f batch-update-elc-2 lisp
+#ifdef UTF2000
+       ${blddir}/src/${PROGNAME} -batch -vanilla \
+               -l update-elc-2.el -f batch-update-elc-2 lisp/utf-2000
+#endif
 
 ## Sub-target for all-elc.
-dump-elc dump-elcs: ${GENERATED_HEADERS} FRC.dump-elcs
-       cd ./src && $(RECURSIVE_MAKE) dump-elcs
+dump-elc dump-elcs: ${PROGNAME} ${GENERATED_HEADERS} FRC.dump-elcs
+       cd ./src && $(MAKE) $(RECURSIVE_MAKE_ARGS) dump-elcs
 
-autoloads: lisp/auto-autoloads.el lisp/custom-load.el
+autoloads: lib-src lwlib src lisp/auto-autoloads.el lisp/custom-load.el
 
 FRC.lisp.auto.autoloads.el:
-lisp/auto-autoloads.el:        FRC.lisp.auto.autoloads.el
-       rm -f lisp/auto-autoloads.el
-       ${blddir}/src/${PROGNAME} -batch -vanilla \
+lisp/auto-autoloads.el:        ${PROGNAME} FRC.lisp.auto.autoloads.el
+       $(RM) lisp/auto-autoloads.el
+       ${blddir}/src/${PROGNAME} -batch -no-autoloads \
                -l autoload -f batch-update-directory lisp
        ${blddir}/src/${PROGNAME} -batch -vanilla \
                -f batch-byte-compile lisp/auto-autoloads.el
-       @rm -f lisp/auto-autoloads.el~
+       @$(RM) lisp/auto-autoloads.el~
 #ifdef MULE
-       rm -f lisp/mule/auto-autoloads.el
+       $(RM) lisp/mule/auto-autoloads.el
        ${blddir}/src/${PROGNAME} -batch -vanilla \
                -l autoload -f batch-update-directory lisp/mule
        ${blddir}/src/${PROGNAME} -batch -vanilla \
                -f batch-byte-compile lisp/mule/auto-autoloads.el
-       @rm -f lisp/mule/auto-autoloads.el~
+       @$(RM) lisp/mule/auto-autoloads.el~
+#endif
+#ifdef UTF2000
+       $(RM) lisp/utf-2000/auto-autoloads.el
+       ${blddir}/src/${PROGNAME} -batch -vanilla \
+               -l autoload -f batch-update-directory lisp/utf-2000
+       ${blddir}/src/${PROGNAME} -batch -vanilla \
+               -f batch-byte-compile lisp/utf-2000/auto-autoloads.el
+       @$(RM) lisp/utf-2000/auto-autoloads.el~
 #endif
 
 FRC.lisp.custom.load.el:
-lisp/custom-load.el: FRC.lisp.custom.load.el
+lisp/custom-load.el: ${PROGNAME} FRC.lisp.custom.load.el lisp/auto-autoloads.el
        ${blddir}/src/${PROGNAME} -batch -vanilla -l cus-dep \
                -f Custom-make-dependencies lisp
 
 finder: src
        @echo "Building finder database ..."
+       $(RM) lisp/finder-inf.el
        @(cd ./lisp; \
                ${blddir}/src/${PROGNAME} -batch -vanilla \
                -eval '(setq finder-compile-keywords-quiet t)' \
                -l finder -f finder-compile-keywords )
        @echo "Building finder database ...(done)"
 
-lisp/finder-inf.el:
+lisp/finder-inf.el: src
        @echo "Building finder database ..."
        @(cd ./lisp; \
                ${blddir}/src/${PROGNAME} -batch -vanilla \
@@ -362,9 +376,12 @@ FRC.src FRC.lib-src FRC.lwlib FRC.dynodump pkg-src/FRC.tree-x:
 FRC.lisp.finder-inf.el:
 
 ${SUBDIR}: ${SUBDIR_MAKEFILES} ${GENERATED_HEADERS} FRC
-       cd ./$@ && $(RECURSIVE_MAKE) all
+       cd ./$@ && $(MAKE) $(RECURSIVE_MAKE_ARGS) all
 
-Makefile: ${srcdir}/Makefile.in config.status
+## Building modules depends on ellcc, found in lib-src.
+modules/sample modules/ldap modules/zlib modules/base64: lib-src
+
+Makefile: ${srcdir}/Makefile.in.in config.status
        ./config.status
 
 src/Makefile: ${srcdir}/src/Makefile.in.in ${srcdir}/src/depend config.status
@@ -423,7 +440,7 @@ install: all check-features install-arch-dep install-arch-indep
 
 install-arch-dep: mkdir
        for subdir in ${INSTALL_ARCH_DEP_SUBDIR}; do \
-       (cd ./$${subdir} && $(RECURSIVE_MAKE) install prefix=${prefix} \
+       (cd ./$${subdir} && $(MAKE) $(RECURSIVE_MAKE_ARGS) install prefix=${prefix} \
            exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} \
            archlibdir=${archlibdir}) ; done
        if test "`(cd ${archlibdir} && $(pwd))`" != \
@@ -439,18 +456,20 @@ install-arch-dep: mkdir
 #ifdef PDUMP
        ${INSTALL_DATA} src/${PROGNAME}.dmp ${bindir}/${PROGNAME}-${version}-`src/${PROGNAME} -sd`.dmp
 #endif
-#ifdef WINDOWSNT
+#ifdef WIN32_NATIVE
        ${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}
        -chmod 0755 ${bindir}/${PROGNAME}
 #else
-       ${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}-${version}
-       -chmod 0755 ${bindir}/${PROGNAME}-${version}
-# ifdef __CYGWIN32__
+# ifdef CYGWIN
+       ${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}-${version}.exe
+       -chmod 0755 ${bindir}/${PROGNAME}-${version}.exe
        cd ${bindir} && $(RM) ./${PROGNAME} && ${LN_S} ${PROGNAME}-${version}.exe ./${PROGNAME}
 # else
+       ${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}-${version}
+       -chmod 0755 ${bindir}/${PROGNAME}-${version}
        cd ${bindir} && $(RM) ./${PROGNAME} && ${LN_S} ${PROGNAME}-${version} ./${PROGNAME}
-# endif /* __CYGWIN32__ */
-#endif /* WINDOWSNT */
+# endif /* CYGWIN */
+#endif /* WIN32_NATIVE */
        if test "${prefix}" != "${exec_prefix}"; then \
          $(MAKEPATH) ${exec_prefix}/lib/${instvardir}; \
          for dir in \
@@ -504,6 +523,31 @@ install-arch-indep: mkdir info
            ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${mandir}/$${page}${manext} ; \
            chmod 0644 ${mandir}/$${page}${manext} ; \
          done
+#ifdef HAVE_LIBCHISE
+       ${blddir}/src/${PROGNAME} -batch -vanilla -eval "\
+(let ((path (expand-file-name \"db\" chise-db-directory))\
+      (data-dir \"${etcdir}/chise-db\")\
+      (i 0)\
+      (default-directory chise-db-directory)\
+      len chise-dir pre)\
+  (if (file-exists-p chise-db-directory)\
+      (if (file-exists-p path)\
+         (delete-file path))\
+    (make-directory chise-db-directory t))\
+  (setq len (min (length data-dir) (length path)))\
+  (while (and (< i len)\
+             (eq (aref path i) (aref data-dir i)))\
+    (setq i (1+ i)))\
+  (setq data-dir (substring data-dir i))\
+  (setq chise-dir (substring path i))\
+  (setq i 0)\
+  (setq len (length chise-dir))\
+  (while (< i len)\
+    (if (eq (aref chise-dir i) ?/)\
+       (setq pre (concat pre \"../\")))\
+    (setq i (1+ i)))\
+  (make-symbolic-link (concat pre data-dir) path t))"
+#endif
        @echo "If you would like to save approximately 2M of disk space, do"
        @echo "make gzip-el"
        @echo "or you may run "
@@ -519,10 +563,9 @@ gzip-el:
 ## (e.g. /usr/local/lib/${PROGNAME}-20.5/sparc-sun-solaris2.6), we use
 ## make-path instead of mkdir.  Not all mkdirs have the `-p' flag.
 mkdir: FRC.mkdir
-       ${MAKEPATH} ${COPYDESTS} ${lockdir} ${docdir} ${infodir} ${archlibdir} \
+       ${MAKEPATH} ${COPYDESTS} ${docdir} ${infodir} ${archlibdir} \
          ${mandir} ${bindir} ${datadir} ${libdir} ${pkgdir} \
          ${sitelispdir} ${moduledir} ${sitemoduledir}
-       -chmod 0777 ${lockdir}
 
 ## Delete all the installed files that the `install' target would
 ## create (but not the noninstalled files such as `make all' would
@@ -533,7 +576,7 @@ mkdir: FRC.mkdir
 #### would be extremely dangerous for anyone to use it.
 ##uninstall:
 ##     (cd ./lib-src;                                  \
-##      $(RECURSIVE_MAKE) uninstall                    \
+##      $(MAKE) $(RECURSIVE_MAKE_ARGS) uninstall                       \
 ##         prefix=${prefix} exec_prefix=${exec_prefix} \
 ##         bindir=${bindir} libdir=${libdir} archlibdir=${archlibdir})
 ##     for dir in ${lispdir} ${etcdir} ; do            \
@@ -567,7 +610,7 @@ FRC.mostlyclean FRC.clean FRC.distclean FRC.realclean FRC.tags:
 ##      target for GCC does not delete `libgcc.a', because recompiling it
 ##      is rarely necessary and takes a lot of time.
 mostlyclean: FRC.mostlyclean
-       for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
+       for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
 
 ## `clean'
 ##      Delete all files from the current directory that are normally
@@ -578,7 +621,7 @@ mostlyclean: FRC.mostlyclean
 
 ##      Delete `.dvi' files here if they are not part of the distribution.
 clean: FRC.clean
-       for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
+       for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
        $(RM) core
 
 ## `distclean'
@@ -594,7 +637,7 @@ top_distclean=\
        $(RM) -r site-packages xemacs-packages mule-packages site-lisp
 
 distclean: FRC.distclean
-       for d in $(SUBDIR_DISTCLEAN); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
+       for d in $(SUBDIR_DISTCLEAN); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
        -${top_distclean}
 
 ## `realclean'
@@ -609,7 +652,7 @@ distclean: FRC.distclean
 ##      anything that needs to exist in order to run `configure' and then
 ##      begin to build the program.
 realclean: FRC.realclean
-       for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
+       for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
        -${top_distclean}
        $(RM) TAGS
 
@@ -618,7 +661,7 @@ realclean: FRC.realclean
 ## the coding standards seem to come from.  It's like distclean, but
 ## it deletes backup and autosave files too.
 extraclean:
-       for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
+       for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
        $(RM) *~ \#*
        -${top_distclean}
 
@@ -640,7 +683,7 @@ SOURCES = ChangeLog GETTING.GNU.SOFTWARE INSTALL Makefile.in PROBLEMS \
 unlock:
        chmod u+w $(SOURCES) cpp/*
        -cd ./elisp && chmod u+w Makefile README *.texi
-       for d in src etc lib-src lisp; do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
+       for d in src etc lib-src lisp; do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
        cd ./lisp/term && chmod u+w README *.el
        cd ./man && chmod u+w *texi* ChangeLog split-man
        cd ./lwlib && chmod u+w *.[ch] Makefile.in.in
@@ -648,7 +691,7 @@ unlock:
 relock:
        chmod u-w $(SOURCES) cpp/*
        -cd ./elisp && chmod u-w Makefile README *.texi
-       for d in src etc lib-src lisp; do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
+       for d in src etc lib-src lisp; do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
        cd ./lisp/term && chmod u+w README *.el
        cd ./man && chmod u+w *texi* ChangeLog split-man
        cd ./lwlib && chmod u+w *.[ch] Makefile.in.in
@@ -667,13 +710,13 @@ TAGS tags: FRC.tags
          xargs etags -a -l none -r "/^(def\\(var\\|un\\|alias\\|const\\|macro\\|subst\\|struct\\|face\\|group\\|custom\\|ine-\\(function\\|compiler-macro\\|[a-z-]+alias\\)\\)[        ]+'?\\([^       ]+\\)/\\3/"
 
 check:
-       cd ./src && $(RECURSIVE_MAKE) $@
+       cd ./src && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@
 
 info: FRC.info
-       cd ${srcdir}/man && $(RECURSIVE_MAKE) $@
+       cd ${srcdir}/man && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@
 
 dvi:
-       cd ${srcdir}/man && $(RECURSIVE_MAKE) $@
+       cd ${srcdir}/man && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@
 
 ## Fix up version information in executables (Solaris-only)
 mcs: