From: Tom Tromey <tromey@redhat.com>
To: Mike Frysinger <vapier@gentoo.org>
Cc: gdb-patches@sourceware.org, toolchain-devel@blackfin.uclinux.org
Subject: Re: [PATCH] sim: generate build dependencies on the fly
Date: Tue, 12 Jul 2011 21:15:00 -0000 [thread overview]
Message-ID: <m3d3hffbq1.fsf@fleche.redhat.com> (raw)
In-Reply-To: <CAJaTeTqM-Kr3Nrr4JKyfpys7=+aWk_YJCA+=AensJyBTUvg4dQ__24418.5384632603$1310503395$gmane$org@mail.gmail.com> (Mike Frysinger's message of "Tue, 12 Jul 2011 16:41:57 -0400")
>>>>> "Mike" == Mike Frysinger <vapier@gentoo.org> writes:
Tom> Why is that?
Mike> it didnt seem to work :). if the dependency generation step is done
Mike> inline with the compile step, how can we figure out the dependency
Mike> info of a header file that is generated ? does gdb handle this and i
Mike> just missed it in its Makefile ?
Ok, I see. I misunderstood what you meant.
GDB arranges for generated files to be built early, via order-only
dependencies. Order-only dependencies ensure that merely touching one
of the generated files doesn't cause a global recompile.
The relevant code is down near the end of gdb/Makefile.in:
# Ensure that generated files are created early. Use order-only
# dependencies if available. They require GNU make 3.80 or newer,
# and the .VARIABLES variable was introduced at the same time.
@GMAKE_TRUE@ifdef .VARIABLES
@GMAKE_TRUE@$(all_object_files): | $(generated_files)
@GMAKE_TRUE@else
$(all_object_files) : $(generated_files)
@GMAKE_TRUE@endif
Tom> Finally I thought there was some problem with multiple entries in VPATH,
Tom> but I cannot find that in the docs. Perhaps it is one of those ancient
Tom> incorrect memories. It would bear testing with a non-GNU make.
Mike> sounds like all good reasons to use automake :). otherwise all the
Mike> files in common/ need manual deps (like gdb does with files in
Mike> subdirs), and that semi-defeats the purpose of this in the first
Mike> place.
Yeah. I am not actually sure how well Automake would currently handle
sources in "../common/". Neither here nor there I guess.
Fedora includes the BSD make (yum install bmake); I assume other distros
do too. So you could try a build with that.
Mike> yeah ... i didnt notice as my stuff all went through gcc for dep info.
Mike> probably better to use $(srcroot)/depcomp.
You can edit the Makefile.in or generated Makefile slightly to test the
non-gcc3 path.
Tom
next prev parent reply other threads:[~2011-07-12 21:09 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1310436152-8693-1-git-send-email-vapier__46811.2245122485$1310436164$gmane$org@gentoo.org>
2011-07-12 19:49 ` Tom Tromey
2011-07-12 20:59 ` Mike Frysinger
[not found] ` <CAJaTeTqM-Kr3Nrr4JKyfpys7=+aWk_YJCA+=AensJyBTUvg4dQ__24418.5384632603$1310503395$gmane$org@mail.gmail.com>
2011-07-12 21:15 ` Tom Tromey [this message]
2011-07-13 2:04 ` Mike Frysinger
[not found] ` <CAJaTeTpoc=UUiePTTBNiRA=dREKdYABMfXQ+HdCsDWaa4wuG0w__27433.0390304842$1310506984$gmane$org@mail.gmail.com>
2011-07-13 13:59 ` Tom Tromey
2011-07-13 20:17 ` Mike Frysinger
2011-07-12 5:18 Mike Frysinger
2011-12-03 18:24 ` Mike Frysinger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m3d3hffbq1.fsf@fleche.redhat.com \
--to=tromey@redhat.com \
--cc=gdb-patches@sourceware.org \
--cc=toolchain-devel@blackfin.uclinux.org \
--cc=vapier@gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox