!contains(QMAKE_EXTRA_TARGETS, docs) { 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 } !contains(QMAKE_EXTRA_TARGETS, install_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) } QMAKE_EXTRA_TARGETS += \ install_html_docs uninstall_html_docs \ install_qch_docs uninstall_qch_docs \ install_docs uninstall_docs }