summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2015-04-23 13:40:49 +0200
committerOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2015-04-23 19:16:57 +0000
commit3378aa45c27052510c244f935639d65bdf9275f4 (patch)
tree2563f73c3933ff962572426ba7fa882d2b84fa50 /mkspecs
parent6e2e0e061ff1974b35cd171e085b9920d770e7d9 (diff)
fix distclean targets
this makes the distclean targets work throughout qt. the dreaded confclean target is aliased to distclean. Task-number: QTBUG-8202 Task-number: QTBUG-20566 Change-Id: I7ac8e3b5b0110825dc93e4fa885281db91c6cf83 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/features/qt_module_headers.prf7
-rw-r--r--mkspecs/features/qt_parts.prf18
2 files changed, 25 insertions, 0 deletions
diff --git a/mkspecs/features/qt_module_headers.prf b/mkspecs/features/qt_module_headers.prf
index aed04c3c1c..3f2383c120 100644
--- a/mkspecs/features/qt_module_headers.prf
+++ b/mkspecs/features/qt_module_headers.prf
@@ -24,6 +24,10 @@ load(qt_build_paths)
-outdir $$system_quote($$MODULE_BASE_OUTDIR) $$MODULE_SYNCQT_DIR
!silent: message($$QMAKE_SYNCQT)
system($$QMAKE_SYNCQT)|error("Failed to run: $$QMAKE_SYNCQT")
+
+ include-distclean.commands = $$QMAKE_DEL_TREE $$shell_quote($$shell_path($$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME))
+ QMAKE_EXTRA_TARGETS += include-distclean
+ DISTCLEAN_DEPS += include-distclean
}
minimal_syncqt: return()
@@ -41,11 +45,13 @@ for (injection, SYNCQT.INJECTIONS) {
MAIN_FWD = $$INC_PATH/include/$$MODULE_INCNAME/$$fwd_hdr
MAIN_FWD_CONT = '$${LITERAL_HASH}include "$$member(injects, 0)"'
write_file($$MAIN_FWD, MAIN_FWD_CONT)|error("Aborting.")
+ !git_build: QMAKE_DISTCLEAN += $$MAIN_FWD
injects = $$member(injects, 2, -1)
for (inject, injects) {
CLASS_FWD = $$INC_PATH/include/$$MODULE_INCNAME/$$inject
CLASS_FWD_CONT = '$${LITERAL_HASH}include "$$fwd_hdr"'
write_file($$CLASS_FWD, CLASS_FWD_CONT)|error("Aborting.")
+ !git_build: QMAKE_DISTCLEAN += $$CLASS_FWD
}
}
@@ -65,6 +71,7 @@ MODULE_MASTER_DEPS_HEADER = $$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME/$${MOD
}
MODULE_MASTER_DEPS_HEADER_CONT += "$${LITERAL_HASH}endif"
write_file($$MODULE_MASTER_DEPS_HEADER, MODULE_MASTER_DEPS_HEADER_CONT)|error("Aborting.")
+ !git_build: QMAKE_DISTCLEAN += $$MODULE_MASTER_DEPS_HEADER
}
SYNCQT.HEADER_FILES += $$MODULE_MASTER_DEPS_HEADER
diff --git a/mkspecs/features/qt_parts.prf b/mkspecs/features/qt_parts.prf
index fee711aeb8..877bd60321 100644
--- a/mkspecs/features/qt_parts.prf
+++ b/mkspecs/features/qt_parts.prf
@@ -71,3 +71,21 @@ exists($$_PRO_FILE_PWD_/tests/tests.pro) {
QT_BUILD_PARTS -= libs tools examples tests
!isEmpty(QT_BUILD_PARTS): warning("Unknown build part(s): $$QT_BUILD_PARTS")
+
+QMAKE_DISTCLEAN += \
+ .qmake.cache \
+ config.log \
+ mkspecs/modules/*.pri \
+ mkspecs/modules-inst/*.pri
+
+tests = $$files($$_PRO_FILE_PWD_/config.tests/*.pro, true)
+testdirs =
+for (t, tests): \
+ testdirs += $$relative_path($$dirname(t), $$_PRO_FILE_PWD_)
+testdirs = $$unique(testdirs)
+for (td, testdirs) {
+ t = $$basename(td)-distclean
+ $${t}.commands = -cd $$shell_path($$td) && $(MAKE) distclean
+ QMAKE_EXTRA_TARGETS += $$t
+ DISTCLEAN_DEPS += $$t
+}