Makefile:更改工作目录以进行make检查

时间:2013-09-21 22:36:06

标签: c++ makefile cppunit

我有一个C ++项目,它通过CppUnit使用单元测试,并具有以下目录结构:

.
|-- bin
|   `-- tests
|-- src
|   `-- include
`-- test
    `-- include

在顶级目录中存在我的Makefile.am文件。我想使用非递归的Makefile。我已经能够在 bin 文件夹中构建我的项目的可执行文件,并在 bin / tests 文件夹中对进行检查进行测试。 / p>

问题如下: 当 make check 运行测试时,当前工作目录仍然是顶级目录(即,我运行 make check 的目录)。是否可以专门为测试套件更改工作目录?

我的Makefile.am文件中的相关部分如下:

$(TESTDIR)=./bin/tests
check_PROGRAMS = $(TESTS)
TESTS = $(TESTDIR)clocktest

__TESTDIR_clocktest_SOURCES = test/clocktest.cpp test/unittest.cpp src/clock.cpp
__TESTDIR_clocktest_CPPFLAGS = $(AM_CPPFLAGS) $(CPPUNIT_CFLAGS) $(TESTCPPFLAGS)
__TESTDIR_clocktest_LDADD = $(CPPUNIT_LIBS)

1 个答案:

答案 0 :(得分:3)

来自make --help

-C DIRECTORY, --directory=DIRECTORY
                            Change to DIRECTORY before doing anything.

我认为应该做你正在寻找的事情。