[Top][All Lists]
[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