mparam.h depends on mparam_h.in, but under some occasions, after modifying mparam_h.in, mparam.h is not rebuilt or it is rebuilt at the same time of the compilation of some file depending on it (instead of strictly before).

A way to reproduce the first problem: Just after unarchiving the tarball, run:

$ ./configure
$ touch mparam_h.in
$ make

From the timestamps, one can see that mparam.h hasn't been regenerated. However if one runs "make clean", then "make" again, mparam.h is regenerated.

On another machine with 2 processors and where "make" is a shell function that runs "make -j2", after adding "foo" to mparam_h.in, running make, removing "foo" (thus correcting mparam_h.in), then running make again fails:

Actually the second problem seems to be a consequence of the first one: I did the test before a "make" was complete. So, after unarchiving the tarball, if one does configure, make, but interrupts make with a Ctrl-C, modifies mparam_h.in, then runs make again, then mparam.h is rebuilt, but at the same time as C files that haven't been compiled yet.

I've looked at the .deps directory: just after configure, all the .Plo files just contain a line "# dummy". After a complete make, the .Plo files get filled in with dependencies, and they remain correct after "make clean". So, the fact that everything works after a complete "make" is just an indirect consequence of these .Plo files as they contain "mparam.h:". But in any case, one shouldn't rely on that.