Вы можете добавить собственную цель к полученной Makefile
, используя переменную QMAKE_EXTRA_TARGETS
, например:
QMAKE_EXTRA_TARGETS += beforebuild
beforebuild.commands = echo Hello world!
beforebuild.CONFIG = phony
Однако, вы не можете поставить эту цель на first: all
line, если вы не исправили исходный код qmake
(рассмотрите следующий фрагмент из makefile.cpp
: t << "first: " << targets.first()->target << endl
).
В принципе, возможно вызвать некоторую зависимость между all
(или release
/ debug
) и ваша цель beforebuild
, поэтому beforebuild
все равно будет автоматически выполняться make
, как описано в этой статье (русский язык).Тем не менее, полученное решение кажется мне слишком уродливым и подверженным ошибкам.
Я думаю, что просто выполнить make beforebuild first
(возможно, с помощью сценария оболочки) намного проще.Если вы не используете Qt Creator, в этом случае вам следует попробовать рецепт по ссылке выше.