>А в чём смысл зависимости файлов от времени изменения директорий, в которых
>они находятся?
чтобы создать в каталоге файлы (подкаталоги), нужно создать сначала каталог
КАТАЛОГ:
mkdir КАТАЛОГ
у подкаталогов показываем зависимость, т.к. если КАТАЛОГ не будет, сценарий завершится с ошибкой.
ПОДКАТАЛОГ_1: КАТАЛОГ
mkdir ПОДКАТАЛОГ1
ПОДКАТАЛОГ_2: КАТАЛОГ
mkdir ПОДКАТАЛОГ_2
Получается две ветки подкаталогов, которые пересекаются в КАТАЛОГЕ.
Теперь, если мы создали ПОДКАТАЛОГ_1 (в нём сценарий сгенерил кучу файлов) мы балдеем! нам клёво!
Но если мы ПОСЛЕ этого создадим ПОДКАТАЛОГ_2, время модификации КАТАЛОГ станет моложе, чем вся ветка ПОДКАТАЛОГ_1. В результате make пытается всю эту ветку пересоздать, если на неё показать. Чего нафиг не надо.
Понятно?
В общем, я думаю особо простого решения тут нет.
Нужно выделить все точки пересечения в отдельные цели и показывать зависимость подкаталогов от них. Тогда можно будет touch делать только раз в конце создания в каталоге всех файлов. Или применять уже найденное решение, не такое уж оно и плохое.