-# 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}
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:
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
${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
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
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)