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 <[email protected]> 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 [email protected] 5621 Arapahoe Ave, Suite A Phone: (720) 974-1841 Boulder, CO 80303 Fax: (303) 448-7756