我正在使用Autotools作为我的C ++包。我的包有一个二进制文件,例如名为“myprog”。我写了一个bash脚本,“test.bash”,其中包含一个功能测试。该脚本有4个步骤:(1)创建输入文件,(2)生成预期输出文件,(3)在输入文件上启动“myprog”,(4)将“prog”的输出与预期输出进行比较。
在第3步中,“test.bash”需要知道“myprog”的路径。如果我自己在独立版本上启动“test.bash”,我可以在命令行中将“myprog”的路径作为选项。但是,在使用make check
或make distcheck
?
我正在阅读manual of Autotools/Automake。我想有一种方法可以使用由configure
设置的变量,但我不知道如何使用它们,所以任何解决方案都受到欢迎!
答案 0 :(得分:5)
您可以使用TESTS
中的Makefile.am
变量并设置AM_TESTS_ENVIRONMENT
变量来传递选项或为bash脚本设置环境变量。它在this页面上进行了描述,采用了autotools手册中常见的随意风格。
由于myprog
可以在源树之外构建,因此可以将变量设置为$(top_builddir)/relative/path
以便在脚本中使用,或者对{1}}命令使用脚本所在的目录正在执行。