Closed kmpeters closed 5 years ago
I should add that the build is being done in a cmd.exe window, which is why it uses the problematic echo.exe.
I will have a look. Maybe I used cygwin.
bash and powershell both need the quotes because of the parentheses. Only echo.exe requires no quotes. I don't know how to solve this dilemma at the moment.
I have re-built the project on Windows but don't have the quote problem. However \cygwin\bin is the first thing in my PATH. Also I use GNU make version 4.2.1 from cygwin if that matters. That does not mean that I build for cygwin though. I use the Microsoft cl compiler but everything else like make, perl, and as it seems echo as well, from cygwin.
I use Windows reluctantly and I'm definitely not a Makefile expert, however, my perception is that putting registrar(AsynDriverInterfaceRegistrar)
in its own dbd file and then optionally including that dbd file if ASYN is defined is significantly easier than trying to make the echo statement work for bash & cmd.exe. This would require makedbd.pl
to output an intermediate dbd file rather than the final one.
Fixed in commit 8f34dd2. I have moved generation of the problematic line into the makedbd.pl script.
This echo statement breaks builds on Windows:
https://github.com/paulscherrerinstitute/StreamDevice/blob/493dc19d8bb7880abdcae30339950512144a402e/src/Makefile#L91
The resulting stream.dbd file includes the quotes and an extra space:
And the build fails with the following error while creating streamApp.dbd: