summaryrefslogtreecommitdiffstats
path: root/mkspecs/common
Commit message (Collapse)AuthorAgeFilesLines
* iOS: Build ios platform plugin when appropriateTor Arne Vestbø2013-02-272-2/+2
| | | | | | | | | Defining QT_QPA_DEFAULT_PLATFORM_NAME in qplatformdefs.h is not neccecary, as qconfig.h will already have this define written by configure. Change-Id: I89d9191533f6b4e6bfd5eade6cc0dced02b50f81 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* iOS: Write default code signing identify for iOS in Xcode generatorTor Arne Vestbø2013-02-271-0/+2
| | | | | | | Change-Id: Ic04da6063863585665c9133caba0279ba478fbb4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Ian Dean <ian@mediator-software.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* iOS: Target both iPhone and iPad by defaultTor Arne Vestbø2013-02-271-0/+3
| | | | | Change-Id: I3122b9391c6187da17389c889a456c58210dca09 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Make Xcode output the default for GUI applicationsTor Arne Vestbø2013-02-271-3/+3
| | | | | | | | | | | | | | | | | | | | | | As long as Qt Creator does not provide any iOS integration, and the app bundle we create using the Makefile generator is not good enough to deploy to a device anyways, producing Xcode projects make the most sense. We base the decicion on whether or not the project depends on QtGui and has app_bundles enabled. This prevents configure tests and other tools from having Xcode projects, but allows examples and demos to build out of the box. Instead of setting the generator unconditionally we unset it in default_pre so that we can detect if the user set it manually. This means the user won't be able to inspect the MAKEFILE_GENERATOR variable from the pro file, but this is less of a use-case then overriding the generator from the command line or prooject file. Change-Id: I881cf3e29631445f83ea4ff0979f7a566e4810f5 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Replace device and simulator makespecs with single makespecTor Arne Vestbø2013-02-276-139/+25
| | | | | | | | | | And use configure's -sdk argument to choose between the iphoneos and the iphonesimulator SDK. xcodebuild -showsdks can be used to list the available SDKs. Passing an SDK without a version postfix implies the latest version of the SDK. Change-Id: I881df754d522fc91aaa16ba3e39cf0c37a21a1f1 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Include clang-mac.conf instead of defining precompile flags ourselvesTor Arne Vestbø2013-02-261-6/+0
| | | | | Change-Id: I1a3b9ad16e54457068d3451c066a8d7965a622df Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* iOS: Use sdk.prf to set -isysroot based on the chosen SDKTor Arne Vestbø2013-02-263-14/+5
| | | | | Change-Id: I4683ab422ad886b86604fbd68f8dfb4cf6bfc06e Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Move device/simulator conditionals out of common mkspecsTor Arne Vestbø2013-02-264-24/+20
| | | | | | | | Instead we deal with any differenced by setting variables in the top level makespecs, that are used by the common makespec configs. Change-Id: Iae1fb5fef8c95778511ed400008731989b446f3c Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* iOS: Simplify arch detection/configuration in mkspecTor Arne Vestbø2013-02-261-34/+6
| | | | | | | | NEON detection is handled by configure's arch test, and THUMB2 is the default for ARMv7. Change-Id: I8ec3ce0ec6af9ad8d9509890aa1f8c87e18364d5 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* iOS: Bump arch and iOS SDK, now that we require GLES 2.xTor Arne Vestbø2013-02-265-112/+23
| | | | | | | We now require SDK version 4.3 or above, and armv7. Change-Id: I4766e277a3a4a32712bf2ec27fede694e8316c95 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* iOS: Simplify SDK resolving in mkspecTor Arne Vestbø2013-02-262-88/+42
| | | | | | | | There's no need to duplicate the logic for device vs simulator. The only difference is the iPhoneOS/iPhoneSimulator name. Change-Id: I87c57fa785279a3ee258b76fdac8317e52e7daa2 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* iOS: Move Q_OS_IOS out of makesespec to qsystemdetection.hTor Arne Vestbø2013-02-261-1/+1
| | | | | | | | | We treat iOS as a variant of Mac OS, so for iOS both Q_OS_MAC and Q_OS_IOS will be defined. This matches what Apple assumes in the header file TargetConditionals.h Change-Id: I55cc851401b748297478e4c32e84e0f6e1fdfc28 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* iOS: Get rid of GCC/LLVM makespecs for iOSTor Arne Vestbø2013-02-265-69/+5
| | | | | | | We only want to support Clang. Change-Id: Id0558df905106158f4c25ca10462bf4ca41e1e45 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* iOS: Remove hard-coding of Xcode /Developer path in common/ios mkspecsTor Arne Vestbø2013-02-262-47/+22
| | | | | | | | | | | | We can use xcode-select -print-path to get the /Developer directory. This also removes the need for the "legacy" makespecs, which only differ from their non-legacy counterparts in the location of the Xcode developer directory. Change-Id: Ia9245033a4b82cc3933226bf998f07177b60871f Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* qmake: Update Xcode generator to produce project files similar to XcodeTor Arne Vestbø2013-02-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | There was quite a bit of cruft left over from older Xcode version. We now produce Xcode 3.2 compatible files, similar to what Xcode would do when asked to upgrade one of our generated files. In particular: - Removed refType - Set more lastKnownFileTypes - Renamed defaultConfigurationIsName to defaultConfigurationName - Add runOnlyForDeploymentPostprocessing = 0 to build phases - Don't put buildSettings directly into PBXNativeTarget - Don't write productSettingsXML - Don't write startupPath - Don't write name when path is the exact same - Write empty buildSetting lists as empty string - Don't write empty PBXBuildFile settings - Don't write generated/neede filenames for PBXShellScriptBuildPhase - Use PBXFileReference instad of PBXFrameworkReference - Prune deprecated buildSetting variables - Remove deprecated PBXBuildStyle sections - Resolve correct CC/CPLUSPLUS/LDPLUSPLUS - Write IPHONEOS_DEPLOYMENT_TARGET Change-Id: Ia2365c2623fe898878bd10636c3b85145c1cff04 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Use sdk.prf to set macosx-version-min instead of static conf filesTor Arne Vestbø2013-02-222-9/+0
| | | | | | | | | | | | | Allows us to dynamically generate the command line option for iOS later, and allows the user to override QMAKE_MACOSX_DEPLOYMENT_TARGET with the expected effect on the command line options. We unset PERL5LIB to ensure we get the system Perl libraries, since the Mac OS 10.6 CI machine seems to have a broken XML::Parser::Expat from macports/CPAN. Change-Id: I04430c7b1daf9452d72f9a04a6b7f8d0d6926884 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-02-201-0/+1
|\ | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/unix/separate_debug_info.prf src/gui/kernel/qwindow_p.h src/plugins/platforms/cocoa/qcocoacursor.mm tests/auto/tools/moc/tst_moc.cpp Change-Id: Ieb57834c00f961a747ffe51e6eb9fc9612cebccf
| * Blackberry: Specify QMAKE_LFLAGS_RPATHLINK for BB10 platformTobias Koenig2013-02-181-0/+1
| | | | | | | | | | | | | | | | The linker from the BBNDK needs -rpath-link to resolve transitive dependencies, like on Linux. Change-Id: I85726841ea15070e8661b9bdbffaf950fdd247e9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Always build against an SDK on Mac OSTor Arne Vestbø2013-02-201-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Building against the local /System can cause build issues when for example the headers have not been updated to reflect the system version. The system headers are updated as part of installing the command line tools from within Xcode, not as part of the system update process, so we might think we are on 10.8, but the system headers will not reflect that, and we get build breaks. It's preferable to always build against an SDK, so that we have a known state for the OS X libraries and headers. We choose the latests SDK by default, as recommended by Apple. Change-Id: I79028217ff3a9cbe45aa4cb05ed6dd90388dee50 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Clean up how we build against SDKs on Mac OSTor Arne Vestbø2013-02-191-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of setting -isysroot in both arch.test, compile.test, the various mkspecs, and sdk.prf, we now propgate the chosen SDK as the qmake variable QMAKE_MAC_SDK, which is then handled exclusivly in sdk.prf. The QMAKE_MAC_SDK variable, and -sdk argument to configure, is expected to be of the short-form name, eg macosx or iphoneos, not a full path, as that's what Xcode also expects. We take care of translating that into a full path for -isysroot/-syslibroot in sdk.prf, using xcodebuild as a helper. Change-Id: I281655b2fa5180c6e78ffdce36824e4a91447570 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Remove ifdefs for supporting Mac OS <= 10.5Tor Arne Vestbø2013-02-182-8/+0
| | | | | | | | | | | | | | | | Qt5 requires Mac OS 10.6, so we can remove checks such as if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6 Change-Id: Iea21727a277291148704ecf9677ed0b68c24920f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | purge QMAKE_LIBS_OPENGL_QTOswald Buddenhagen2013-02-134-4/+0
|/ | | | | | | | | | it differed from QMAKE_LIBS_OPENGL only for the irix/sco/unixware -cc specs for not entirely obvious reasons. as all these specs are obsolete, remove it. Change-Id: I7d50ffa11ff830371ea52c9ebe25e1f1bc56b307 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-189-9/+9
| | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* introduce QMAKE_RPATHLINKDIR (and QMAKE_LFLAGS_RPATHLINK)Oswald Buddenhagen2012-12-031-0/+1
| | | | | | | | | complementary to QMAKE_RPATHDIR. this avoids that we need to sprinkle linux/gcc specific code all over the place. Task-number: QTBUG-27427 Change-Id: Iebafd1749d1a0d803704902473df8c743f074ddc Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Mac: Fix compilation with -sdk optionEike Ziller2012-11-231-2/+5
| | | | | | | | | | | | The include paths that the mkspecs set into the OpenGL/AGL frameworks must take the SDK into account. (The headers in 10.8 have slightly changed wrt 10.7, leading to compile errors because framework style includes (<OpenGL/foo.h>) within the system headers are resolved to the SDK framework headers.) Change-Id: I6113cdb95b462d587f593682e03e81e920f3f672 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Mac: Set minimum version to 10.7 for clang-libc++Morten Johan Sorvig2012-10-243-3/+10
| | | | | | | | | | | | Clang's libc++ does not support 10.6. Add mac-minimum-version.conf which sets the version to 10.6. Set the version to 10.7 in the clang-libx++* mkspecs. Change-Id: I494d0d24b0d73d9395e9d5406c8c63c9af87f8cc Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* Blackberry mkspecs: Refine compiler optionsPeter Hartmann2012-10-011-1/+1
| | | | | | | | | | | | | | | | | | stack-protector-strong gives performance benefits over stack-protector-all and is still checking more than -stack-protector, so seems to be a good middle way and we want to use it when it is there. The -shared option for the compiler (not the linker) prevents a RIM internal version of qcc from forcing -fPIE, and should not harm in general when set. In addition, add a method "compilerSupportsFlag" for Windows as is present in the Unix configure script. Change-Id: Iba300e9cb82f34043e7b36f8e45287a1aed2a1a5 Original-patch-by: Greg Bentz Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-2210-243/+243
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* announce the android platform in the respective specsOswald Buddenhagen2012-09-211-0/+2
| | | | | Change-Id: I55c8d9fe4160c37eec6073894481e313e4dea191 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* make qmakespecs announce the compiler familyOswald Buddenhagen2012-09-216-0/+12
| | | | | | | | | | | | on the way to eliminate scoping based on the spec. gcc and msvc go as such into CONFIG, the other ones get the vendor prefixed, as most are mostly unknown and thus likely to clash with users' flags. Change-Id: Ie622f53d90e96dbf05ce7d8c638cd355f04fa20c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Update iOS 'clang' mkspec for Xcode 4.5Ian Dean2012-09-111-2/+2
| | | | | | Change-Id: If472bd60fa8ddc9d3af394a904a52290a1c308b6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Removed some unused #defines from iOS qplatformdefs.hIan Dean2012-09-111-3/+0
| | | | | | | | | Removed QT_GUI_DRAG_DISTANCE & QT_GUI_DOUBLE_CLICK_DISTANCE from the iOS qplatformdefs.h header as these values are dependant on display pitch and should be calculated by the platform plugin. Change-Id: I00c377483ad73cad19a2fe729cb3f45e9271e3ac Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* centralize initialization of CONFIG in mkspecsOswald Buddenhagen2012-09-085-5/+2
| | | | | | | | "CONFIG += qt warn_on release link_prl" is in every single spec (though for link_prl there is one genuine exception and two apparent omissions). Change-Id: I72e1e315586af828eefa3b0b70998ab892ec3c1a Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* centralize initialization of QT in specsOswald Buddenhagen2012-09-085-5/+0
| | | | | | | | there is no reason whatsoever to duplicate this so many times, and even less reason to have specs with a deviating default. Change-Id: Ia25836c079580adebc373697b8bd03598f79c69b Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove useless TEMPLATE assignments from specsOswald Buddenhagen2012-09-085-5/+0
| | | | | | | "app" is the built-in default anyway Change-Id: I4f581ee5b81aee08860dbdda5d863943bceafb1b Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* adjust specs to the new target mode handlingOswald Buddenhagen2012-09-088-3/+8
| | | | | | | | | | | | not strictly necessary, but nicer. QMAKE_PLATFORM (and thus CONFIG) now also contains the name of the OS, and its family (if applicable, e.g., bsd). this also adds more feature search paths. Change-Id: I3ab971e6e3b2b32cae53b95e4bc67a86688bc5cb Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* QNX: Tidy up QMAKE_LFLAGS in qnx mkspecsSean Harmer2012-09-032-5/+1
| | | | | | | | | | | | We do not need to include -lang-c++ more than once in QMAKE_LFLAGS* variables. The fact that this was not appearing more than once was due to QMAKE_LFLAGS being overwritten (rather than appended to) in qcc-base-qnx.conf and a weird coincindence in qmake's code to dedupe libraries passed in to QMAKE_LFLAGS. The deduping was working based upon options beginning with "-l", including the -lang-c++ option here. Change-Id: I983f216c0e362a9fe6a924074c5d84aaa659a14f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* QNX: Enable pre-compiled header support for QNXSean Harmer2012-08-271-0/+5
| | | | | | | Change-Id: I6af69965b19c5d0d7a46de8000433bc5f1f2abcb Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* make configure set up QMAKE_DEFAULT_{INC,LIB}DIRSOswald Buddenhagen2012-08-221-3/+0
| | | | | | | | | | | | | | hard-coding it in unix.conf was no particularly good idea for hopefully obvious reasons. the windows version is so far just a stub that does what the makespecs hard-coded - more doesn't seem worth the effort. the guys interested in x-building may want to rectify it at some point, but it's not going to be easy. Change-Id: I8fedd841a8416f8c0c57018752eae9510b5d00d0 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Decouple -lang-c++ from CXX command on QNX mkspecsRafael Roquetto2012-08-174-6/+7
| | | | | | | | | | Making -lang-c++ integral part of the $CXX command was wrong, because there are cases where $CXX must be called without the -lang-c++ file (when building asm files for instance). This commit moves the -lang-c++ to $CXX_FLAGS where it belongs. Change-Id: I667c8d722105c6117fcd8ff3102dbdfcb890b24f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* remove unused Q_FS_FAT from Windows qplatformdefs.hJoerg Bornemann2012-08-081-1/+0
| | | | | Change-Id: I12a70c8a06fa5d82db1cb3d6e6a7ed870e7a8ec5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* remove embed_manifest_* from common Windows CE mkspecJoerg Bornemann2012-08-081-1/+1
| | | | | | | | They had no effect anyways due to the check in the embed_manifest*.prf files. Change-Id: I3cd145030876d91948794d376a18a47e297f3b3a Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* centralize+fix addition of copy_dir_files flagOswald Buddenhagen2012-08-072-1/+4
| | | | | | | | this is in fact a shell-related flag, which determines how QMAKE_DIR_COPY is assumed to behave. Change-Id: If774f8a83b40c9ae7107c8e7ef7263af8a2e6c6e Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* [QNX] Force UNIX-style separators on Windows hostsRafael Roquetto2012-07-131-0/+5
| | | | | | | | | The QNX toolchain, even on Windows, uses UNIX-style directory separators ('/'). Change-Id: I78575c9856b1700438c05ec0da81149688d85522 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* make the prl lookup search in standard locationsOswald Buddenhagen2012-07-121-0/+3
| | | | | | | | | | | | qtAddModule() skips adding standard library paths to LIBS. however, as processPrlFiles() didn't know anything about that, it would not find the prl files of qt libraries in these paths. so centralize the definition of these default paths (we should actually ask the linker for them) and use it in both places. do the same for the include paths for symmetry. Change-Id: I7e3692dc2d1c2d0c97a9151d15887b1263de137a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QNX: set QMAKE_CXXFLAGS_CXX11Marc Mutz2012-07-031-0/+1
| | | | | | | | | | | | | | | | | | Rationale: QCC is a wrapper around GCC, but it doesn't understand -std, so we need to pass it via -Wc. The underlying GCC is v4.4, which doesn't know -std=c++11 yet, only c++0x. We can't use -std=c++0x here, because the QNX headers depend on some GNU extensions (nanosleep() was one that I saw), so it has to be gnu++0x, ie. STD C++ + GNU extensions. Change-Id: Ia5caf68f558b1638224e4876f1bbec84a0a93f67 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* android: remove QT_NO_QWS_TRANSFORMED from mkspecsRobin Burchell2012-07-031-1/+1
| | | | | | | this does nothing anymore Change-Id: If8798335dea935d1df9f085a7b4e1658f426809b Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Remove stale qws related mkspecsDonald Carr2012-06-301-21/+0
| | | | | | | | Should be be reintroduced with intent if there is sufficient interest, outside of the QWS context. Change-Id: I598f47b5cf0c10dd66534294d0f27cf0b4e5069a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Add mkspecs for android cross compilation.Robin Burchell2012-06-292-0/+284
| | | | | | | | | | | | | | Using these requires setting two environment variables, e.g, for me: export ANDROID_NDK_ROOT=/Users/burchr/android-ndk-r7c export ANDROID_NDK_HOST=darwin-x86 ./configure -opensource -confirm-license -xplatform unsupported/linux-android-armeabi-v7a-g++ -nomake examples -nomake demos -nomake tests -v These mkspecs are somewhat based on the work of the Necessitas crew, kudos to them for their work in getting the NDK integration into qmake. Change-Id: I591e423ed8dc70616009f681c81890c696110e62 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* revamp automatic makefile generation for sub-projectsOswald Buddenhagen2012-06-192-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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