Why does my make fail on Cygwin with an execvp error?
First of all, if you are using make -j[N], then stop. It doesn’t work well. Also beware of using non-portable shell features in your Makefiles (see tips at http://cygwin.com/faq/faq.using.html#faq.using.shell-scripts). Errors of make: execvp: /bin/sh: Illegal Argument or make: execvp: /bin/sh: Argument list too long are often caused by the command-line being to long for the Windows execution model. To circumvent this, mount the path of the executable using the -X switch to enable cygexec for all executables in that folder; you will also need to exclude non-cygwin executables with the -x switch. Enabling cygexec causes cygwin executables to talk directly to one another, which increases the command-line limit.