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