После некоторых исследований я нашел не очень привлекательное, но работающее решение.qmake имеет недокументированную опцию с именем no_autoqmake.Поэтому я передал его в CONFIG, а затем написал свою собственную цель Makefile.
CONFIG += no_autoqmake
for(arg, QMAKE_ARGS){
tmp = $$section(arg, =, 0, 0)
!equals(tmp, MAKE_ARGS){
QMAKE_ARGUMENTS += $$arg
}
}
promod.name = on_pro_modified
promod.target = Makefile
promod.commands = $$QMAKE_QMAKE $$_PRO_FILE_ $$QMAKE_ARGUMENTS MAKE_ARGS='$(MAKECMDGOALS)'
promod.depends = $$_PRO_FILE_ $$QMAKE_INTERNAL_INCLUDED_FILES
PRE_TARGETDEPS += $$_PRO_FILE_
QMAKE_EXTRA_TARGETS += promod
contains(MAKE_ARGS, clean) : CLEAN_MODE_ACTIVATED=1
Если кто-нибудь найдет лучшее решение, пожалуйста, поделитесь.