summaryrefslogtreecommitdiff
path: root/Makefile.in
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2011-01-08 13:02:38 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2011-01-08 13:02:38 -0800
commit9a514d4a6c27b837fc2cd6d02c7cd60f08a621a4 (patch)
tree1eee202635acdcbf6871101a2af8f67cd4683b1c /Makefile.in
parent278f68456b8c25fff6d2274476cdc8ee3609f68b (diff)
downloademacs-9a514d4a6c27b837fc2cd6d02c7cd60f08a621a4.tar.gz
Automate syncing from gnulib.
Diffstat (limited to 'Makefile.in')
-rw-r--r--Makefile.in59
1 files changed, 52 insertions, 7 deletions
diff --git a/Makefile.in b/Makefile.in
index 05865578d6d..dbe98f37fa1 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -264,10 +264,10 @@ EMACSFULL = `echo emacs-${version}${EXEEXT} | sed '$(TRANSFORM)'`
# Actually, we now include `lisp' as well, since the compiled files
# are not included any more in case of bootstrap or in case Emacs was
# checked out from a VCS.
-SUBDIR = lib-src src lisp
+SUBDIR = lib lib-src src lisp
# The subdir makefiles created by config.status.
-SUBDIR_MAKEFILES = lib-src/Makefile doc/emacs/Makefile doc/misc/Makefile doc/lispref/Makefile doc/lispintro/Makefile src/Makefile oldXMenu/Makefile lwlib/Makefile leim/Makefile lisp/Makefile
+SUBDIR_MAKEFILES = lib/Makefile lib-src/Makefile doc/emacs/Makefile doc/misc/Makefile doc/lispref/Makefile doc/lispintro/Makefile src/Makefile oldXMenu/Makefile lwlib/Makefile leim/Makefile lisp/Makefile
# Subdirectories to install, and where they'll go.
# lib-src's makefile knows how to install it, so we don't do that here.
@@ -313,6 +313,8 @@ leim: src Makefile FRC
CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \
LDFLAGS='${LDFLAGS}' MAKE='${MAKE}')
+lib-src src: lib
+
src: lib-src FRC
.RECURSIVE: ${SUBDIR} leim
@@ -320,8 +322,32 @@ src: lib-src FRC
# We need to build `emacs' in `src' to compile the *.elc files in `lisp'.
lisp: src
+# Maintainers can put a copy of gnulib into $(gnulib_srcdir).
+gnulib_srcdir = ../gnulib
+$(gnulib_srcdir):
+ git clone git://git.savannah.gnu.org/gnulib.git $@
+
+# Update modules from gnulib, for maintainers, who should have it in
+# $(gnulib_srcdir) (relative to $(srcdir) and should have build tools
+# as per $(gnulib_srcdir)/DEPENDENCIES.
+GNULIB_MODULES = dummy # Just a dummy for now, to establish the mechanism.
+GNULIB_TOOL_FLAGS = \
+ --import --no-changelog --no-vc-files --makefile-name=gnulib.mk
+sync-from-gnulib: $(gnulib_srcdir)
+ cd $(srcdir) && \
+ $(gnulib_srcdir)/gnulib-tool $(GNULIB_TOOL_FLAGS) $(GNULIB_MODULES)
+ cp $(gnulib_srcdir)/build-aux/texinfo.tex $(srcdir)/doc/misc
+ cp \
+ $(gnulib_srcdir)/build-aux/config.sub \
+ $(gnulib_srcdir)/build-aux/config.guess \
+ $(gnulib_srcdir)/build-aux/install-sh \
+ $(gnulib_srcdir)/build-aux/mkinstalldirs \
+ $(gnulib_srcdir)/build-aux/move-if-change \
+ $(srcdir)
+.PHONY: sync-from-gnulib
+
# These targets should be "${SUBDIR} without `src'".
-lib-src lisp: Makefile FRC
+lib lib-src lisp: Makefile FRC
cd $@; $(MAKE) all $(MFLAGS) \
CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \
LDFLAGS='${LDFLAGS}' MAKE='${MAKE}'
@@ -360,6 +386,7 @@ blessmail: Makefile src FRC
Makefile: config.status $(srcdir)/src/config.in \
$(srcdir)/Makefile.in \
$(srcdir)/src/Makefile.in \
+ $(srcdir)/lib/Makefile.in \
$(srcdir)/lib-src/Makefile.in \
$(srcdir)/doc/emacs/Makefile.in \
$(srcdir)/doc/misc/Makefile.in \
@@ -374,11 +401,20 @@ Makefile: config.status $(srcdir)/src/config.in \
config.status: ${srcdir}/configure ${srcdir}/lisp/version.el
./config.status --recheck
-AUTOCONF_INPUTS = @MAINT@ $(srcdir)/configure.in $(srcdir)/m4/getopt.m4
+AUTOCONF_INPUTS = @MAINT@ $(srcdir)/configure.in $(srcdir)/m4/getopt.m4 $(srcdir)/aclocal.m4
$(srcdir)/configure: $(AUTOCONF_INPUTS)
cd ${srcdir} && autoconf
+ACLOCAL_INPUTS = @MAINT@ $(srcdir)/m4/gnulib-comp.m4
+$(srcdir)/aclocal.m4: $(ACLOCAL_INPUTS)
+ cd $(srcdir) && aclocal -I m4
+
+AUTOMAKE_INPUTS = @MAINT@ $(srcdir)/aclocal.m4 $(srcdir)/lib/Makefile.am
+$(srcdir)/lib/Makefile.in: $(AUTOMAKE_INPUTS)
+ cd $(srcdir) && automake --gnu -a -c lib/Makefile
+am--refresh:
+
$(srcdir)/src/config.in: $(srcdir)/src/stamp-h.in
@ # Usually, there's no need to rebuild src/config.in just
@ # because stamp-h.in has changed (since building stamp-h.in
@@ -710,6 +746,7 @@ mostlyclean: FRC
(cd src; $(MAKE) $(MFLAGS) mostlyclean)
(cd oldXMenu; $(MAKE) $(MFLAGS) mostlyclean)
(cd lwlib; $(MAKE) $(MFLAGS) mostlyclean)
+ (cd lib; $(MAKE) $(MFLAGS) mostlyclean)
(cd lib-src; $(MAKE) $(MFLAGS) mostlyclean)
-(cd doc/emacs && $(MAKE) $(MFLAGS) mostlyclean)
-(cd doc/misc && $(MAKE) $(MFLAGS) mostlyclean)
@@ -729,6 +766,7 @@ clean: FRC
(cd src; $(MAKE) $(MFLAGS) clean)
(cd oldXMenu; $(MAKE) $(MFLAGS) clean)
(cd lwlib; $(MAKE) $(MFLAGS) clean)
+ (cd lib; $(MAKE) $(MFLAGS) clean)
(cd lib-src; $(MAKE) $(MFLAGS) clean)
-(cd doc/emacs && $(MAKE) $(MFLAGS) clean)
-(cd doc/misc && $(MAKE) $(MFLAGS) clean)
@@ -753,6 +791,7 @@ distclean: FRC
(cd src; $(MAKE) $(MFLAGS) distclean)
(cd oldXMenu; $(MAKE) $(MFLAGS) distclean)
(cd lwlib; $(MAKE) $(MFLAGS) distclean)
+ (cd lib; $(MAKE) $(MFLAGS) distclean)
(cd lib-src; $(MAKE) $(MFLAGS) distclean)
(cd doc/emacs && $(MAKE) $(MFLAGS) distclean)
(cd doc/misc && $(MAKE) $(MFLAGS) distclean)
@@ -769,6 +808,7 @@ bootstrap-clean: FRC
(cd src; $(MAKE) $(MFLAGS) bootstrap-clean)
(cd oldXMenu; $(MAKE) $(MFLAGS) maintainer-clean)
(cd lwlib; $(MAKE) $(MFLAGS) maintainer-clean)
+ (cd lib; $(MAKE) $(MFLAGS) maintainer-clean)
(cd lib-src; $(MAKE) $(MFLAGS) maintainer-clean)
-(cd doc/emacs && $(MAKE) $(MFLAGS) maintainer-clean)
-(cd doc/misc && $(MAKE) $(MFLAGS) maintainer-clean)
@@ -789,10 +829,15 @@ bootstrap-clean: FRC
### Makefile. More generally, `make maintainer-clean' should not delete
### anything that needs to exist in order to run `configure' and then
### begin to build the program.
+top_maintainer_clean=\
+ ${top_distclean}; \
+ rm -fr autom4te.cache; \
+ rm -f aclocal.m4 lib/gnulib.mk m4/gnulib-cache.m4
maintainer-clean: bootstrap-clean FRC
(cd src; $(MAKE) $(MFLAGS) maintainer-clean)
+ (cd lib; $(MAKE) $(MFLAGS) maintainer-clean)
(cd lisp; $(MAKE) $(MFLAGS) maintainer-clean)
- ${top_distclean}
+ ${top_maintainer_clean}
### This doesn't actually appear in the coding standards, but Karl
### says GCC supports it, and that's where the configuration part of
@@ -800,13 +845,13 @@ maintainer-clean: bootstrap-clean FRC
### it deletes backup and autosave files too.
extraclean:
for i in ${SUBDIR} leim; do (cd $$i; $(MAKE) $(MFLAGS) extraclean); done
- ${top_distclean}
+ ${top_maintainer_clean}
-rm -f config-tmp-*
-rm -f *~ \#*
# The src subdir knows how to do the right thing
# even when the build directory and source dir are different.
-TAGS tags: lib-src src
+TAGS tags: lib lib-src src
cd src; $(MAKE) tags
check: