[Interest] Buggy Makefile for config.tests\arch?

Joerg Bornemann joerg.bornemann at digia.com
Thu Feb 14 07:35:56 CET 2013

On 13/02/2013 22:16, Gisle Vanem wrote:

>> Note that this is a standard qmake generated Makefile and nothing
>> special. arch.exe.embed.manifest is generated by the linker and usually
>> stems from a build you did before.
> This is my first build. So how can "arch.exe.embed.manifest" already
> be present?

It is not present. The del line is a no-op for the first (clean) build.
It's only relevant for the following builds.

Even if the file does not exist, del won't set ERRORLEVEL.
Try this Makefile:

         del thisdoesnotexist
         echo still working...

Does del return with an exit code != 0 on your system?

> The test:
>       if not exist arch.exe del arch.exe.embed.manifest>NUL 2>&1
> is performed prior to the link step. So this generated Makefile
> is breaking causality AFAICS.

No, because it's handling causality between nmake runs.

> I'm really tired of nmake (not even line numbers for these errors),
> but I just love GNU make. Is it not possible to use mingw32-make
> to build a MSVC2010 version of Qt5?

There's no easy and reliable way to let qmake generate GNU make files 
for MSVC. You might want to try out jom [1], if you want line numbers 
(and parallel builds).

>> To work around this issue you could add
>> CONFIG -= embed_manifest_exe
>> to config.tests/arch/arch.pro
> That works fine. Thanks.

So only that config test barfs up and Qt builds fine after this?
Now that is surprising as every Makefile.Debug has this same command 
block for linking DLLs or executables. :-/



1: http://releases.qt-project.org/jom/

Joerg Bornemann
Senior Software Engineer - Digia, Qt

More information about the Interest mailing list