【发布时间】:2019-03-21 18:54:57
【问题描述】:
我有以下项目结构,其中每个 .adb 文件都是一个独立的可执行文件,不会也不会依赖于其他任何东西:
project/
├── project.gpr
├── bin/
│ ├── bar
│ ├── baz
│ └── foo
├── obj/
│ └── .o's, .ali's, etcetera
└── src/
├── bar.adb
├── baz.adb
└── foo.adb
这是project.gpr:
project Project is
for Source_Dirs use ("src");
for Object_Dir use "obj";
for Exec_Dir use "bin";
for Main use ("src/foo.adb", "src/bar.adb", "src/baz.adb");
end Project;
目前gprbuild 和gprclean 完全符合我的要求,但是src/ 下的文件数量可能会增长到数百个。
有没有办法告诉 GPRbuild src/ 下的每个 .adb 文件都应被视为 Main 目标而不明确列出每个文件?
【问题讨论】:
-
documentation 说您不应该将目录组件放在主文件名中(我知道这不是答案,但是..)
-
非常感谢,我才刚刚开始学习 Ada 的诀窍。
-
由于您是从 Ada 开始的,因此您应该记住,Ada 是一种编程语言,而 GNAT 是该语言的特定编译器。 GNAT 如何执行编译的细节,包括它的项目机制、项目文件语言、使用特定文件名的压力、每个文件只有一个编译单元的压力等等,在技术上不是 Ada。你应该尽量区分你正在学习的内容的哪些部分是 Ada,哪些是 GNAT 特定的。