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 13:44:06 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120312 Thunderbird/11.0

On 03/31/12 09:24, Bruce Korb wrote:
 >installcheck-recursive> test -f xml2ag/Makefile
 >installcheck-recursive> test no = no
 >installcheck-recursive> make installcheck-am
GNU Make 3.82
[....]
Must remake target `installcheck'.
Successfully remade target file `installcheck'.
$ ls xml2ag/Make*
ls: cannot access xml2ag/Make*: No such file or directory

It is related to trying to emit stamp files and dependency files
and maintainer-clean rules.  The relevant piece of xml2ag/Makefile.am:

if AMDEP
AGDEPS      = -MF$(DEPDIR)/address@hidden -MT$@ -MP
maintainer-clean : clean-stamp-opts clean-stamp-texi clean-stamp-man 
clean-stamp-fork
else
AGDEPS      =
endif
@AMDEP_TRUE@@am__include@ @address@hidden/$(DEPDIR)/address@hidden@
@AMDEP_TRUE@@am__include@ @address@hidden/$(DEPDIR)/address@hidden@
@AMDEP_TRUE@@am__include@ @address@hidden/$(DEPDIR)/address@hidden@
@AMDEP_TRUE@@am__include@ @address@hidden/$(DEPDIR)/address@hidden@

Since the documentation for all this stuff doesn't exactly tell you
how to set up for a tool that emits its own dependency files, I had
to dig into how it got done for GCC and try to emulate it.  Specifically,
the configure step had to create dummy dependency files.  Nothing tells
you, so I reverse engineered the process by reading the source, Luke.
Makefile.am has to have include lines that reference $(DEPDIR) and
a sedding step in configure will do the rest.

Maybe not completely correctly.  See my threads on "touching dependency files"
on various autotool related mailing lists.  I am close to finding the exact
culprit.  Hopefully, someone might see this and respond, "Ah, ha!" first. :)

To keep you from chasing down other email threads, here is an example of
"stamp-fork.d":

# Makefile dependency file created by:          -*- Mode: Makefile -*-
# /old-home/bkorb/ag/ag/agen5/.libs/autogen
# with the following command line arguments:
#   -MF.deps/stamp-fork.d \
#   -MTstamp-fork \
#   -MP \
#   -L../autoopts/tpl \
#   -L../autoopts/tpl \
#   --definition=./xmlopts.def \
#   -L. \
#   -Tfork.tpl
AUTOGEN_stamp_fork_TList = \
        fork.c

AUTOGEN_stamp_fork_SList = \
        ./xmlopts.def \
        /old-home/bkorb/ag/ag/agen5/opts.def \
        fork.tpl
stamp-fork : $(AUTOGEN_stamp_fork_SList)

$(AUTOGEN_stamp_fork_TList) : stamp-fork
        @:

.PHONY : clean-stamp-fork

clean-stamp-fork :
        rm -f stamp-fork $(AUTOGEN_stamp_fork_TList)
        touch -t 199912312359 .deps/stamp-fork.d

And a fragment from "Makefile":

maintainer-clean : clean-stamp-opts clean-stamp-texi clean-stamp-man 
clean-stamp-fork
include ./$(DEPDIR)/stamp-opts.d
include ./$(DEPDIR)/stamp-texi.d
include ./$(DEPDIR)/stamp-man.d
include ./$(DEPDIR)/stamp-fork.d



reply via email to

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