Hi, Subject: "make dist" bug with "EXTRA_DIST += dirname" and built-in rule for "dirname.c"
Looking again at your message from last November (sorry) https://lists.gnu.org/archive/html/automake/2024-11/msg00000.html I am puzzled as to what's going on. Maybe you can provide a runnable example of the problem? As far as I can tell, the GNU make rule to build foo from foo.c is disabled by .SUFFIXES:. That is, a two-line Makefile: angie: angie.c .SUFFIXES: And with any angie.c, e.g., echo foo >angie.c (doesn't need to actually compile), make does not run the compiler. But if I comment out the .SUFFIXES:, the compiler is run. Using subdirectories (subdir/angie: subdir/angie.c) doesn't make a difference, so far as I could tell. So, since you noticed that the .SUFFIXES: was present in the Automake output you had, why is make still doing the compilation in your case? Does the output of make -d explain? Does angie.c still get compiled with make -r? (-r disables all default implicit and pattern rules) Automake 1.17's disabling of pattern rules seems immaterial to this. However, I see now that the NEWS entry was not specific enough (I'll tweak it for next time). It's not that all default pattern rules were disabled, but those related to SCCS and RCS that run on every target. Specifically, Looking at make's src/default.c, the other three (rather obscure) default pattern rules: %.out: % %.c: %.w %.ch %.tex: %.w %.ch are still enabled. They don't hurt anything much since they only run in those specific cases. Thanks, Karl