Changeset 121966 in webkit
- Timestamp:
- Jul 6, 2012 6:20:11 AM (12 years ago)
- Location:
- trunk/Tools
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/ChangeLog
r121965 r121966 1 2012-07-06 Oswald Buddenhagen <oswald.buddenhagen@nokia.com> 2 3 [Qt] Make use of Qt5 qmake's changed makefile recursion behavior 4 5 When not using the -r option, qmake now interleaves qmake and make calls, 6 so we don't need custom logic for this. There's also an option to supress 7 the effect of the -r option, which we use to make WebKit.pro the only 8 project file parsed in a recursive qmake-run. 9 10 https://bugs.webkit.org/show_bug.cgi?id=90461 11 12 Reviewed by Tor Arne Vestbø. 13 14 * qmake/mkspecs/features/default_post.prf: 15 * qmake/mkspecs/features/functions.prf: 16 1 17 2012-07-06 Oswald Buddenhagen <oswald.buddenhagen@nokia.com> 2 18 -
trunk/Tools/qmake/mkspecs/features/default_post.prf
r121960 r121966 237 237 } 238 238 239 # Doing `$(MAKE) qmake' should recurse through all subdirs 240 contains(TEMPLATE, subdirs):!no_recursive_qmake { 239 # Doing '$(MAKE) qmake' should recurse through all subdirs. In Qt5, this is 240 # automatic (for 'qmake_all', while 'qmake' does not enter subdirs at all). 241 haveQt(4):contains(TEMPLATE, subdirs):!no_recursive_qmake { 241 242 recursive_qmake.target = qmake_all 242 243 … … 274 275 275 276 incremental.target = incremental 276 incremental.commands = $(MAKE) -f $(MAKEFILE) qmake && $(MAKE) -f $(MAKEFILE)277 incremental.commands = $(MAKE) -f $(MAKEFILE) qmake_all && $(MAKE) -f $(MAKEFILE) 277 278 QMAKE_EXTRA_TARGETS += incremental 278 279 -
trunk/Tools/qmake/mkspecs/features/functions.prf
r121846 r121966 138 138 second_base_target = sub-$$replace(secondSubdirFile, [^a-zA-Z0-9_], -) 139 139 140 # Use a custom target for making the derived sources instead of the default ones, 141 # as the default ones depend on $(MAKEFILE), while we want to depend on *qmake_all. 142 # Without this rule we end up running qmake twice for the derived sources, as well as 143 # introducing a race condition where we run "qmake -o Makefile.DerivedSources" at the 144 # same time as we run "make -f Makefile.DerivedSources", resulting in make reading a 145 # half-written makefile. 146 derived_make_for_qmake.target = $${first_base_target}-make_for_qmake 147 derived_make_for_qmake.depends = $${first_base_target}-qmake_all 148 derived_make_for_qmake.commands = $(MAKE) -f $$eval($${firstSubdir}.makefile) 149 QMAKE_EXTRA_TARGETS += derived_make_for_qmake 150 151 # This target ensures that running "make qmake" will force both qmake and make 152 # to be run on the derived sources before running qmake on the target, so that 153 # qmake can pick up the right dependencies for the target based on the derived 154 # sources that were generated. 155 target_make_qmake.target = $${second_base_target}-qmake_all 156 target_make_qmake.depends = $${derived_make_for_qmake.target} 157 QMAKE_EXTRA_TARGETS += target_make_qmake 158 159 GNUmake { 160 # This target ensures that running make before any makefiles have been created 161 # will still force qmake and make to be run on the derived sources first. 162 target_make.target = $$eval($${secondSubdir}.makefile) 163 164 # We use order-only-prerequisites so that we can run make on the derived sources 165 # without triggering a qmake run on the target due to updated dependencies. 166 target_make.depends = "| $${first_base_target}-make_default-ordered" 167 168 QMAKE_EXTRA_TARGETS += target_make 140 haveQt(4) { 141 # Use a custom target for making the derived sources instead of the default ones, 142 # as the default ones depend on $(MAKEFILE), while we want to depend on *qmake_all. 143 # Without this rule we end up running qmake twice for the derived sources, as well as 144 # introducing a race condition where we run "qmake -o Makefile.DerivedSources" at the 145 # same time as we run "make -f Makefile.DerivedSources", resulting in make reading a 146 # half-written makefile. 147 derived_make_for_qmake.target = $${first_base_target}-make_for_qmake 148 derived_make_for_qmake.depends = $${first_base_target}-qmake_all 149 derived_make_for_qmake.commands = $(MAKE) -f $$eval($${firstSubdir}.makefile) 150 QMAKE_EXTRA_TARGETS += derived_make_for_qmake 151 152 # This target ensures that running "make qmake" will force both qmake and make 153 # to be run on the derived sources before running qmake on the target, so that 154 # qmake can pick up the right dependencies for the target based on the derived 155 # sources that were generated. 156 target_make_qmake.target = $${second_base_target}-qmake_all 157 target_make_qmake.depends = $${derived_make_for_qmake.target} 158 QMAKE_EXTRA_TARGETS += target_make_qmake 159 160 GNUmake { 161 # This target ensures that running make before any makefiles have been created 162 # will still force qmake and make to be run on the derived sources first. 163 target_make.target = $$eval($${secondSubdir}.makefile) 164 165 # We use order-only-prerequisites so that we can run make on the derived sources 166 # without triggering a qmake run on the target due to updated dependencies. 167 target_make.depends = "| $${first_base_target}-make_default-ordered" 168 169 QMAKE_EXTRA_TARGETS += target_make 170 } 171 } else { 172 # Qt5's qmake does most of the above for us already. 173 174 # This target ensures that running "make qmake_all" will force both qmake and make 175 # to be run on the derived sources before running qmake on the target, so that 176 # qmake can pick up the right dependencies for the target based on the derived 177 # sources that were generated. Just "make qmake" is non-recursive anyway. 178 target_make_qmake.target = $${second_base_target}-qmake_all 179 target_make_qmake.depends = $${first_base_target} 180 QMAKE_EXTRA_TARGETS += target_make_qmake 181 182 # Make things work even if qmake -r is used. 183 CONFIG += dont_recurse 169 184 } 170 185
Note: See TracChangeset
for help on using the changeset viewer.