From 4404cd51657ef99ee90a84bbe2e0ee26ac281230 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 4 Dec 2012 21:25:05 +0100 Subject: fix doc target recursions in particular for the meta Makefiles of debug_and_release. the logic is as follows: - the meta targets ('html_docs' in prepare_docs mode, and 'docs' always) need to branch out asap, so they are implemented non-recursively in every makefile. - all other targets need to be fully recursive. the meta Makefile will recurse only into one of debug or release, depending on the configure option (it doesn't matter anyway). Change-Id: I4e3f714cdda9c3a1021743148b5ee73379e3484d Reviewed-by: hjk Reviewed-by: Joerg Bornemann Reviewed-by: Oswald Buddenhagen --- mkspecs/features/qt_docs_targets.prf | 63 ++++++++++++++++++------------------ 1 file changed, 32 insertions(+), 31 deletions(-) (limited to 'mkspecs/features/qt_docs_targets.prf') diff --git a/mkspecs/features/qt_docs_targets.prf b/mkspecs/features/qt_docs_targets.prf index 9f62e00f06..1af9fd9019 100644 --- a/mkspecs/features/qt_docs_targets.prf +++ b/mkspecs/features/qt_docs_targets.prf @@ -1,33 +1,34 @@ - contains(TEMPLATE, subdirs) { - prepare_docs { - prepareRecursiveTarget(prepare_docs) - prepareRecursiveTarget(generate_docs) - html_docs.commands = $(MAKE) -f $(MAKEFILE) prepare_docs && $(MAKE) -f $(MAKEFILE) generate_docs - } else { - prepareRecursiveTarget(html_docs) - } - prepareRecursiveTarget(qch_docs) - prepareRecursiveTarget(docs) - } else { - # apps and libs only generate docs if QMAKE_DOCS is set - !isEmpty(QMAKE_DOCS) { - # backwards compat hack - load(qt_docs) - } - } - docs.commands = $(MAKE) -f $(MAKEFILE) html_docs && $(MAKE) -f $(MAKEFILE) qch_docs - QMAKE_EXTRA_TARGETS += html_docs qch_docs docs - prepare_docs: QMAKE_EXTRA_TARGETS += prepare_docs generate_docs +DOC_TARGETS = \ + install_html_docs uninstall_html_docs \ + install_qch_docs uninstall_qch_docs \ + install_docs uninstall_docs \ + qch_docs + +prepare_docs { + DOC_TARGETS += prepare_docs generate_docs + html_docs.commands = $(MAKE) -f $(MAKEFILE) prepare_docs && $(MAKE) -f $(MAKEFILE) generate_docs + QMAKE_EXTRA_TARGETS += html_docs +} else { + DOC_TARGETS += html_docs +} - contains(TEMPLATE, subdirs) { - prepareRecursiveTarget(install_html_docs) - prepareRecursiveTarget(uninstall_html_docs) - prepareRecursiveTarget(install_qch_docs) - prepareRecursiveTarget(uninstall_qch_docs) - prepareRecursiveTarget(install_docs) - prepareRecursiveTarget(uninstall_docs) +docs.commands = $(MAKE) -f $(MAKEFILE) html_docs && $(MAKE) -f $(MAKEFILE) qch_docs +QMAKE_EXTRA_TARGETS += docs + +contains(TEMPLATE, subdirs) { + for(inst, DOC_TARGETS): \ + prepareRecursiveTarget($$inst) +} else:debug_and_release:!build_pass { + sub = $$first(BUILDS) + for(inst, DOC_TARGETS) { + $${inst}.CONFIG = recursive + $${inst}.recurse = $$sub + } +} else { + # apps and libs only generate docs if QMAKE_DOCS is set + !isEmpty(QMAKE_DOCS) { + # backwards compat hack + load(qt_docs) } - QMAKE_EXTRA_TARGETS += \ - install_html_docs uninstall_html_docs \ - install_qch_docs uninstall_qch_docs \ - install_docs uninstall_docs +} +QMAKE_EXTRA_TARGETS += $$DOC_TARGETS -- cgit v1.2.3