Dear Paul, Many thanks for your clear, prompt and helpful response!
Paul Smith (2018/06/14 08:19 -0400): > On Thu, 2018-06-14 at 13:51 +0200, Sébastien Hinderer wrote: > > Now I am wondering whether there would be a way to rewrite this > > fragment without having to repeat the command. > > No, there is no way to do that. > > Well, you could define a variable containing the rule and use an > eval/call pair inside a foreach loop but I'm not convinced that would > be more understandable or readable than what you have. Ah, it's too bad. Because, what I forgot to mention is that the intent behind all this is to make the recipe(s) a bit more complex by adding other variables, namely CFLAGS and CPPFLAGS, to let the user (the person who compiles the package) use them when desired. I that light, and to guarantee that all the rules are consistent, do you think it would become worth defining a marco that takes as only argument the pattern of the target? > > My interpretation of why this happens is that the rule has been > > invoked once, to build the regular .o files, and then make believes > > that this single invocation has built all the targets, which is > > actually not the case. > > Your interpretation is correct. Using multiple pattern targets tells > make that one invocation of the recipe will build _all_ the targets. > Once make believes it's run a recipe to build a target, it will never > try again even if the resulting target wasn't actually built, or wasn't > updated. OK great, so at least I kind of start to understand a bit of soemthing. Thanks a lot for having confirmed. Just to make sure: do you confirm that it wouldn't be possible to achieve the desired result through suffix rules? > This is important behavior and is used in all sorts of makefiles, to > avoid rebuilding things that are actually up to date. Sure, got it. I think I am even taking advantage of this in other places. Thanks again, Paul! Sébastien. _______________________________________________ Help-make mailing list Help-make@gnu.org https://lists.gnu.org/mailman/listinfo/help-make