From 3378aa45c27052510c244f935639d65bdf9275f4 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Thu, 23 Apr 2015 13:40:49 +0200 Subject: 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 --- mkspecs/features/qt_module_headers.prf | 7 +++++++ mkspecs/features/qt_parts.prf | 18 ++++++++++++++++++ 2 files changed, 25 insertions(+) (limited to 'mkspecs') 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 +} -- cgit v1.2.3