--- Begin Message ---
Subject: |
subdir-objects "make clean" invokes one rm for each .o file |
Date: |
Thu, 02 Feb 2012 17:06:17 +0100 |
In cppi (http://git.savannah.gnu.org/cgit/cppi.git), I am now using non-
recursive make via subdir-objects, modeled after the way bison does it.
I see that "make clean" is inefficient: one "rm -f" per .o file:
rm -fr *.o
rm -f *.o
rm -f lib/calloc.o
rm -f lib/close-stream.o
rm -f lib/closeout.o
rm -f lib/error.o
rm -f lib/exitfail.o
rm -f lib/fpending.o
rm -f lib/getopt.o
rm -f lib/getopt1.o
rm -f lib/localcharset.o
rm -f lib/malloc.o
rm -f lib/mbrtowc.o
rm -f lib/mbsinit.o
rm -f lib/msvc-inval.o
rm -f lib/msvc-nothrow.o
rm -f lib/obstack.o
rm -f lib/progname.o
rm -f lib/quote.o
rm -f lib/quotearg.o
rm -f lib/realloc.o
rm -f lib/stpcpy.o
rm -f lib/strerror-override.o
rm -f lib/strerror.o
rm -f lib/version-etc-fsf.o
rm -f lib/version-etc.o
rm -f lib/xalloc-die.o
rm -f lib/xmalloc.o
rm -f lib/xstrtol-error.o
rm -f lib/xstrtol.o
rm -f lib/xstrtoul.o
rm -f src/cppi.o
cppi has so few .o files that it's not a problem, but with hundreds
(coreutils has over 600), it could be noticeable.
Contrast that with its removal of *.o above and of all tests/*.log files
using just one rm invocation each, I think it must simply be an oversight.
Seems like it'd be worth fixing some day.
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#10697: subdir-objects "make clean" invokes one rm for each .o file |
Date: |
Mon, 11 Jun 2012 18:48:55 +0200 |
On 06/10/2012 02:17 PM, Stefano Lattarini wrote:
> Reference: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10697>
>
> See the attached patch; I will push it by tomorrow if there is no objection
> (and if anyone would like to give it a try on a real project, that would be
> much appreciated).
>
Pushed now (to maint). I'm thus closing this bug report.
Regards,
Stefano
--- End Message ---