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)' '$(alltesttargets)')
For this feature, probably put them in an argsfile $(file >$(TESTDIR)/globsearch.args,$(alltesttargets)) and make your Python read from that file. I don't know a way to pass it on stdin. Scott Kruger <kru...@txcorp.com> writes: > 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 >> >> [szampini@localhost petsc]$ git branch >> * knepley/feature-dm-remove-hybrid >> >> [szampini@localhost petsc]$ make -v >> GNU Make 4.2.1 >> Built for x86_64-redhat-linux-gnu >> Copyright (C) 1988-2016 Free Software Foundation, Inc. >> License GPLv3+: GNU GPL version 3 or later >> <http://gnu.org/licenses/gpl.html> >> This is free software: you are free to change and redistribute it. >> There is NO WARRANTY, to the extent permitted by law. >> > > -- > Tech-X Corporation kru...@txcorp.com > 5621 Arapahoe Ave, Suite A Phone: (720) 974-1841 > Boulder, CO 80303 Fax: (303) 448-7756