This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Weirdness with gcc's check-*//foo-sim rules
- From: Alexandre Oliva <aoliva at redhat dot com>
- To: gcc at gcc dot gnu dot org
- Cc: jsm at polyomino dot org dot uk
- Date: 07 Jul 2004 22:48:05 -0300
- Subject: Re: Weirdness with gcc's check-*//foo-sim rules
- Organization: Red Hat Global Engineering Services Compiler Team
- References: <20040708010853.GA21635@disaster.jaj.com>
On Jul 7, 2004, Phil Edwards <phil@codesourcery.com> wrote:
> $ make -ik check-gcc//arm-sim/{,-mthumb} check-g++//arm-sim/{,-mthumb}
> ...check-gcc runs twice, in "testsuite.arm-sim." and
> "testsuite.arm-sim.-mthumb" accordingly...
> make[1]: Leaving directory `/path/to/objdir/gcc'
> make: Nothing to be done for `check-g++//arm-sim/'.
> make: Nothing to be done for `check-g++//arm-sim/-mthumb'.
Ah, yes, I've noticed that before, but could never track it down.
> I'm not familiar enough with the % catch-all rules to know whether this
> is even possible, so I'll ask: can this be tweaked so that invoking the
> commands /once/ for the first target doesn't satisfy the deps for all the
> other targets derived from the same rule?
Interesting that you figured out what was going on. This leads to two
possible work-arounds:
(i) using a static-pattern rule to make it clear that we have
different targets. I.e., instead of:
$(lang_checks_parallel): site.exp
use something similar to the $(lang_checks) rules, such as:
$(lang_checks_parallel): check-% : $(TESTSUITEDIR)/site.exp
Failing that, adding `force-%' as a dependency should definitely fix
it, as long as there's a rule matching the phony force-%: target.
Would you give it a try?
--
Alexandre Oliva http://www.ic.unicamp.br/~oliva/
Red Hat Compiler Engineer aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist oliva@{lsd.ic.unicamp.br, gnu.org}