I ran into some trouble while working on patch [1], where I changed print.c and needed to rebuild psql. However, make silently didn't rebuild psql after the print.c change. I wasn’t aware of that at first, and it confused me and wasted quite a bit of time before I figured out what was happening.
I tried a Meson build. Ninja automatically rebuilds 33 client tools after print.c changes, so I changed make to automatically rebuild client tools in the same way as Meson.
But then I found that there are actually 27 client tools that depend on libpgfeutils.a. There are 6 client tools that don’t really require libpgfeutils.a, but Meson still links the library to them. They are:
Thanks for the patch. I even ran into the same trouble and got frustrated, and ended up I switched to meson build. So I'd give a big +1 to fix the problem for make users.
I tried the patch, and it works properly. But I see meson automatically rebuilds some more tools than src/bin/ tools, such as contrib/oid2name/oid2name, src/tools/pg_bsd_indent/pg_bsd_indent, etc., do you plan to handle them also?