我最近将我的作品基于构建系统转换为摇动。我现在正试图让shake 对目录结构的更改更加健壮,这样我就不必重新生成构建系统。
我使用的每个项目都是基于 C 的,并且具有以下目录结构
- 源代码
- 源文件夹 1
- 源文件夹 2
- 公司
- 公司文件夹 1
- 公司文件夹 2
我能够捕获所有源文件,但我无法开始工作的是捕获包含文件夹。我试图将根 inc 文件夹和子文件夹捕获到构建系统中的变量中。我一直在使用以下设置
includes = getDirectoryDir "inc"
这会给我包含的子文件夹,但不会给我根文件夹 inc。我认为我可以解决这个问题,但不会跟踪公司。
我想要的是有类似的东西
includes = getDirectoryDirAndRoot "inc"
它将捕获每个子目录和根目录,并在构建系统中对其进行跟踪。
除了我也尝试过使用的东西
gcc -o out includes
但是我需要在 include 中的每个元素前面加上我似乎无法弄清楚的“-I”。
我猜想如何在摇晃中做这件事,在 make 中我可以通过使用 make shell 函数和几个字符串操作函数来完成所有这些。