Sorry for the delay. Fixed in MR !2663.
It turns out that the *read* for $(file <...) did not occur until
gmake 4.2 so this bit me even on a (admittedly old) Linux dev box.
To enable the widest range of usage, I keep a modified version
of the current $(shell ...) usage, but have commented
On Sat, 28 Mar 2020, Jed Brown wrote:
> Matthew Knepley writes:
>
> >> > IIRC, the $(file ...) function does not work with stock make in macOS.
> >>
> >> You're right; that is a make 4.0 feature. But developers who need
> >> globsearch should have the ability to evade Apple's anti-GNU smear.
>
Matthew Knepley writes:
>> > IIRC, the $(file ...) function does not work with stock make in macOS.
>>
>> You're right; that is a make 4.0 feature. But developers who need
>> globsearch should have the ability to evade Apple's anti-GNU smear.
>>
>
> Do we really have to make things hard on Mac
On Fri, Mar 27, 2020 at 4:51 PM Jed Brown wrote:
> Lisandro Dalcin writes:
>
> > On Thu, 26 Mar 2020 at 00:48, Jed Brown wrote:
> >
> >> Scott, you can't pass '$(alltesttargets)' on the command line like this.
> >>
> >> TESTTARGETS := $(shell $(PYTHON) -c"import sys,fnmatch,itertools;
> >>
Lisandro Dalcin writes:
> On Thu, 26 Mar 2020 at 00:48, Jed Brown wrote:
>
>> Scott, you can't pass '$(alltesttargets)' on the command line like this.
>>
>> TESTTARGETS := $(shell $(PYTHON) -c"import sys,fnmatch,itertools;
>> m=[fnmatch.filter(sys.argv[2].split(),p) for p in
On Thu, 26 Mar 2020 at 00:48, Jed Brown wrote:
> Scott, you can't pass '$(alltesttargets)' on the command line like this.
>
> TESTTARGETS := $(shell $(PYTHON) -c"import sys,fnmatch,itertools;
> m=[fnmatch.filter(sys.argv[2].split(),p) for p in sys.argv[1].split()];
> print('
The other strategy would be globsearch calls Python calls make to get the list
on stdout, which it filters and returns on its stdout.
An alternative would be to use $(guile ...) to do all the processing,
but that will only work when Make is built with Guile support. Check
make -f gmakefile
Ugh -- this is ugly.
Can't we just tell users to either use the '%' syntax or recompile their
linux kernel?
Just kidding. I'll take a look.
Scott
On 3/25/20 3:48 PM, Jed Brown wrote:
Scott, you can't pass '$(alltesttargets)' on the command line like this.
TESTTARGETS := $(shell
Scott, you can't pass '$(alltesttargets)' on the command line like this.
TESTTARGETS := $(shell $(PYTHON) -c"import sys,fnmatch,itertools;
m=[fnmatch.filter(sys.argv[2].split(),p) for p in sys.argv[1].split()]; print('
'.join(list(itertools.chain.from_iterable(m" '$(globsearch)'
>
>
> What do you have for
>
> getconf ARG_MAX
>
>
[szampini@localhost petsc]$ getconf ARG_MAX
2097152
> make -f gmakefile.test test search=dm%
>
>
works. This is on Fedora 30
> > make: execvp: /usr/bin/sh: Argument list too long
> > Using MAKEFLAGS: -- globsearch=dm*
> > # No tests run
>
What platform?
On 3/25/20 3:20 PM, Stefano Zampini wrote:
This was working before..
[szampini@localhost petsc]$ make -f gmakefile.test test globsearch='dm*'
make: execvp: /usr/bin/sh: Argument list too long
Using MAKEFLAGS: -- globsearch=dm*
# No tests run
# No tests run
# No tests run
Stefano Zampini writes:
> This was working before..
>
> [szampini@localhost petsc]$ make -f gmakefile.test test globsearch='dm*'
What do you have for
getconf ARG_MAX
make -f gmakefile.test test search=dm%
> make: execvp: /usr/bin/sh: Argument list too long
> Using MAKEFLAGS: --
This was working before..
[szampini@localhost petsc]$ make -f gmakefile.test test globsearch='dm*'
make: execvp: /usr/bin/sh: Argument list too long
Using MAKEFLAGS: -- globsearch=dm*
# No tests run
# No tests run
# No tests run
[szampini@localhost petsc]$ git branch
*
13 matches
Mail list logo