Можно ли управлять косвенными зависимостями .h с помощью команды touch?

Рекомендуется использовать -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 ответ

Решение

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

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

Другие вопросы по тегам