Hi Bob, Noah, * Bob Friesenhahn wrote on Fri, Mar 11, 2005 at 05:47:26PM CET: > On Fri, 11 Mar 2005, Ralf Wildenhues wrote: > > >I don't know if it's worthwhile to support FreeBSD make.. > > > >I have no idea how to keep it from looping without this patch, after > >running the rules for vcl-tmp it always seems to want to update > >stamp-vcl .. seems like timestamp files don't work with it at all. > > Are you saying that you expect make to operate properly based on > side-effects? If vcl-tmp is not specified as a build target, is it not > a side-effect? Why should make assume that any other files will be > updated except for explicit targets?
I think what I saw (but did not fully understand) was what Noah meant: * Noah Misch wrote on Sat, Mar 12, 2005 at 03:29:36AM CET: > > I have not analyzed the behavior of this particular group of rules, but the > misbehavior sounds similar to something I have seen: > > FreeBSD `make' does not conform to POSIX in its handling of modification > times: > > $ cat >Makefile > a: b > : a > b: c > : b > $ for f in b a c; do touch $f; sleep 1; done > $ make > : b > : a > $ gmake > : b Yes, I think this is similar to what I see here: vcl-tmp is not actually updated because it's removed by its rules, yet `make' thinks it needs to redo the rules for stamp-vcl. This leads to an endless loop (ltversion.m4 is recreated, thus all autotools rerun -- well, they are not actually run, because they don't exist in their default names on the system, so it's only `missing' that is rerun -- and so on. This bug is exposed by HEAD and branch-2-0. Note to self: when forward-porting README notes from branch-1-5, add a not against using FreeBSD make. (savannah is currently down -- was it not for the awkward arch UI, I'd have switched already.) Regards, Ralf
