Шаг Pre Build в проекте automake

Как бы вы добавили настраиваемый шаг предварительной сборки в проекте automake и autoconf. Мне нужно запустить команду перед запуском make, чтобы обновить временную метку файлов, чтобы убедиться, что они собираются при каждой сборке.

Спасибо


person Adam Magaluk    schedule 06.10.2011    source источник


Ответы (1)


Если вам нужно, чтобы файл регенерировался при каждом вызове make, эта идиома makefile выполнит эту работу:

always_build_me: FORCE
        # commands

FORCE: # no dependencies or commands
.PHONY: FORCE # hint for gnu make, ignored by others

Однако то, что вам это нужно, предполагает, что always_build_me изменяется каждый раз, когда он перестраивается, что является плохой практикой. Ваш процесс сборки должен быть полностью детерминированным — то есть, если вы не меняли исходные коды, перестроение с нуля должно производить точно такие же биты, как и в прошлый раз.

person zwol    schedule 06.10.2011
comment
Я согласен, но есть ли хороший способ проверить, изменился ли какой-либо из источников, а затем принудительно использовать конкретный файл только при изменении файла? - person Adam Magaluk; 07.10.2011
comment
Если это то, что вы хотите, почему обычные зависимости makefile не работают? - person zwol; 07.10.2011