2012-05-02 2 views
1

작은 라이브러리를 작성 중이며 automake 1.11에서 autotools를 사용하여 액세스 할 수 있도록하려고합니다. 유일한 흥미로운 결과는 라이브러리 libfoo.so입니다.autotools로 바이너리를 어떻게 설치합니까?

나는 make 프로세스 동안 또는 make check을 실행할 때 실행하려는 라이브러리에 대한 단위 테스트를 작성했습니다. 단위 테스트가 $PREFIX/foo/bin/에 나타나기를 원하지 않습니다.

어떻게 이러한 목표를 달성 할 수 있습니까?

답변

5

automake 설명서에서 설명한대로 "check_" 접두어를 사용합니다. 의 라이브러리 디렉토리 src/ 아래에 내장되어 있다고 가정 해 봅시다, 그리고 단위 테스트는 tests/을 받고있다 - 다음 tests/Makefile.am 파일 :

check_PROGRAMS = unit_test 

unit_test_SOURCES = unit_test.c 
unit_test_LDADD = $(top_builddir)/src/libfoo.la 

난 당신이 물론 libtool 사용하고 가정합니다. 공유 라이브러리를 만드는 경우 링크, 동적 경로 등을 처리합니다.

또한 automake에서 변수 TESTS의 사용을 살펴 봐야합니다.