Subject: Re: bug#19961: check-local is kind of like check-hook

From: Mike Frysinger <[email-masked]>
Date: Sun, 20 Feb 2022 22:59:44 -0500

On 02 Mar 2015 13:17, Shahbaz Youssefi wrote:
> On Mon, Mar 2, 2015 at 12:18 AM, Peter Johansson wrote:
> > On 02/28/2015 02:07 AM, Shahbaz Youssefi wrote:
> >>
> >> To align this with the other -local rules, why not generate it like this?
> >>
> >> check-am: all-am check-local
> >>      $(MAKE) $(AM_MAKEFLAGS) check-TESTS
> >
> > I think it would be a mistake to change this rule. Some projects might rely
> > on the fact that 'check-local' depends on 'all-am' and 'check-local' might
> > e.g. run some of the programs built within 'all-am'.
> 
> Fair enough. Wouldn't something like this address that issue?
> 
> check-local: all-am
> 
> check-am: check-local
>      $(MAKE) $(AM_MAKEFLAGS) check-TESTS

should be doable to add check-hook (to support people who want to run at the
end) and to add check-local (to support people who want to run early).

although i think the right answer for you specifically is what Peter already
suggested -- use an existing check_XXX primary instead.

> > With my Automake the rule looks like:
> >
> > check-am: all-am
> >     $(MAKE) $(AM_MAKEFLAGS) $(check_SCRIPTS) $(check_DATA)
> >     $(MAKE) $(AM_MAKEFLAGS) check-TESTS check-local
> >
> > so you could move your check_kernelmodule into check_DATA with something
> > like (untested)
> >
> > check_DATA = kernelmodule.timestamp
> >
> > kernelmodule.timestamp:
> >     @echo "*******************************************"
> >     @echo "*******************************************"
> >     @echo "I want this to be called before the check"
> >     @echo "*******************************************"
> >     @echo "*******************************************"
> >
> 
> Ok, I haven't seen check_DATA before (is that new in Automake 1.15?).

no, it's been around for a very long time -- at least since Automake 1.5
from Aug 2001.  i didn't dive deeper in the source beyond that.

> This could be a solution of course, although a bit strange, since the
> kernel module is not really "data".

sure, but out of all the primaries Automake understands, what would you call
it ?  a program ?  a script ?  a library ?  from userspace pov, it might as
well just be "data".  i don't think adding support for LINUXKERNELMODULE makes
that much sense since it's not portable (beyond Linux), no one has asked for
it, and the way a kernel module is built is veeeery tightly coupled with the
exact version of Linux that you're building.
-mike