Это руководство было удалено из пакета CentOS man-pages
в 2014 году , когда CentOS перешла на использование systemd . Из журнала изменений наhttps://centos.pkgs.org/7/centos-x86_64/man-pages-3.53-5.el7.noarch.rpm.html:
2014-02-11 - Peter Schiffer - 3.53-5 - resolves: #1058101 added note about default values to the nscd.conf(5) man page - resolves: #1059829 added three pthread_mutex* man pages from POSIX.1-2008 - resolves: #1062906 removed boot(7) man page
Устраненный номер ошибки ссылается на средство отслеживания ошибок Red Hat , но ошибка не является общедоступной.
Если make-файл выглядит так:
code-style-check: source.c
tool-you-dont-have
myprogram: code-style-check source.c
compile source.c -o myprogram
, то вы можете избежать запуска tool-you-dont-have
, создав файл с именемcode-style-check
:
touch code-style-check
Make увидит, что code-style-check
новее, чем source.c
, и не будет пытаться его перестроить.
Это не работает, если code-style-check
является фальшивой целью, объявленной с.PHONY: code-style-check
:фальшивыми целями, не являющимися именами файлов.
Обратите внимание, что если code-style-check
имеет зависимости, они больше не будут учитываться при принятии решения о перестроении myprogram
. В приведенном выше примере это не имеет значения, потому что code-style-check
не имеет зависимостей, которых нет у myprogram
.
Альтернативное решение с помощью GNU make, которое работает даже для фальшивой цели, заключается в запуске
make -o code-style-check …
Параметр -o
сообщает make считать code-style-check
более старым, чем все, что уже есть (, в отличие от подхода touch
, который делает файл более новым, чем все, что уже есть ), а также не считать попробуй восстановить. Опять же, если зависимости code-style-check
также нужны для myprogram
, они не будут построены.