automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PPL-devel] Re: Doing something just a bit more complex than `make c


From: Ralf Wildenhues
Subject: Re: [PPL-devel] Re: Doing something just a bit more complex than `make check'
Date: Mon, 9 Jan 2006 15:36:38 +0100
User-agent: Mutt/1.5.9i

* Roberto Bagnara wrote on Sat, Jan 07, 2006 at 06:12:06PM CET:
> Ralf Wildenhues wrote:
> >* Roberto Bagnara wrote on Wed, Oct 19, 2005 at 09:13:16PM CEST:
> >
> >>Instead, what I would like to have is to only say

> >>and then achieve the effect of (sorry for the pseudo-code)
> >>
> >>  for flags in $FLAGS_CHOICES
> >>  do
> >>     make check with CXXFLAGS="$flags"
> >>     force recompilation at the next iteration (e.g., by erasing 
> >>     executables)
> >>  done
> >>
> >>How can I best obtain this effect without giving up (too many of)
> >>the advantages offered by Automake?

> thank you very much for your help (and sorry for the delay, but I wanted
> to make sure we did all our homework before getting back to you).
> Here is the script we are using:
> 
>   
> http://www.cs.unipr.it/cgi-bin/cvsweb.cgi/ppl/tests/BD_Shape/run_tests?rev=1.11

Ah, ok.  A couple of comments.  First, a bug I introduced by giving a
non-complete example: Some `make' implementations will not allow you to
override a macro on the command line iff it is also set in the Makefile.
With `TESTS', that is the case in your script.  Portable would be
   TESTS='...' make -e check

but `make -e' has its share of problems, too, depending on your
environment (same issue with the other variables, of course).  Another
point where Autotest is more flexible.

Furthermore, you write

| check_PROGRAMS=$(MAKEFLAGS='' make -s print_check_PROGRAMS)

which I assume you need to avoid clutter in the output.  I know many
systems where it is very useful to override the `make' command used,
so $MAKE would probably be better here and elsewhere in the script
(unless that interferes with clutter in the output), e.g. to be able
to use a make that allows macro override on the command line.

Then, a comment to the Makefile.am: you don't need the lines
| srcdir = @srcdir@
| VPATH = @VPATH@
| @SET_MAKE@
| SUBDIRS =

automake will take care of that by itself.

> The dirty_marker trick allows us to avoid useless recompilations yet
> addressing the case where one run of tests is interrupted.

Ah, nice.

> >If you want to go much further, you either end up creating more complex
> >shell scripts, or using one of the more advanced test suite creation
> >tools: Autoconf's Autotest, DejaGNU, ...
> 
> Autotest looks attractive.  We may consider switching to it as soon
> as it stabilizes.

The next Autoconf release should have a decently usable version of it.

Cheers,
Ralf




reply via email to

[Prev in Thread] Current Thread [Next in Thread]