diff options
Diffstat (limited to 'mkspecs')
-rw-r--r-- | mkspecs/features/ivigenerator.prf | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/mkspecs/features/ivigenerator.prf b/mkspecs/features/ivigenerator.prf index 93bce6b..ff01a28 100644 --- a/mkspecs/features/ivigenerator.prf +++ b/mkspecs/features/ivigenerator.prf @@ -91,15 +91,24 @@ for (IMPORT, QFACE_IMPORT_PATH) { } # Windows doesn't offer any other way to sleep for a time inside non-interactive scripts -equals(QMAKE_HOST.os, Windows): SLEEP = ping -n 2 127.0.0.1 >nul -else: SLEEP = sleep 1 +equals(QMAKE_HOST.os, Windows): { + SLEEP = ping -n 2 127.0.0.1 >nul + TOUCH = type nul > +} else { + SLEEP = sleep 1 + TOUCH = touch +} -qface_sources.target = $$relative_path($$PRI, $$OUT_PWD) -qface_sources.commands = $$SLEEP && $$ENV $$system_path($$IVI_GENERATOR) $$IVI_GENERATOR_OPTIONS $$system_quote($$system_path($$QFACE_ABS_PWD/$${QFACE_FILE})) $$system_quote($$system_path($$QFACE_OUTPUT_DIR)) +qface_sources.target = $$relative_path(.stamp-ivigenerator, $$OUT_PWD) +qface_sources.commands += $(DEL_FILE) $$system_quote($$system_path($$OUT_PWD/.stamp-ivigenerator)) && +qface_sources.commands += $$SLEEP && $$ENV $$system_path($$IVI_GENERATOR) $$IVI_GENERATOR_OPTIONS $$system_quote($$system_path($$QFACE_ABS_PWD/$${QFACE_FILE})) $$system_quote($$system_path($$QFACE_OUTPUT_DIR)) && +qface_sources.commands += $$TOUCH $$system_quote($$system_path($$OUT_PWD/.stamp-ivigenerator)) qface_sources.depends = $$IVI_GENERATOR_PATH/generate.py qface_sources.depends += $$QFACE_ABS_PWD/$${QFACE_FILE} qface_sources.depends += $$files($$IVI_GENERATOR_PATH/templates/common/*) +QMAKE_CLEAN += $$relative_path(.stamp-ivigenerator, $$OUT_PWD) + # Add all templates of the generator format as dependency QFACE_TEMPLATE_PWD = $$IVI_GENERATOR_PATH/templates/$${QFACE_FORMAT} exists($$QFACE_TEMPLATE_PWD) { @@ -120,14 +129,14 @@ exists($$QFACE_YAML) { QFACE_HEADERS_OUTPUT_TARGET = $${QFACE_HEADERS_OUTPUT_DIR}/$$lower($${QFACE_MODULE_NAME})module.h qface_headers.target = $$relative_path($$QFACE_HEADERS_OUTPUT_TARGET, $$OUT_PWD) qface_headers.commands = $${QMAKE_COPY_FILE} $${QFACE_OUTPUT_DIR}/*.h $${QFACE_HEADERS_OUTPUT_DIR} - qface_headers.depends = $$relative_path($$PRI, $$OUT_PWD) $$IVI_GENERATOR_PATH/generate.py + qface_headers.depends = $$relative_path(.stamp-ivigenerator, $$OUT_PWD) $$IVI_GENERATOR_PATH/generate.py } # Reevaluate the Makefile after the generation has finished Makefile.target = Makefile # The relative_path is needed here as qmake will use a relative_path for the output files # when using a QMAKE_EXTRA_COMPILER -Makefile.depends = $$relative_path($$PRI, $$OUT_PWD) +Makefile.depends = $$relative_path(.stamp-ivigenerator, $$OUT_PWD) # Make the qmake_all target work for usage inside QtCreator # Because of the Makefile target the generator is called before the actual Makefile @@ -176,7 +185,7 @@ QMAKE_EXTRA_TARGETS += Makefile qface_sources # Afterwards the sub makefiles are read (Makefile.debug/release), which have been # regenerated before starting NMAKE on them. win32-msvc* { - qmake.depends = $$relative_path($$PRI, $$OUT_PWD) + qmake.depends = $$relative_path(.stamp-ivigenerator, $$OUT_PWD) debug.depends = qmake debug-make_first.depends = qmake |