Можно ли управлять косвенными зависимостями .h с помощью команды touch? - PullRequest
0 голосов
/ 22 октября 2019

Рекомендуется использовать опцию -MM для управления косвенными зависимостями в заголовках. Почему мы не используем команду touch. Я что-то здесь упускаю или просто потому, что это хак, и мы хотим сохранить реальную последнюю модификацию метки времени (похоже на навязчивый метод).

Пример: - stack.h, stack.c, array. h, массив array.c зависит от стека

array.o: array.c

array.c: array.h

stack.o: stack.c

stack.c: stack.h

stack.h: array.h
    touch stack.h

Другое дело: файлы нужно каждый раз полностью анализировать с опцией -MM, верно? И не с этим touch методом и будет преимуществом, если я ничего не пропущу, нет?

1 Ответ

1 голос
/ 22 октября 2019

Вы можете использовать touch. Но это болезненно для всех, кроме относительно тривиальных сред, потому что вы должны убедиться, что заголовочный файл включает в себя зависимости, точно отраженные в make-файле, иначе вы можете получить сбои сборки или, что еще хуже, таинственные сбои.

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

...