qt5base-lts/qmake
Oswald Buddenhagen 575a516630 revamp automatic makefile generation for sub-projects
instead of making the "real" targets depend on the makefiles, add
conditional makefile generation to the targets themselves.
this causes makefile generation to follow the recursion order determined
by the project, which is important when dealing with prl and module pri
files.
a side effect of this is that qmake and make calls are interleaved now,
which is entirely different from a 'qmake -r' run.

on the downside, calling make with multiple targets which operate on the
same subprojects without prior makefile generation will make a mess, as
the qmake calls will be racing. this should be no problem, as qmake does
not generate recursive targets where this would be useful - at least by
default.

it is not sufficient to just order the creation of the makefiles
non-recursively (e.g., by using gnu-specific order-only-prerequisites),
as an interrupted and subsequently resumed build would happily skip the
nested makefiles.
workable alternative approaches would be walking the entire tree in a
pre-pass to ensure makefile presence (which is incredibly slow) or
creating additional stamp files only after recursing and having the
makefiles depend on them (which is ugly).

Task-number: QTBUG-23376
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Change-Id: I88d3e7610215677d362026de316513d3bea04b06
2012-06-19 16:46:08 +02:00
..
generators revamp automatic makefile generation for sub-projects 2012-06-19 16:46:08 +02:00
cachekeys.h Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
CHANGES Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
main.cpp add $$shadowed() function 2012-06-19 16:39:56 +02:00
Makefile.unix Remove -DQT_NO_STL from the bootstrapped builds 2012-04-07 05:19:56 +02:00
Makefile.win32 Add Visual Studio 11 mkspec 2012-05-16 13:34:20 +02:00
Makefile.win32-g++ Remove -DQT_NO_STL from the bootstrapped builds 2012-04-07 05:19:56 +02:00
meta.cpp Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
meta.h Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
option.cpp remove some symbian cruft 2012-06-19 16:40:02 +02:00
option.h remove some symbian cruft 2012-06-19 16:40:02 +02:00
project.cpp normalize $$QMAKE_QMAKE 2012-06-19 16:46:07 +02:00
project.h add support for a super cache 2012-06-19 16:46:03 +02:00
property.cpp introduce /get property variants 2012-06-19 16:39:58 +02:00
property.h optimize QMakeProperty 2012-03-01 21:00:23 +01:00
qmake_pch.h QHash security fix (1/2): add global QHash seed 2012-04-03 19:12:13 +02:00
qmake.pri Remove -DQT_NO_STL from the bootstrapped builds 2012-04-07 05:19:56 +02:00
qmake.pro properly declare the host tools as such in the project files 2012-06-19 16:37:50 +02:00