summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>1996-05-17 15:18:19 +0000
committerTom Tromey <tromey@redhat.com>1996-05-17 15:18:19 +0000
commit7730153fae46f2b691f5121d2717badeebe813b0 (patch)
tree0754b99ff8d0d3cf1682684218592c227bad7b46
parentf478789bd325a28ba5880b9e320bfd7c7c511e96 (diff)
downloadautomake-7730153fae46f2b691f5121d2717badeebe813b0.tar.gz
Tags fixups
-rw-r--r--ChangeLog15
-rw-r--r--Makefile.am1
-rw-r--r--Makefile.in28
-rw-r--r--TODO26
-rwxr-xr-xautomake.in1
-rw-r--r--lib/am/Makefile.am1
-rw-r--r--lib/am/tags.am21
-rw-r--r--remake.am2
-rw-r--r--tags-subd.am2
-rw-r--r--tags.am21
10 files changed, 87 insertions, 31 deletions
diff --git a/ChangeLog b/ChangeLog
index aa4a1d8cd..8fb63706b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,20 @@
+Fri May 17 09:02:02 1996 Tom Tromey <tromey@creche.cygnus.com>
+
+ * Makefile.am (TAGS_DEPENDENCIES): New macro.
+
+ * tags.am (tags-recursive): New target.
+ (TAGS): Depend on it.
+
+ * automake.in (handle_tags): Put tags-recursive on @phony.
+
+ * tags-subd.am (TAGS): Depend on HEADERS, SOURCES,
+ TAGS_DEPENDENCIES.
+ * tags.am (TAGS): Depend on HEADERS, SOURCES, TAGS_DEPENDENCIES.
+
Thu May 16 09:21:48 1996 Tom Tromey <tromey@creche.cygnus.com>
+ * remake.am (configure): Depend on $(CONFIGURE_DEPENDENCIES).
+
* automake.in (scan_configure): Look for install-sh and
mkinstalldirs here.
(initialize_global_constants): Moved mdate-sh from
diff --git a/Makefile.am b/Makefile.am
index 32a3e3cb3..b89d31629 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -33,6 +33,7 @@ CLEANFILES = automake
# The following requires a fixed version of the Emacs 19.30 etags.
ETAGS_ARGS = automake.in --lang=none \
--regex='/^@node[ \t]+\([^,]+\)/\1/' automake.texi
+TAGS_DEPENDENCIES = automake.in automake.texi
## `test -x' is not portable. So we use Perl instead. If Perl
## doesn't exist, then this test is meaningless anyway.
diff --git a/Makefile.in b/Makefile.in
index 691836171..102869194 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -70,6 +70,7 @@ CLEANFILES = automake
# The following requires a fixed version of the Emacs 19.30 etags.
ETAGS_ARGS = automake.in --lang=none \
--regex='/^@node[ \t]+\([^,]+\)/\1/' automake.texi
+TAGS_DEPENDENCIES = automake.in automake.texi
ACLOCAL = aclocal.m4
mkinstalldirs = $(top_srcdir)/mkinstalldirs
SCRIPTS = $(bin_SCRIPTS) $(pkgdata_SCRIPTS)
@@ -111,7 +112,7 @@ Makefile: Makefile.in config.status
CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status
config.status: configure
./config.status --recheck
-$(srcdir)/configure: configure.in $(ACLOCAL)
+$(srcdir)/configure: configure.in $(ACLOCAL) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && autoconf
automake: $(top_builddir)/config.status automake.in
cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status
@@ -244,15 +245,20 @@ maintainer-clean-recursive:
tags: TAGS
-TAGS:
- tags=; \
- here=`pwd`; \
- for subdir in $(SUBDIRS); do \
- (cd $$subdir && $(MAKE) TAGS); \
- test -f $$subdir/TAGS && { \
+tags-recursive:
+ list="$(SUBDIRS)"; for subdir in $$list; do \
+ (cd $$subdir && $(MAKE) tags); \
+ done
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(CONFIG_HEADER) \
+ $(TAGS_DEPENDENCIES)
+ tags=; \
+ here=`pwd`; \
+ for subdir in $(SUBDIRS); do \
+ test -f $$subdir/TAGS && { \
tags="$$tags -i $$here/$$subdir/TAGS"; \
- } \
- done; \
+ } \
+ done; \
test -z "$(ETAGS_ARGS)$(CONFIG_HEADER)$(SOURCES)$(HEADERS)$$tags" \
|| etags $(ETAGS_ARGS) $$tags $(CONFIG_HEADER) $(SOURCES) $(HEADERS)
@@ -389,8 +395,8 @@ install-data-recursive uninstall-data-recursive install-exec-recursive \
uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
all-recursive check-recursive installcheck-recursive info-recursive \
dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
-maintainer-clean-recursive tags mostlyclean-tags distclean-tags \
-clean-tags maintainer-clean-tags distdir info dvi check \
+maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir info dvi check \
installcheck-local installcheck all-am install-exec-am install-data-am \
uninstall-am install-exec install-data install uninstall all \
installdirs mostlyclean-generic distclean-generic clean-generic \
diff --git a/TODO b/TODO
index 186e66cd9..52f2c0680 100644
--- a/TODO
+++ b/TODO
@@ -1,7 +1,14 @@
Priorities for release:
-* automake can't run on itself!!! write test for this one
+
+* mkinstalldirs, install-sh don't appear in dist!
+ ref autosystem. make test case here.
+ (put extra rule at end of Makefile to print EXTRA_DIST?)
+
+* use Henrik's dist-zip rule
* ansi2knr.c needs STDC_HEADERS and HAVE_STRING_H
+ [ I've asked François about this. The change should probably
+ be in the fp_C_PROTOTYPES macro ]
* Add way to tell automake that `configure' has unknown dependencies
@@ -14,6 +21,15 @@ Consider: "cvs" option adds some cvs-specific rules?
Consider adding an option that statically rewrites @MAINT@ to "#M#".
+
+Automake and Cygnus: info target separate from all. Always make
+install-info target. install-info separate from install.
+
+Automake: should EXTRA_DIST files be statically findable?
+
+Automake: devo/inet/Makefile.am has "all-local". "install" depends on
+"all", but the local installs get run before the stuff in "all". Gross.
+
Right now, targets generated internally (eg "install") are not
overridable by user code. This should probably be possible, even
though it isn't very important. This could be done by generating all
@@ -190,7 +206,7 @@ some support for this. Here are some of the issues:
* Should handle AC_CONFIG_SUBDIRS, ie must handle configure.in in subdirs
* Must handle SUBDIRS in subdir Makefile.am's
-These can both be handled via dist-local:
+These can both be handled via dist-hook:
. Consider supporting guile-style PLUGIN directories automatically?
. Consider allowing eg "foo/bar" to appear in EXTRA_DIST, and generating
code to make directory foo at dist time
@@ -237,6 +253,12 @@ need xref to libtool in docs
document how to use Automake with CVS. Idea from Mark Galassi. Also
include Greg Woods' more sophisticated "cvs-dist" target.
+document that there is no uninstall-{exec,data}
+
+document rebuilding configure. CONFIGURE_DEPENDENCIES
+
+document TAGS_DEPENDENCIES
+
================================================================
Libraries:
diff --git a/automake.in b/automake.in
index 9b91eb1f3..994efd51f 100755
--- a/automake.in
+++ b/automake.in
@@ -1061,6 +1061,7 @@ sub handle_tags
if (&variable_defined ('SUBDIRS'))
{
$output_rules .= &file_contents ('tags');
+ push (@phony, 'tags-recursive');
$tagging = 1;
}
elsif ($dir_holds_sources || &variable_defined ('ETAGS_ARGS'))
diff --git a/lib/am/Makefile.am b/lib/am/Makefile.am
index 32a3e3cb3..b89d31629 100644
--- a/lib/am/Makefile.am
+++ b/lib/am/Makefile.am
@@ -33,6 +33,7 @@ CLEANFILES = automake
# The following requires a fixed version of the Emacs 19.30 etags.
ETAGS_ARGS = automake.in --lang=none \
--regex='/^@node[ \t]+\([^,]+\)/\1/' automake.texi
+TAGS_DEPENDENCIES = automake.in automake.texi
## `test -x' is not portable. So we use Perl instead. If Perl
## doesn't exist, then this test is meaningless anyway.
diff --git a/lib/am/tags.am b/lib/am/tags.am
index f08e724e0..68e2bd5df 100644
--- a/lib/am/tags.am
+++ b/lib/am/tags.am
@@ -17,16 +17,21 @@
## 02111-1307, USA.
tags: TAGS
-TAGS:
- tags=; \
- here=`pwd`; \
- for subdir in $(SUBDIRS); do \
+tags-recursive:
+ list="$(SUBDIRS)"; for subdir in $$list; do \
## Never fail here if a subdir fails.
- (cd $$subdir && $(MAKE) TAGS); \
- test -f $$subdir/TAGS && { \
+ (cd $$subdir && $(MAKE) tags); \
+ done
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(CONFIG_HEADER) \
+ $(TAGS_DEPENDENCIES)
+ tags=; \
+ here=`pwd`; \
+ for subdir in $(SUBDIRS); do \
+ test -f $$subdir/TAGS && { \
tags="$$tags -i $$here/$$subdir/TAGS"; \
- } \
- done; \
+ } \
+ done; \
## Make sure we have something to run etags on.
test -z "$(ETAGS_ARGS)$(CONFIG_HEADER)$(SOURCES)$(HEADERS)$$tags" \
|| etags $(ETAGS_ARGS) $$tags $(CONFIG_HEADER) $(SOURCES) $(HEADERS)
diff --git a/remake.am b/remake.am
index 304f11f9b..46cd74129 100644
--- a/remake.am
+++ b/remake.am
@@ -24,5 +24,5 @@ Makefile: Makefile.in config.status
CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status
config.status: configure
./config.status --recheck
-$(srcdir)/configure: @MAINT@configure.in $(ACLOCAL)
+$(srcdir)/configure: @MAINT@configure.in $(ACLOCAL) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && autoconf
diff --git a/tags-subd.am b/tags-subd.am
index 22f39ee2c..c0338f79f 100644
--- a/tags-subd.am
+++ b/tags-subd.am
@@ -20,5 +20,5 @@ ID: $(HEADERS) $(SOURCES)
tags: TAGS
-TAGS:
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES)
here=`pwd` && cd $(srcdir) && etags $(ETAGS_ARGS) $(SOURCES) $(HEADERS) -o $$here/TAGS
diff --git a/tags.am b/tags.am
index f08e724e0..68e2bd5df 100644
--- a/tags.am
+++ b/tags.am
@@ -17,16 +17,21 @@
## 02111-1307, USA.
tags: TAGS
-TAGS:
- tags=; \
- here=`pwd`; \
- for subdir in $(SUBDIRS); do \
+tags-recursive:
+ list="$(SUBDIRS)"; for subdir in $$list; do \
## Never fail here if a subdir fails.
- (cd $$subdir && $(MAKE) TAGS); \
- test -f $$subdir/TAGS && { \
+ (cd $$subdir && $(MAKE) tags); \
+ done
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(CONFIG_HEADER) \
+ $(TAGS_DEPENDENCIES)
+ tags=; \
+ here=`pwd`; \
+ for subdir in $(SUBDIRS); do \
+ test -f $$subdir/TAGS && { \
tags="$$tags -i $$here/$$subdir/TAGS"; \
- } \
- done; \
+ } \
+ done; \
## Make sure we have something to run etags on.
test -z "$(ETAGS_ARGS)$(CONFIG_HEADER)$(SOURCES)$(HEADERS)$$tags" \
|| etags $(ETAGS_ARGS) $$tags $(CONFIG_HEADER) $(SOURCES) $(HEADERS)