你可以使用gnatname
:看User’s Guide。
我從ACATS測試套件的工作目錄複製子目錄a/
和d/
和創建的項目文件p.gpr
:
project p is
for source_dirs use ("a", "d");
end p;
與
gnatname -P p -d a -d d \*.ada
這就造成了一個編輯p.gpr
跑gnatname
和兩個新文件,p_naming.gpr
和p_source_list.txt
。這是相當長的,但看起來像
p.gpr
:
with "p_naming.gpr";
project P is
for Source_List_File use "p_source_list.txt";
for Source_Dirs use ("a", "d");
package Naming renames P_Naming.Naming;
end P;
p_naming.gpr
:
project P_Naming is
for Source_Files use();
package Naming is
for Body ("d4a004b") use "d4a004b.ada";
for Body ("d4a004a") use "d4a004a.ada";
for Body ("d4a002b") use "d4a002b.ada";
...
for Body ("aa2010a_parent.boolean") use "aa2010a.ada" at 4;
for Body ("aa2010a_parent") use "aa2010a.ada" at 3;
for Spec ("aa2010a_parent") use "aa2010a.ada" at 2;
for Spec ("aa2010a_typedef") use "aa2010a.ada" at 1;
...
for Body ("a22006d") use "a22006d.ada";
for Body ("a22006c") use "a22006c.ada";
for Body ("a22006b") use "a22006b.ada」;
end Naming;
end P_Naming;
的for Body ("aa2010a_parent") use "aa2010a.ada" at 3;
當有源文件中的多個單位使用。
p_source_list.txt
:
a22006b.ada
a22006c.ada
a22006d.ada
a27003a.ada
a29003a.ada
...
d4a002b.ada
d4a004a.ada
d4a004b.ada
建設時,例如,測試d4a004b
,你要使用的文件名和後綴:
gnatmake -P p d4a004b.ada
這似乎之後我刪除了反斜槓的工作: 「gnatname -P p -d src -v -v * .Ada」謝謝。 – Jim 2014-11-09 04:39:24
我認爲這取決於你的shell(在我的情況下,Mac OS X Mavericks上的bash 3.2.53)如何解釋通配符。 gnatname需要一個模式,所以即使當前目錄中有匹配的文件,也不能擴展「*」。用單引號或雙引號括起來也應該起作用。 – 2014-11-09 07:19:16