【发布时间】:2012-02-15 00:01:09
【问题描述】:
我想编写一个可以运行测试的 Makefile。测试在'./tests'目录下,要测试的可执行文件在'./bin'目录下。
当我运行测试时,他们看不到 exec 文件,因为目录 ./bin 不在 $PATH 中。
当我做这样的事情时:
EXPORT PATH=bin:$PATH
make test
一切正常。但是我需要更改 Makefile 中的 $PATH。
简单的 Makefile 内容:
test all:
PATH=bin:${PATH}
@echo $(PATH)
x
它正确打印了路径,但是它没有找到文件 x。
当我手动执行此操作时:
$ export PATH=bin:$PATH
$ x
然后一切正常。
如何更改 Makefile 中的 $PATH?
【问题讨论】:
-
你不能像
../test/test_to_run这样从可执行目录中调用测试吗?对不起,如果我误解了这个问题。 -
我希望这个文件对测试正常可见。我不想玩这些目录,因为我重构那将是一个噩梦。
-
你可以接近这一点的唯一方法是让makefile写出一个包含变量decls的shell脚本,然后让父shell源使用
.编写脚本。然而,这可能是不切实际的。 -
我相信unix.stackexchange.com/questions/11530/… 是一个非常不同(愚蠢)的问题,不像你的问题。