2016-10-11 8 views
1

많은 정적 라이브러리를 하나의 라이브러리로 링크하기 위해 Makefile.am을 작성하려고합니다. (추가 소스 코드가 필요하지 않으며 라이브러리 병합 만 필요합니다.) 나는 '모든'대상을 만들 수 없음 규칙 '을 얻을automake와 libtool : 라이브러리를 새로운 라이브러리에 연결하기

#target lib xxxx linking yyyy and zzzz libs (no source at this level):   
noinst_LTLIBRARIES = lib_xxxx.la          
lib_xxxx_la_SOURCES =             

#member libs:                
SUBDIRS = yyyy                
lib_xxxx_la_LIBADD = yyyy/yyyy.la 

SUBDIRS += zzzz                 
lib_zzzz_la_LIBADD = zzzz/zzzz.la 

: 여기 내 Makefile.am 파일입니다.

lib_xxxx_la_SOURCES =  

가 어떻게에 내가 전화 automake를 할 : 나는 라인을 억제하더라도 ?

답변

0

automake에서 라이브러리 병합이 작동하지 않습니다. 귀하의 도서관은 noinst이며, 다른 이유가 없다면 그렇게 할 수 없습니다.

또한 라이브러리를 선언하는 방식으로 의도 한대로 작업하지 않을 수도 있습니다. 특히 새 라이브러리가 공유 객체가 아닌 아카이브를 사용하므로 원본 라이브러리를 정의하는 데 사용되는 플래그는 무시됩니다.

당신이하려고하는 것을 정의한다면 더 간단 할 것이고, 가장 중요한 이유는 이것과 비슷한 것을 시도 할만한 많은 이유가 있다고 생각하지 않기 때문입니다.

합니다 ( lib_xxxx_la_SOURCES = 라인을 포함하여 내 질문에
-1

Makefile.am 않습니다 actualy 작업이 autotools를의 신선한 버전 (그 중요한 경우 완전히 새로운 프로젝트)를 사용할 때, 보이는

+0

하지 당신이 무슨 뜻인지. : 내 첫 시도가 효과가있는 것처럼 보이지만 내 질문에 더 이상 관련이없는 것처럼 보입니다. (필자는 왜 필자는 필사적으로 많은 것을 업데이트했습니다!) 그러나 다른 사람들에게 그것이 작동한다는 것을 기꺼이 알았습니다. (적어도 더 신선한 것), 아무도 문제가없는 시간을 찾지 못합니다. 질문에 대한 답변 – user1159290