Как я могу создать основанное на времени правило Makefile? - PullRequest
1 голос
/ 06 января 2010

Я бы хотел, чтобы цель Makefile перестраивалась, только если целевой файл старше некоторого интервала времени.

В качестве примера скажем, что у меня есть какой-то способ генерации ключа, действительный в течение одного дня, но генерация которого занимает нетривиальное количество времени. Я мог просто восстановить его каждый раз, когда мне это было нужно:

.PHONY: key
key:
    sleep 5 && echo generated > key
foo: key
    echo foo
bar: key
    echo bar

Но в течение дня я мог бы набрать make foo или make bar довольно много раз. Ожидание каждый раз раздражает, и я бы предпочел просто съесть эту стоимость один раз в день.

1 Ответ

4 голосов
/ 06 января 2010

Пусть сгенерированный файл зависит от какого-нибудь фиктивного файла, например key-timestamp, затем выполняйте задание cron touch, которое каждый день.

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