Fix and further refine makefile rule for WebKit messages generated files
Created attachment 405794 [details] Patch
I am surprised and confused to see this work on the bots. From my research, I didn't think the "grouped targets" feature came to make until make 4.3 (https://lwn.net/Articles/810071/), and at least on my local machine, make is stuck for macOS back on 3.81. What's the magic here?
Yes, the make on my computer is 3.81 yet this did work.
If we can’t use grouped targets, then at least we have to fix the spelling of "addsuffix".
Maybe grouped targets was undocumented in older versions of make?
Yes, that article says pretty clearly that grouped targets is new in make 4.3!
OK, tested locally and it seems that the syntax doesn't really work.
The make run succeeds, but it doesn't run the rule in all the cases I would expect.
Comment on attachment 405794 [details] Patch I think this patch just re-introduces the bug where the rule is run multiple times.
Created attachment 405798 [details] Patch
Thanks, Sam, for calling my attention to that! Should be fine now.
Realizing that we are forever stuck on make 3.81 a few weeks ago made me wonder if we should re-asses the use of make in WebKit (at least with regard to derived sources). I don't recall the reason for it being introduced, though I have heard it mentioned that it was maybe to do with deficiencies in Xcode's ability to deal with intermediate files, or maybe to share between Xcode and VisualStudio (really I should go look at svn history). Regardless of the original intent though, it's always a good idea to check assumptions every once in a while and make sure they still make sense.
Committed r265181: <https://trac.webkit.org/changeset/265181> All reviewed patches have been landed. Closing bug and clearing flags on attachment 405798 [details].
<rdar://problem/66433599>
I seem to recall that I originally started using make with the goal of sharing those rules between all build systems. Was really disappointed when the file was replicated in CMake instead of being used there.