[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Non-recursive make with Fortran object files
From: |
Dave Goodell |
Subject: |
Re: Non-recursive make with Fortran object files |
Date: |
Wed, 5 Dec 2012 10:43:55 -0800 |
On Dec 5, 2012, at 2:29 AM PST, Alexis Praga wrote:
>> If you don't need a fully robust strategy that works for parallel make
>> and all sorts of different corner cases (particular files deleted/touched,
>> etc.), then you can likely get by with a simpler set of rules.
>
> Actually, even when I delete all the .mod file, this does not force a
> rebuild. Is this one of your corner case ? It looks a major issue to me, if
> you do not want to use make clean to recompile everything.
Right, this is exactly the sort of thing that I was talking about.
> So, if i understand correctly, the safer way would be to use only
> dependencies with .f90 and .mod ?
The only robust way that I have found to deal with this is to use the pattern
that I linked to in my previous email. Perhaps someone else has a simpler
approach.
>>> [2] https://gist.github.com/4190680
>
> One last thing, in this example, why do you use a temporary stamp file,
> instead of creating a rule directly between the library and module files
> and the header ?
I can't remember exactly why that is done, but it was certainly done that way
to handle some particular case that I was hitting. I think it ensures that the
mtime for the "-stamp" file is earlier than the mtime for the ".$(MOD)" file.
Otherwise make will attempt to rebuild the mod file every time, since it will
always appear to be out of date w.r.t. its primary dependency.
-Dave