-# ========================== start of cpp stuff =======================
-/* From here on, comments must be done in C syntax. */
-
-#define THIS_IS_MAKEFILE
-#define NOT_C_CODE
-#include "../src/config.h"
-
-/* Some s/SYSTEM.h files define this to request special libraries. */
-#ifndef LIBS_SYSTEM
-#define LIBS_SYSTEM
-#endif
-
-/* Some m/MACHINE.h files define this to request special libraries. */
-#ifndef LIBS_MACHINE
-#define LIBS_MACHINE
-#endif
-
-#ifndef C_SWITCH_SYSTEM
-#define C_SWITCH_SYSTEM
-#endif
-
-#ifndef C_SWITCH_MACHINE
-#define C_SWITCH_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
-
-#ifdef KERBEROS
-# ifdef HAVE_LIBKRB
- KRB4LIB = -lkrb
-# else
-# ifdef HAVE_LIBKRB4
- KRB4LIB = -lkrb4
-# endif
-# endif
-# ifdef HAVE_LIBDES
- DESLIB = -ldes
-# else
-# ifdef HAVE_LIBDES425
- DESLIB = -ldes425
-# endif
-# endif
-# ifdef HAVE_LIBKRB5
- KRB5LIB = -lkrb5
-# endif
-# ifdef HAVE_LIBK5CRYPTO
- CRYPTOLIB = -lk5crypto
-# else
-# ifdef HAVE_LIBCRYPTO
- CRYPTOLIB = -lcrypto
-# endif
-# endif
-# ifdef HAVE_LIBCOM_ERR
- COM_ERRLIB = -lcom_err
-# endif
-#endif /* KERBEROS */
-
-/* If HESIOD is defined, set this to "-lhesiod". */
-#ifdef HAVE_LIBHESIOD
-# ifdef HAVE_LIBRESOLV
- HESIODLIB= -lhesiod -lresolv
-# else
- HESIODLIB= -lhesiod
-# endif
-#endif
-
-LIBS_MOVE=$(KRB4LIB) $(DESLIB) $(KRB5LIB) $(CRYPTOLIB) $(COM_ERRLIB) $(HESIODLIB)
-
-#ifdef HAVE_LIBLOCKFILE
-LIBS_MAIL=-llockfile
-#else
-#ifdef HAVE_LIBMAIL
-LIBS_MAIL=-lmail
-#endif
-#endif
-
-LOADLIBES=LIBS_SYSTEM LIBS_MACHINE
-
-/* 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 -DHAVE_CONFIG_H \
- -I. -I../src -I${srcdir} -I${srcdir}/../src ${LDFLAGS} ${CPPFLAGS} ${CFLAGS}
-LINK_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -DHAVE_CONFIG_H \
- -I. -I../src -I${srcdir} -I${srcdir}/../src ${LDFLAGS} ${CFLAGS}
-CPP_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -DHAVE_CONFIG_H \
- -I. -I../src -I${srcdir} -I${srcdir}/../src ${CPPFLAGS} ${CFLAGS}
-/* This was all of CPP_CFLAGS except -Demacs.
- Now that -Demacs has been deleted from CPP_CFLAGS,
- this is actually the same as CPP_CFLAGS, but let\'s not delete it yet. */
-BASE_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -DHAVE_CONFIG_H \
- -I. -I../src -I${srcdir} -I${srcdir}/../src ${CPPFLAGS} ${CFLAGS}
-\f
-.SUFFIXES: .m
-
-/* 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} $<
-
-.m.o:
- $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $<
-
-all: ${DONT_INSTALL} ${UTILITIES} ${INSTALLABLES} ${SCRIPTS} ${INSTALLABLE_SCRIPTS}
-
-/* These targets copy the scripts into the build directory
-so that they can be run from there in an uninstalled Emacs.
-The "-" is prepended because some versions of cp barf when
-srcdir is the current directory, and thus the file will be
-copied into itself. */
-rcs2log: $(srcdir)/rcs2log
- -cp -p $(srcdir)/rcs2log rcs2log
-
-rcs-checkin: $(srcdir)/rcs-checkin
- -cp -p $(srcdir)/rcs-checkin rcs-checkin
-
-grep-changelog: $(srcdir)/grep-changelog
- -cp -p $(srcdir)/grep-changelog grep-changelog
-
-vcdiff: $(srcdir)/vcdiff
- -cp -p $(srcdir)/vcdiff vcdiff
-
-#ifdef MOVEMAIL_NEEDS_BLESSING
+## Empty if either MAIL_USE_FLOCK or MAIL_USE_LOCKF, else need-blessmail.
+BLESSMAIL_TARGET=@BLESSMAIL_TARGET@
+
+## -lkrb if HAVE_LIBKRB or -lkrb4 if HAVE_LIBKRB4
+KRB4LIB=@KRB4LIB@
+## -ldes if HAVE_LIBDES or -ldes425 if HAVE_LIBDES425
+DESLIB=@DESLIB@
+## -lkrb5 if HAVE_LIBKRB5
+KRB5LIB=@KRB5LIB@
+## -lk5crypto if HAVE_LIBK5CRYPTO or -lcrypto if HAVE_LIBCRYPTO
+CRYPTOLIB=@CRYPTOLIB@
+## -lcom_err if HAVE_LIBCOM_ERR
+COM_ERRLIB=@COM_ERRLIB@
+## -lhesiod if HAVE_LIBHESIOD
+LIBHESIOD=@LIBHESIOD@
+## -lresolv if HAVE_LIBRESOLV
+LIBRESOLV=@LIBRESOLV@
+## -llockfile if HAVE_LIBLOCKFILE or -lmail if HAVE_LIBMAIL
+LIBS_MAIL=@LIBS_MAIL@
+## empty or -lrt or -lposix4 if HAVE_CLOCK_GETTIME
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+
+## Extra libraries to use when linking movemail.
+LIBS_MOVE = $(LIBS_MAIL) $(KRB4LIB) $(DESLIB) $(KRB5LIB) $(CRYPTOLIB) \
+ $(COM_ERRLIB) $(LIBHESIOD) $(LIBRESOLV)
+
+## Some systems define this to request special libraries.
+LIBS_SYSTEM = @LIBS_SYSTEM@
+
+BASE_CFLAGS = $(C_SWITCH_SYSTEM) $(C_SWITCH_MACHINE) \
+ $(WARN_CFLAGS) $(WERROR_CFLAGS) \
+ -I. -I../src -I../lib \
+ -I${srcdir} -I${srcdir}/../src -I${srcdir}/../lib
+
+ALL_CFLAGS = ${BASE_CFLAGS} ${PROFILING_CFLAGS} ${LDFLAGS} ${CPPFLAGS} ${CFLAGS}
+LINK_CFLAGS = ${BASE_CFLAGS} ${LDFLAGS} ${CFLAGS}
+CPP_CFLAGS = ${BASE_CFLAGS} ${PROFILING_CFLAGS} ${CPPFLAGS} ${CFLAGS}
+
+# Configuration files for .o files to depend on.
+config_h = ../src/config.h $(srcdir)/../src/conf_post.h
+
+all: ${EXE_FILES} ${SCRIPTS} ${INSTALLABLE_SCRIPTS}
+
+.PHONY: all need-blessmail maybe-blessmail
+
+LOADLIBES = ../lib/libgnu.a $(LIBS_SYSTEM)
+$(EXE_FILES): ../lib/libgnu.a
+
+## Only used if we need blessmail, but no harm in always defining.
+## This makes the actual blessmail executable.