At work, we build one of our projects with Makefiles. In one of these Makefiles, we have this line:
This should create the output directory if it doesn’t exist. The line would hang the build on my development box from time to time, so I decided to track down what the problem was. It turns out, IF NOT EXIST will sometimes hang if there are quotes around the filepath, at least on Windows XP. You can verify this with a simple perl script:
1 2 3
Running that script will cause the cmd to hang after a short amount of time (usually less than a minute).
But, if you run this script, it will continue forever:
1 2 3
In our case, the filepath will never contain any spaces, so the solution was to just remove the quotes from the IF NOT EXIST command in the Makefile.