On Wed, 3 Jan 2001, ts wrote:

> >>>>> "H" == Hugh Sasse Staff Elec Eng <hgs / dmu.ac.uk> writes:
> 
> H> I'm not sure what this means -- the first @ suppresses echo, @MINIRUBY
> H> preseumably accesses autoconf's idea of miniruby, so what does the - sign
> H> in between do?
> 
>  If the command fail, make continue 

Ah, yes that is nice.
> 
> H> Does this mean that make distclean will fail on a new system or one
> H> without a working miniruby?
> 
>  It will do like "make clean" actually

I think the solution you have is elegant, but it involves quite a few
changes.  I *think* that the makefile(s) will only be used with Unix-like
systems and Cygwin, and I *think* cygwin includes find. I'm happy to 
be proved wrong, of course.

So I'm hoping this patch will be sufficient.  I have found out how to use
the boolean options effectively now, and it is not too revolting, as long
as you remember to group with \( and \), -o means "OR" and two adjacent
operations mean "AND".  So we end up with one find command, folded with a
'\' so it will be leess brittle going across the net:

brains hgs 115 %> gdiff -u Makefile.in.orig Makefile.in
--- Makefile.in.orig    Mon Dec 25 03:55:18 2000
+++ Makefile.in Tue Jan  2 18:34:29 2001
@@ -115,6 +115,8 @@
                @rm -f Makefile ext/extmk.rb config.h
                @rm -f ext/config.cache config.cache config.log
config.status
                @rm -f *~ core *.core gmon.out y.tab.c y.output ruby.imp
+               @-find . -type f \( -name Makefile -o -name core \
+               -o -name 'config.[cls]*' \) -exec rm -f {} \;
 
 realclean:     distclean
                @rm -f parse.c
brains hgs 116 %> 

Also -name 'config.[cls]*' means that the globbing (not a regexp) is 
handled by find itself.

Following your example, if the find fails, then this will be the same
as before.   I have been able to test this, and it works on my
(Solaris2.5.1) system.

Is this an acceptable solution?

> 
> 
> Guy Decoux
> 

	Hugh