2012-03-20 2 views
0

문제가 있습니다. 현재 Linux 응용 프로그램에서 작업 중입니다 (이 시나리오에서는 BigApp이라고 부름). 이 응용 프로그램은 공유 객체 (so) 및 ini/text 파일을 통해 사용자 정의 할 수 있어야합니다. 결과물에 포함 할 메이크 파일 만들기

이러한 공유 객체를 생성하는 전제

은 :

  1. 는 (코드에서 수행) 사용자 지정 위치에서 C 파일
  2. BigApp의 소스 저장소 추가 H 파일 (메이크 통해 수행)을 생성
  3. 일부 매개 변수를 설정하고 위에서 설명한 내부 C 파일 생성기를 1 번 호출하고 아래에 설명 된 빌드 스크립트를 호출하는 응용 프로그램 bin 폴더 (실행 가능)의 실행 가능한 셸 스크립트.
  4. "h"파일과 생성 된 C 파일을 공유 객체로 컴파일해야하는 "빌드 스크립트".

BigApp를 설치하면 3 단계 (새로운 공유 객체를 컴파일하는)는 기본적인 리눅스와 유사한 기술을 가진 사람이 수행해야합니다. 또한 숫자 4의 빌드 스크립트는 BigApp를 컴파일하고 설치할 때 사용한 것과 동일한 설정을 사용해야합니다.

BigApp는 automake (루트 및 하위 폴더 용 makefile.am, configure.ac 파일)를 사용합니다. BigApp에서 configure를 실행할 때 공유 객체에 대한 특정 메이크 파일을 생성하기 위해 Makefile.am 템플릿이 필요하다고 가정합니다.하지만 BigApp을 "만들"때 실행되는 것을 피하면서이를 수행하는 방법을 모릅니다.

나는 어떤 종류의 제안이나 튜토리얼에 대한 언급을 사용할 수 있습니다. 감사합니다.

EDIT : 당시 공유 라이브러리/오브젝트의 빌드 스크립트는 gcc를 두 번 호출했지만 특정 플랫폼 설정은없고 BigApp 메이크 파일과 관련이없는 작은 쉘 스크립트입니다.

답변

0

이 질문을 올린 지 오래되었지만 공유 라이브러리의 현재 makefile을 Makefile.in으로 바꾸거나 (또는 ​​Automake를 사용하여 Makefile.am을 작성하는 것) 구성 스크립트가 완료하면됩니다. (Autoconf를 사용하여 생성됨). GNU Build 시스템 매뉴얼을 공부해야합니다.