automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: make distcheck failure


From: Bruce Korb
Subject: Re: make distcheck failure
Date: Sat, 31 Mar 2012 09:24:30 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120312 Thunderbird/11.0

On 03/31/12 01:34, Stefano Lattarini wrote:
Is this a known problem or do I need to investigate further?

The issue you're facing sounds new to me, so I say some more investigations
are warranted.  Could you maybe post a minimal reproducer of the issue here,
so that we can decide whether it is a user error, a documentation weakness,
or an automake bug?

By the time I have a "minimal reproducer", I'll likely know the cause.
Below is the invocation that causes the disappearance of xml2ag/Makefile.
After the successful completion of the command, the file was, indeed, gone.
So I've done verbose output:
  Invoking recipe from Makefile:420 to update target `installcheck-recursive'.

So that has me closer.  The top level installcheck-am causes the problem.
I modified the $(RECURSIVE_TARGETS) rule:

$(RECURSIVE_TARGETS):
        PS4='>$@> ' ; test -f xml2ag/Makefile ; set -x ; \
        fail= failcom='exit 1'; \
        for f in x $$MAKEFLAGS; do \
          case $$f in \
            *=* | --[!k]*);; \
            *k*) failcom='fail=yes';; \
          esac; \
        done; \
        dot_seen=no; \
        target=`echo $@ | sed s/-recursive//`; \
        list='$(SUBDIRS)'; for subdir in $$list; do \
          echo "Making $$target in $$subdir"; \
          test -f xml2ag/Makefile ; \
          if test "$$subdir" = "."; then \
            dot_seen=yes; \
            local_target="$$target-am"; \
          else \
            local_target="$$target"; \
          fi; \
          ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
          || eval $$failcom; \
        done; \
        test -f xml2ag/Makefile ; \
        if test "$$dot_seen" = "no"; then \
          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
        fi; test -z "$$fail"

<<<aside:  shouldn't that "|| exit 1" actually be "|| eval $$failcom" ??
   and, why is failcom conditionally set to "yes" instead of "true" or ":"?
   "yes" produces a lot of unnecessary output..... >>>

And the tail end of the output from "make --debug=v installcheck":

>installcheck-recursive> test -f xml2ag/Makefile
>installcheck-recursive> test no = no
>installcheck-recursive> make installcheck-am
GNU Make 3.82
[....]
Reading makefiles...
Reading makefile `Makefile'...
Updating goal targets....
Considering target file `installcheck-am'.
 File `installcheck-am' does not exist.
 Finished prerequisites of target file `installcheck-am'.
Must remake target `installcheck-am'.
Successfully remade target file `installcheck-am'.
make[1]: Entering directory `/old-home/bkorb/ag/ag/autogen-5.16pre11/_build'
make[1]: Nothing to be done for `installcheck-am'.
make[1]: Leaving directory `/old-home/bkorb/ag/ag/autogen-5.16pre11/_build'
>installcheck-recursive> test -z ''
  Successfully remade target file `installcheck-recursive'.
 Finished prerequisites of target file `installcheck'.
Must remake target `installcheck'.
Successfully remade target file `installcheck'.
$ ls xml2ag/Make*
ls: cannot access xml2ag/Make*: No such file or directory



reply via email to

[Prev in Thread] Current Thread [Next in Thread]