From: Tom Tromey Date: Fri, 11 Oct 1996 04:34:53 +0000 (+0000) Subject: Fix for recursive check; other fixes X-Git-Tag: Release-1-1g~25 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=fca808221672f7ab605ffd4ac7c5e09a31d477b7;p=automake.git Fix for recursive check; other fixes --- diff --git a/ChangeLog b/ChangeLog index 395a2a56..e70990bb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,11 @@ Thu Oct 10 16:12:38 1996 Tom Tromey + * m4/lispdir.m4: Unset EMACS if it is set to `t'. + * automake.in (handle_dist_worker): Allow EXTRA_DIST items to be in subdirs. + (do_one_merge_target): Use all-am, not all, in subdirs case. + (handle_merge_targets): Always generate all-am in subdirs case. * remake.am (Makefile): Depend on BUILT_SOURCES. * remake-subd.am (Makefile): Depend on BUILT_SOURCES. diff --git a/TODO b/TODO index 95d1b3e5..7391ef12 100644 --- a/TODO +++ b/TODO @@ -15,9 +15,13 @@ Further: - consider adding "echo"s to installs again. users can use make SHELL='sh -x' to get the full dirt -Avoid loops when installing; instead unroll them in automake +Some long-term projects: +* if $(FOO) is used somewhere, ensure FOO is defined, either by + user or by automake if possible +* Don't rearrange order of `include' lines relative to += assignments. +* Handle += assignments at all. -allow `EXTRA_DIST = foo/bar'; too many requests to ignore +Avoid loops when installing; instead unroll them in automake Franc,ois> * ansi2knr was uselessly compiled, and it might be an Franc,ois> Automake problem: @@ -142,7 +146,6 @@ Then user must use "make -k check". This is probably more natural. Consider: "cvs" option adds some cvs-specific rules? "Cygnus"-specific features: -* An option that statically rewrites @MAINT@ to "#M#". * Should look for certain tools in the build tree: expect, dejagnu, makeinfo * `no-installinfo' is the default @@ -316,8 +319,6 @@ some support for this. Here are some of the issues: 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 djm says: David> To avoid comments like the one about subdirs getting buried in @@ -334,17 +335,9 @@ Karl> generally uses lowercase. Not that it matters :-). Stuff for aclocal: -Should ignore ## comments. - probably should put each group of m4 files into a subdir owned by the containing application. -must fill in definitions for some of the AC_FEATURE macros - -consider including autosystem; that is the only way the AC_FEATURE -macros even make sense. Or move the AC_FEATURE macros back into -autosystem... - ================================================================ Document: diff --git a/automake.in b/automake.in index fb3d8649..027d8445 100755 --- a/automake.in +++ b/automake.in @@ -2344,6 +2344,10 @@ sub handle_merge_targets else { @all = ('all-recursive'); + + # Must always generate `all-am' target, so it can be + # referred to elsewhere. + $output_rules .= "all-am:\n"; } if (@install_exec) { @@ -2458,15 +2462,17 @@ sub do_one_merge_target { if (! &variable_defined ('SUBDIRS')) { - # 'check' must depend on 'all', but not when doing + # 'check' must depend on `all', but not when doing # recursive build. unshift (@values, 'all'); } else { # When subdirs are used, do the `all' build and then do - # all the recursive stuff. - $output_rules .= "check: all\n"; + # all the recursive stuff. Actually use `all-am' because + # it doesn't recurse; we rely on the check target in the + # subdirs to do the required builds there. + $output_rules .= "check: all-am\n"; &pretty_print_rule ("\t\$(MAKE)", "\t ", @values); $done = 1; } diff --git a/m4/lispdir.m4 b/m4/lispdir.m4 index d223cb84..90472774 100644 --- a/m4/lispdir.m4 +++ b/m4/lispdir.m4 @@ -6,7 +6,10 @@ # serial 1 AC_DEFUN(AM_PATH_LISPDIR, - [AC_PATH_PROG(EMACS, emacs xemacs, no) + [# If set to t, that means we are running in a shell under Emacs. + # If you have an Emacs named "t", then use the full path. + test "$EMACS" = t && EMACS= + AC_PATH_PROG(EMACS, emacs xemacs, no) if test $EMACS != "no"; then AC_MSG_CHECKING([where .elc files should go]) dnl Set default value