i'm using plan9port mk on linux and just hit the environment+argument length limit -- linux' execve($PLAN9/bin/rc, ... ) returns E2BIG because $newprereq gets too large.

how do i work around? is there an idiomatic way of splitting up $newprereq into smaller chunks?

the mkfile is:

TIMESTAMP_FILE:
  for (i in $newprereq)
    do_stuff $i

<|./generate-rules-for-files PATTERN

where ./generate-rules-for-files outputs rules like TIMESTAMP_FILE: file_matching_pattern