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 <qthjk@ovi.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
This commit is contained in:
Oswald Buddenhagen 2012-12-04 21:25:05 +01:00 committed by The Qt Project
parent dab346fa25
commit 4404cd5165
2 changed files with 32 additions and 32 deletions

View File

@ -17,7 +17,6 @@ doc_command = $$QDOC $$QMAKE_DOCS
prepare_docs {
prepare_docs.commands += $$doc_command -prepare -no-link-errors
generate_docs.commands += $$doc_command -generate
html_docs.depends += generate_docs
} else {
html_docs.commands += $$doc_command
}

View File

@ -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
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)
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
}
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
}
QMAKE_EXTRA_TARGETS += \
install_html_docs uninstall_html_docs \
install_qch_docs uninstall_qch_docs \
install_docs uninstall_docs
} else {
# apps and libs only generate docs if QMAKE_DOCS is set
!isEmpty(QMAKE_DOCS) {
# backwards compat hack
load(qt_docs)
}
}
QMAKE_EXTRA_TARGETS += $$DOC_TARGETS