여러개의 실행 파일을 빌드하는 프로젝트의 디렉토리 구조를 어떻게 구성하는게 좋을까요?
GNU Autotools 를 사용하는 프로젝트이구요. 실행 파일 3개 정도를 최종적으로 빌드해냅니다.
현재 생각하고 있는 프로젝트의 파일/디렉토리 구조는 다음과 같습니다.
configure.ac
Makefile.am
...
src/
A/
Maiefile.am
main.c
...
B/
Makefile.am
main.c
...
C/
Makefile.am
main.c
...
제가 지금껏 실행 파일 1개만 생성해내는 프로젝트만 구성해 본 경험만 있어서... 만약 A, B, C 가 서로 공유하는 부분이 없다면, 그냥 최상위 Makefile.am 에는 SUBDIRS = src/A src/B src/C 이렇게만 적어두고, A, B, C 각각의 Makefile.am에는 제가 경험이 있는 단일 파일 생성 프로젝트와 동일하게 구성하면 됩니다만...
만약에 A, B, C가 서로 공유하는 코드가 있는 경우에는 어떻게 구성해야 하는지 모르겠습니다.
가령 예를 들어서, 모두가 공통으로 사용하는 z.h 와 z.c 가 있다고 하면, 대게 이런 파일들은 어디다가 위치시키나요?
그리고 A, B, C 각각이 컴파일&링크 되는 과정중에 z.h 와 z.c 도 컴파일&링크 과정에 포함되도록 해야 하는데... 그럴려면 어떻게 해야 하는가요?
libz.a 를 별도로 만들도록 하고, A, B, C 각각이 링크될때 libz.a 와 링크되도록 하는게 가장 깔끔한것인가요?
댓글 달기