(install-doc): New target.
[bpt/emacs.git] / lib-src / Makefile.in
index d8650dc..6c9abec 100644 (file)
-# DIST: This is the distribution Makefile for Emacs.  configure can
-# DIST: make most of the changes to this file you might want, so try
-# DIST: that first.
-
-# add -DUSG for SysV movemail and timer
-# For Xenix, add the following for movemail:
-#  LOADLIBES= -lx
-# For Mips, the following is needed for who knows what.
-#  LOADLIBES = -lmld /usr/bsd43/usr/lib/libc.a
-
-# Avoid trouble on systems where the `SHELL' variable might be
-# inherited from the environment.
+/* Makefile for lib-src subdirectory in GNU Emacs.
+   Copyright (C) 1985, 1987, 1988, 1993, 1994 Free Software Foundation, Inc.
+
+This file is part of GNU Emacs.
+
+GNU Emacs is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Emacs is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+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, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+#define NO_SHORTNAMES
+#define THIS_IS_YMAKEFILE
+#define NOT_C_CODE
+#include "../src/config.h"
+
+/* Some s/*.h files define this to request special libraries.  */
+#ifndef LIBS_SYSTEM
+#define LIBS_SYSTEM
+#endif
+
+/* Some m/*.h files define this to request special libraries.  */
+#ifndef LIBS_MACHINE
+#define LIBS_MACHINE
+#endif
+
+#undef MOVEMAIL_NEEDS_BLESSING
+#ifndef MAIL_USE_FLOCK
+#ifndef MAIL_USE_LOCKF
+#define MOVEMAIL_NEEDS_BLESSING
+#endif
+#endif
+
+#ifdef MOVEMAIL_NEEDS_BLESSING
+#define BLESSMAIL blessmail
+#else
+#define BLESSMAIL
+#endif
+
+/* Avoid trouble on systems where the `SHELL' variable might be
+   inherited from the environment.  */
 SHELL = /bin/sh
 
-# ==================== Things `configure' will edit ====================
+/* ==================== Things `configure' will edit ==================== */
 
 CC=@CC@
 CFLAGS=@CFLAGS@
 ALLOCA=@ALLOCA@
 C_SWITCH_SYSTEM=@c_switch_system@
 C_SWITCH_MACHINE=@c_switch_machine@
-LOADLIBES=@libsrc_libs@
+LOADLIBES=LIBS_SYSTEM LIBS_MACHINE
 YACC=@YACC@
 version=@version@
 configname=@configuration@
 
-# ==================== Where To Install Things ====================
+/* ==================== Where To Install Things ==================== */
 
-# The default location for installation.  Everything is placed in
-# subdirectories of this directory.  The default values for many of
-# the variables below are expressed in terms of this one, so you may
-# not need to change them.  This is set with the --prefix option to
-# `../configure'.
+/* The default location for installation.  Everything is placed in
+   subdirectories of this directory.  The default values for many of
+   the variables below are expressed in terms of this one, so you may
+   not need to change them.  This is set with the --prefix option to
+   `../configure'.  */
 prefix=@prefix@
 
-# Like `prefix', but used for architecture-specific files.  This is
-# set with the --exec-prefix option to `../configure'.
+/* Like `prefix', but used for architecture-specific files.  This is
+   set with the --exec-prefix option to `../configure'.  */
 exec_prefix=@exec_prefix@
 
-# Where to install Emacs and other binaries that people will want to
-# run directly (like etags).  This is set with the --bindir option
-# to `../configure'.
+/* Where to install Emacs and other binaries that people will want to
+   run directly (like etags).  This is set with the --bindir option
+   to `../configure'.  */
 bindir=@bindir@
 
-# Where to install and expect executable files to be run by Emacs
-# rather than directly by users, and other architecture-dependent
-# data.  ${archlibdir} is usually below this.  This is set with the
-# --libdir option to `../configure'.
+/* Where to install and expect executable files to be run by Emacs
+   rather than directly by users, and other architecture-dependent
+   data.  ${archlibdir} is usually below this.  This is set with the
+   --libdir option to `../configure'.  */
 libdir=@libdir@
 
-# Where to find the source code.  This is set by the configure
-# script's `--srcdir' option.  However, the value of ${srcdir} in
-# this makefile is not identical to what was specified with --srcdir,
-# since the variable here has `/lib-src' added at the end.
+/* Where to find the source code.  This is set by the configure
+   script's `--srcdir' option.  However, the value of ${srcdir} in
+   this makefile is not identical to what was specified with --srcdir,
+   since the variable here has `/lib-src' added at the end.  */
 srcdir=@srcdir@
 VPATH=@srcdir@
 
-# ==================== Emacs-specific directories ====================
+/* ==================== Emacs-specific directories ==================== */
 
-# These variables hold the values Emacs will actually use.  They are
-# based on the values of the standard Make variables above.
+/* These variables hold the values Emacs will actually use.  They are
+   based on the values of the standard Make variables above.  */
 
-# Where to put executables to be run by Emacs rather than the user.
-# This path usually includes the Emacs version and configuration name,
-# so that multiple configurations for multiple versions of Emacs may
-# be installed at once.  This can be set with the --archlibdir option
-# to `../configure'.
+/* Where to put executables to be run by Emacs rather than the user.
+   This path usually includes the Emacs version and configuration name,
+   so that multiple configurations for multiple versions of Emacs may
+   be installed at once.  This can be set with the --archlibdir option
+   to `../configure'.  */
 archlibdir=@archlibdir@
 
-# ==================== Utility Programs for the Build ====================
+/* ==================== Utility Programs for the Build ================= */
 
-# ../configure figures out the correct values for these.
+/* ../configure figures out the correct values for these.  */
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
 
-# ============================= Targets ==============================
+/* ============================= Targets ============================== */
 
-# Things that a user might actually run, which should be installed in bindir.
+/* Things that a user might actually run,
+   which should be installed in bindir.  */
 INSTALLABLES = etags ctags emacsclient b2m
 INSTALLABLE_SCRIPTS = rcs-checkin
 
-# Things that Emacs runs internally, or during the build process,
-# which should not be installed in bindir.
+/* Things that Emacs runs internally, or during the build process,
+   which should not be installed in bindir.  */
 UTILITIES= test-distrib make-path wakeup profile make-docfile digest-doc \
-       sorted-doc movemail cvtmail fakemail yow env emacsserver hexl timer
+       sorted-doc movemail cvtmail fakemail yow emacsserver hexl timer
 
-# Like UTILITIES, but they're not system-dependent, and should not be
-# deleted by the distclean target.
+/* Like UTILITIES, but they're not system-dependent, and should not be
+   deleted by the distclean target.  */
 SCRIPTS= rcs2log vcdiff
 
 EXECUTABLES= ${UTILITIES} ${INSTALLABLES} ${SCRIPTS} ${INSTALLABLE_SCRIPTS}
@@ -94,49 +132,60 @@ EXECUTABLES= ${UTILITIES} ${INSTALLABLES} ${SCRIPTS} ${INSTALLABLE_SCRIPTS}
 SOURCES = COPYING ChangeLog Makefile.in README aixcc.lex emacs.csh \
        makedoc.com *.[chy] rcs2log vcdiff
 
-### We need to #define emacs to get the right versions of some files.
-### Some other files - those shared with other GNU utilities - need
-### HAVE_CONFIG_H #defined before they know they can take advantage of
-### the information in ../src/config.h.
+/* We need to #define emacs to get the right versions of some files.
+   Some other files - those shared with other GNU utilities - need
+   HAVE_CONFIG_H #defined before they know they can take advantage of
+   the information in ../src/config.h.  */
 ALL_CFLAGS = ${C_SWITCH_SYSTEM} ${C_SWITCH_MACHINE} -Demacs -DHAVE_CONFIG_H \
    -I. -I../src -I${srcdir} -I${srcdir}/../src ${LDFLAGS} ${CPPFLAGS} ${CFLAGS}
 LINK_CFLAGS = ${C_SWITCH_SYSTEM} ${C_SWITCH_MACHINE} -Demacs -DHAVE_CONFIG_H \
    -I. -I../src -I${srcdir} -I${srcdir}/../src ${LDFLAGS} ${CFLAGS}
 CPP_CFLAGS = ${C_SWITCH_SYSTEM} ${C_SWITCH_MACHINE} -Demacs -DHAVE_CONFIG_H \
    -I. -I../src -I${srcdir} -I${srcdir}/../src ${CPPFLAGS} ${CFLAGS}
-# This is the default compilation command.
-# But we should never rely on it, because some make version
-# failed to find it for getopt.o.  Using an explicit command made it work.
+\f
+/* This is the default compilation command.
+   But we should never rely on it, because some make version
+   failed to find it for getopt.o.
+   Using an explicit command made it work.  */
 .c.o:
        ${CC} -c ${CPP_CFLAGS} $<
 
 all: ${UTILITIES} ${INSTALLABLES}
 
-### Install the internal utilities.  Until they are installed, we can
-### just run them directly from lib-src.
-${archlibdir}: all
+#ifdef MOVEMAIL_NEEDS_BLESSING
+blessmail: ../src/temacs
+       ../src/temacs -batch -l blessmail.el
+       chmod +x blessmail
+#endif
+
+/* Install the internal utilities.  Until they are installed, we can
+   just run them directly from lib-src.  */
+${archlibdir}: all BLESSMAIL
        @echo
        @echo "Installing utilities run internally by Emacs."
        ./make-path ${archlibdir}
        if [ `(cd ${archlibdir} && /bin/pwd)` != `/bin/pwd` ]; then \
          for file in ${UTILITIES}; do \
-           $(INSTALL_PROGRAM) $$file ${archlibdir}/$$file ; \
+           (cd ..; $(INSTALL_PROGRAM) lib-src/$$file ${archlibdir}/$$file) ; \
          done ; \
          for file in ${SCRIPTS}; do \
-           $(INSTALL_PROGRAM) ${srcdir}/$$file ${archlibdir}/$$file ; \
+           (cd ..; $(INSTALL_PROGRAM) ${srcdir}/$$file ${archlibdir}/$$file); \
          done ; \
        fi
+#ifdef MOVEMAIL_NEEDS_BLESSING
+       ./blessmail ${archlibdir}/movemail
+#endif
 
-# We don't need to install `wakeup' explicitly, because it will be copied when
-# this whole directory is copied.
+/* We don't need to install `wakeup' explicitly, because it will be
+   copied when this whole directory is copied.  */
 install: ${archlibdir}
        @echo
        @echo "Installing utilities for users to run."
        for file in ${INSTALLABLES} ; do \
-         $(INSTALL_PROGRAM) $${file} ${bindir}/$${file} ; \
+         (cd ..; $(INSTALL_PROGRAM) lib-src/$${file} ${bindir}/$${file}) ; \
        done
        for file in ${INSTALLABLE_SCRIPTS} ; do \
-         $(INSTALL_PROGRAM) ${srcdir}/$${file} ${bindir}/$${file} ; \
+         (cd ..; $(INSTALL_PROGRAM) ${srcdir}/$${file} ${bindir}/$${file}) ; \
        done
 
 uninstall:
@@ -166,17 +215,17 @@ unlock:
 relock:
        chmod u-w $(SOURCES)
 
-# Test the contents of the directory.
+/* Test the contents of the directory.  */
 check:
        @echo "We don't have any tests for GNU Emacs yet."
 
 TAGS: etags
        etags *.[ch]
 
-# This verifies that the non-ASCII characters in the file `testfile'
-# have not been clobbered by whatever means were used to copy and
-# distribute Emacs.  If they were clobbered, all the .elc files were
-# clobbered too.
+/* This verifies that the non-ASCII characters in the file `testfile'
+   have not been clobbered by whatever means were used to copy and
+   distribute Emacs.  If they were clobbered, all the .elc files were
+   clobbered too.  */
 test-distrib: ${srcdir}/test-distrib.c
        $(CC) -o test-distrib ${srcdir}/test-distrib.c
        ./test-distrib ${srcdir}/testfile
@@ -189,12 +238,12 @@ getopt1.o: ${srcdir}/getopt1.c ${srcdir}/getopt.h
        ${CC} -c ${CPP_CFLAGS} ${srcdir}/getopt1.c
 
 etags: ${srcdir}/etags.c $(GETOPTDEPS) ../src/config.h
-       $(CC) ${ALL_CFLAGS} -DETAGS ${srcdir}/etags.c $(GETOPTOBJS) $(LOADLIBES) -o etags
+       $(CC) ${ALL_CFLAGS} -DVERSION="\"${version}\"" ${srcdir}/etags.c $(GETOPTOBJS) $(LOADLIBES) -o etags
 
-# We depend on etags to assure that parallel makes don't write two
-# etags.o files on top of each other.
+/* We depend on etags to assure that parallel makes don't write two
+   etags.o files on top of each other.  */
 ctags: ${srcdir}/etags.c $(GETOPTDEPS) etags
-       $(CC) ${ALL_CFLAGS} -DCTAGS ${srcdir}/etags.c $(GETOPTOBJS) $(LOADLIBES) -o ctags
+       $(CC) ${ALL_CFLAGS} -DCTAGS -DVERSION="\"${version}\"" ${srcdir}/etags.c $(GETOPTOBJS) $(LOADLIBES) -o ctags
 
 wakeup: ${srcdir}/wakeup.c
        $(CC) ${ALL_CFLAGS} ${srcdir}/wakeup.c $(LOADLIBES) -o wakeup
@@ -226,9 +275,6 @@ fakemail: ${srcdir}/fakemail.c ../src/config.h
 yow: ${srcdir}/yow.c ../src/paths.h
        $(CC) ${ALL_CFLAGS} ${srcdir}/yow.c $(LOADLIBES) -o yow
 
-env: ${srcdir}/env.c ../src/config.h
-       $(CC) -DEMACS ${ALL_CFLAGS} ${srcdir}/env.c $(LOADLIBES) -o env
-
 emacsserver: ${srcdir}/emacsserver.c ../src/config.h
        $(CC) ${ALL_CFLAGS} ${srcdir}/emacsserver.c $(LOADLIBES) -o emacsserver
 
@@ -251,13 +297,13 @@ timer: ${TIMEROBJS}
 make-path: ${srcdir}/make-path.c ../src/config.h
        $(CC) $(ALL_CFLAGS) ${srcdir}/make-path.c -o make-path
 
-# These are NOT included in INSTALLABLES or UTILITIES.
-# See ../src/ymakefile.
+/* These are NOT included in INSTALLABLES or UTILITIES.
+   See ../src/ymakefile.  */
 emacstool: ${srcdir}/emacstool.c
        $(CC) ${srcdir}/emacstool.c -o emacstool ${ALL_CFLAGS} \
          -lsuntool -lsunwindow -lpixrect $(LOADLIBES)
 
-# For SUN Japanese Language Environment
+/* For SUN Japanese Language Environment.  */
 nemacstool: ${srcdir}/emacstool.c
        $(CC) -o nemacstool -DJLE ${ALL_CFLAGS} ${srcdir}/emacstool.c \
          -lsuntool -lmle -lsunwindow -lpixrect $(LOADLIBES)