Re: [PATCH] Makefile: don't run rm without any files
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Feb 13, 2013, 20:12 UTC
- Message-ID
- <20130213201244.GD3381@google.com>
- In-Reply-To
- <7vehgk6l11.fsf@alter.siamese.dyndns.org>
Junio C Hamano wrote:
Show 11 quoted lines
> I amended the log message like so: > > commit bd9df384b16077337fffe9836c9255976b0e7b91 > Author: Matt Kraai <matt.kraai@amo.abbott.com> > Date: Wed Feb 13 07:57:48 2013 -0800 > > Makefile: don't run rm without any files > > When COMPUTE_HEADER_DEPENDENCIES is set to "auto" and the compiler > does not support it, $(dep_dirs) becomes empty. "make clean" runs > "rm -rf $(dep_dirs)", which fails in such a case.
To pedantic, that only fails on some platforms. The autoconf manual explains:
It is not portable to invoke rm without options or operands. On the other hand, Posix now requires rm -f to silently succeed when there are no operands (useful for constructs like rm -rf $filelist without first checking if ‘$filelist’ was empty). But this was not always portable; at least NetBSD rm built before 2008 would fail with a diagnostic.
Anyway, looks like a good fix. Thanks.