Re: Multiple-output-file make rules: We're Doing It Wrong
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: pgsql-hackers@lists.postgresql.org
Date: 2018-03-22T03:16:22Z
Lists: pgsql-hackers
I wrote: > I looked for rules with this bug by looking for comments that > mention parser/Makefile. There may well be some more, but I have > no good idea how to find them --- any thoughts? I realized that grepping for line-ending semicolons in makefiles would be a pretty efficient way to check this. Doing so reveals these additional trouble spots: src/Makefile.shlib:324:$(stlib): $(shlib) ; src/Makefile.shlib:361:$(stlib): $(shlib) ; src/backend/Makefile:79:libpostgres.a: postgres ; src/backend/Makefile:89:libpostgres.a: postgres ; src/test/isolation/Makefile:46:specparse.h: specparse.c ; src/interfaces/ecpg/preproc/Makefile:42:preproc.h: preproc.c ; I'm not too excited about the libpostgres.a cases, but the last two are definitely hazards for VPATH builds, and the two cases in Makefile.shlib might be worth fixing too. Also, I trolled the archives for possible reports of actual problems of this ilk. I found this: https://www.postgresql.org/message-id/569C22C0.70404%40lucee.org which certainly looks exactly like the sort of behavior I'd expect, if there'd been a timestamp problem in the 9.5.0 tarball. But the rules around *dll.def files don't look like there's any such bug. regards, tom lane
Commits
-
Fix make rules that generate multiple output files.
- 4b538727e2a0 11.0 landed
- e88d41a86800 10.4 landed
- 5d814c8413d7 9.5.13 landed
- 4c26965166c8 9.4.18 landed
- 3bd500903355 9.3.23 landed
- 36c07fc2996b 9.6.9 landed