On Fri, 2018-05-11 at 16:46 -0400, Jim Anderson wrote:
> However, I do consider this a defect in the software, because it is 
> removing an intermediate file that is actually needed. The default 
> behavior is reasonable, but not being able to override, leaves me in 
> this situation with poor alternatives.

Please keep the mailing list on the CC line, thanks!

As I mentioned in my previous email, there are plenty of ways to
explain to make that a file it may think is intermediate, is actually
not intermediate.  Based on your original request I wasn't sure if that
was what you wanted to do, or if it was something different.

Any file which is mentioned explicitly as a target or a prerequisite in
the makefile is not considered to be intermediate.  So, if you have a
file "foo.bar" that you want to be considered not intermediate: you can
simply add it is an explicit prerequisite anywhere.  This could be your
normal "all" target:

  all: some other files foo.bar

or it could be some completely different target that is not even built
normally:

  force_this_not_intermediate: foo.bar

See https://www.gnu.org/software/make/manual/html_node/Chained-Rules.html
where it says:

> Ordinarily, a file cannot be intermediate if it is mentioned in the
> makefile as a target or prerequisite.

Cheers!

_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to