Как перезаписать цель `make dist` по умолчанию для Qmake? - PullRequest
0 голосов
/ 22 августа 2010

В проекте Qt мне нужно предоставить пользовательский make dist.Поэтому я добавил следующие строки в файл *.pro:

QMAKE_EXTRA_TARGETS += dist
dist.commands = [...]

Это работает, но показывает каждый раз при запуске make следующие предупреждения:

Makefile:209: warning: overriding commands for target `dist'
Makefile:188: warning: ignoring old commands for target `dist'

Кроме, он работает довольно хорошо и полностью перезаписывает цель Qmake по умолчанию make dist.Но предупреждения действительно раздражают.

Я мог бы использовать другое имя цели, такое как make dist-all, но make dist - это установленная стандартная команда .Можно ли переписать Qmake make dist без получения предупреждений?

Может быть, я на неправильном пути? Должен ли я решить эту проблему по-другому?

1 Ответ

0 голосов
/ 30 августа 2010

предупреждение генерируется make , а не qmake, потому что dist определяется дважды - что недопустимо.Вы не можете переопределить цель dist без перекомпиляции qmake, потому что цель dist жестко задана в qmake / generators / unix / unixmake.cpp

, чтобы решить проблему, после которой вы можете отредактировать make-файлон генерируется qmake (например, используя скрипт, который оборачивает вызов qmake, а затем удаляет стандартную цель dist)

или использует другое имя цели, например 'myDist'

...