2011-12-29 5 views
1

저는 현재 내가 작성한 몇 가지 응용 프로그램을 공개하는 과정에 있습니다. 내가 겪고있는 문제 중 하나는 응용 프로그램에서 사용하는 외부 종속성을 처리하는 방법입니다.추가 라이브러리가있는 오픈 소스 응용 프로그램 용 올바른 makefile

지금 내 makefile에는 이러한 외부 종속성의 위치를 ​​지정하는 줄이 있습니다. 예를 들어, 내 응용 프로그램 중 하나는 libstatgrab 라이브러리를 사용하므로 makefile에서이 라이브러리의 위치 (헤더 파일 + 공유 객체 파일)를 지정합니다.

위의 습관은 저에게 효과적이었습니다.하지만 제 3 자의 오픈 소스 소프트웨어를 컴파일 할 때마다 구성 과정에서 항상 이러한 종속성의 위치를 ​​"추측하거나"발견하는 것처럼 보입니다. 사용자가 makefile 내에서 이러한 설정을 구성 할 수 있도록 허용하는 대신 파일의 위치를 ​​가정해야합니까? 또는 오픈 소스 라이브러리의 라이센스가 허용된다고 가정하면, 단순히 라이브러리를 내 애플리케이션의 소스와 함께 패키징해야합니까?

누군가 이러한 유형의 상황에 대해 "표준 관행"이 무엇인지 알 수 있습니까? 나는 가능한 한 쉬운 컴파일 과정을 만들고 싶다 - 나는 단지 일부 오픈 소스 소프트웨어를 컴파일하려고 시도하면서 좌절감을 경험으로 알고있다.

답변

1

의존성 위치 자동 검색은 보통 GNU autoconf과 같은 도구로 처리됩니다. Autoconf가 올바르게 구성되면 (다소 시간이 걸릴 수 있음) configure 스크립트가 생성되어 사용자가 작성한 Makefile.in에서 Makefile을 생성합니다.

관련 문제