Есть ли практика для создания файла состояния в качестве цели Makefile - PullRequest
0 голосов
/ 20 марта 2020

По умолчанию цели Makefile являются целевыми файлами. Чтобы заставить его работать для нефайловой цели, требуется обходной путь.

Например:

  1. Существует задача file_upload, которая обеспечивает загрузку локального файла на удаленный сервер.
  2. Существуют task_a и task_b, которые зависят от задачи file_upload
  3. При полном запуске задания task_a и task_b вызываются последовательно, но не из одного и того же выполнения make

Предположим, что файл на удаленном сервере не изменится другими.

Можем ли мы использовать Makefile здесь, чтобы файл_upload не вызывался дважды за один полный запуск задания? Вот черновое решение:

.state/file_upload:
  ensure file uploaded
  create .state/file_upload
task_a: .state/file_upload
task_b: .state/file_upload
.PHONY task_a task_b

Makefile хорошо работает для случая «обеспечить желаемое состояние», когда целью является файловая система. Вопрос для нефайловых целей, есть ли какое-то применение на практике?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...