Обновление метки времени после запуска make рекурсивно - PullRequest
0 голосов
/ 27 апреля 2018

Мой проект зависит от других проектов в подпапках. Я хочу вызвать make рекурсивно, чтобы собрать все за один прогон.

Моя первая попытка выглядит так:

.PHONY: all make_recursion

all: program

program: submake1/lib submake2/lib

submake1/lib: make_recursion

submake2/lib: make_recursion

make_recursion:
    make -C submake1
    make -C submake2

Это не работает, как задумано. Каждый запуск make обоих submake выполняется в случае изменения файла в этих проектах. Для submake2 моя программа также перестраивается, если submake2 / lib была обновлена. Если обновляется только submake1 / lib, мне нужно выполнить make второй раз, чтобы обновить программу.

Причина этого в том, что make берет временную метку submake1 / lib перед make_recursion, но не обновляет ее после этого. Как я могу улучшить это?

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