Make: настройка среды сборки для многозадачных исследовательских работ

Этот вопрос возник из моего предыдущего вопроса (и обсуждения в комментариях к нему) о моем использовании среды < для R -ограниченного программного обеспечения для научных исследований (для моей кандидатской диссертации): всегда перестраивает цели Makefile.

Следуя рекомендациям @MadScentist, я создал этот вопрос, чтобы прояснить следующий аспект моей среды сборки. Поскольку я использую файлы Makefile практически во всех подкаталогах моего проекта, я столкнулся с проблемой правильной спецификации для моих зависимостей рабочего процесса исследования. Хотя сам рабочий процесс довольно стандартный (сбор данных = > подготовка данных (преобразование, очистка, слияние, выборка) = > анализ данных = > представление результатов), проблема ИМХО проистекает из необходимости указывать зависимости сборки между артефактами, расположенными в разные каталоги (и разных типов, т.е. один промежуточный файл зависит от набора файлов данных и т.д.). Я нигде не нашел никакой документации или ясного объяснения решения этой проблемы.

Ваша помощь очень ценится!

ОБНОВЛЕНИЕ: перефразировал заголовок вопроса, чтобы прояснить проблему.

Ответ 1

Насколько я знаю, решения этой проблемы не существует. Вот почему в первую очередь была написана статья 'Recursive Make Considered Harmful'.

Если вам нужны отношения между каталогами на уровне объектов, вы не можете использовать make файл для каждого каталога. С make файлом для каждого каталога: s у вас есть только синхронизированный вручную порядок запуска команд make. (Возможно, вы могли бы подделать хотя бы некоторое количество необходимого здания, используя файлы штампов для каждого целевого каталога и правила пересылки в каждом make файле, но, скорее всего, он будет довольно уродливым и громоздким и может не работать с несколькими каталогами на любом заданный уровень.)