2017-09-19 3 views
0

두 개의 모듈 (클라이언트 및 서버)이있는 프로젝트가 있습니다. 각 모듈은 자신의 하위 폴더에 있으며 자체 make 파일을 가지고 있습니다. 프로젝트의 루트 디렉토리에 하나의 configure.ac 파일이 있습니다.하위 프로젝트에 대한 별도의 구성을 정의하는 방법

AC_SEARCH_LIBS를 사용하여 프로젝트의 컴파일 플래그를 설정합니다. 문제는 두 모듈 모두 다른 라이브러리를 사용해야한다는 것입니다 (서버는 pthread가 필요하고 클라이언트는 필요하지 않습니다).

다른 모듈에 대해 다른 컴파일 플래그를 설정하는 방법은 무엇입니까?

가장 좋은 방법은 무엇입니까?

configure.ac을 분할해야합니까? (예인 경우 올바르게 수행해야하는 경우)

답변

0

configure.ac으로 여러 번 분할 할 필요가 없습니다.

트릭은 다음 Makefile.am

configure.ac (발췌)에서 독립적으로 사용할 수있는 각 라이브러리에 대해 서로 다른 대체 변수를 만들 수 있습니다 :

AC_SEARCH_LIBS([fooFun], [foo], [FOO_LIBS="-lfoo"]) 
AC_SEARCH_LIBS([barFun], [bar], [BAR_LIBS="-lbar"]) 
AC_SEARCH_LIBS([bazFun], [baz], [BAZ_LIBS="-lbaz"]) 
AC_SUBST([FOO_LIBS]) 
AC_SUBST([BAR_LIBS]) 
AC_SUBST([BAZ_LIBS]) 

및 서버/메이크. 오전 (발췌) :

server_LDADD = @[email protected] @[email protected] 

resp. 클라이언트/Makefile.am (발췌) :

client_LDADD = @[email protected] 
관련 문제