Недавно я преобразовал свою систему сборки на основе работы в Shake. Теперь я пытаюсь сделать тряску немного более устойчивой к изменениям в структуре каталогов, чтобы мне не приходилось регенерировать систему сборки.
Каждый из моих проектов основан на C и имеет следующую структуру каталогов.
- src
- source folder 1
- исходная папка 2
- inc
- inc folder 1
- папка 2
Я могу захватить все исходные файлы, но я не могу работать с включенными папками. Корневая папка inc и подпапки, которые я пытаюсь записать в переменную в системе сборки. Я использовал следующую настройку
includes = getDirectoryDir "inc"
Это даст мне включенные подпапки, но не корневую папку, вкл. Я думал, что смогу обойти это, но inc не будет отслеживаться.
Я хотел бы иметь что-то вроде
includes = getDirectoryDirAndRoot "inc"
Который будет захватывать каждый из подкаталогов и корневой каталог и отслеживать их в системе сборки.
Помимо того, что я также пытался использовать
gcc -o out includes
Но мне нужно, чтобы к каждому элементу во включенном состоянии добавлялся «-I», который я не могу понять.
Я думаю, как можно было бы сделать это в встряхивании, в make я могу выполнить все это, используя функцию оболочки make и пару функций манипуляции со строками.