Well, what do you think? Martin
Martin Sebor wrote: > > Travis Vitek wrote: > [...] >> So now we are pretty sure we know what is happening. All target names >> that >> end in .out will match to the pattern rule for generating .out files >> first. >> The question is how to fix it. Here are the options I see. > > Thanks for the analysis! > >> >> 1. rename the source file so the generated executable will not end in >> .out >> 2. change the .out rule to generate output files with some other >> extension >> 3. create an rule that is a better match than %.out so that rule is >> selected for 22.locale.codecvt.out >> 4. create a new makefile that includes the original GNUmakefile.tst, >> but >> defines the more explicit rule mentioned in 3 >> >> I dislike option 3 the most, > > Between 2 and 3 I think I actually like 3 better. It seems general > enough to eliminate all ill-effects of the overly generic %.out: % > rule. And it's very simple (at least in my tests it was): > > %.foo: %.foo.c > touch $@ > >> and from the sound of it you won't want to use >> option 1. So how does option 2 sound? > > Another possibility might be to enable the %.out: % rule only for > examples and disable it for tests and everything else work? We don't > need to create .out files anywhere else, do we? > > Martin > > -- View this message in context: http://www.nabble.com/missing-build-line-for-22.locale.codecvt.out-tf4385887.html#a13828127 Sent from the stdcxx-dev mailing list archive at Nabble.com.