2011-08-25 3 views
5

이의 내가 그런 프로젝트가 있다고 가정 해 봅시다 . configure.ac는 뭔가 같은 :구성 파일 및 automake를 사용하여 파일 설치 로그

AC_INIT([blah], [0.1]) 
AC_PREREQ([2.67]) 
AM_INIT_AUTOMAKE([1.11]) 
AC_CONFIG_SRCDIR([src/blah.cpp]) 
AC_PROG_CXX 
AC_LANG([C++]) 
AC_HEADER_STDC 
AC_CONFIG_FILES([Makefile]) 
AC_CONFIG_FILES([src/Makefile]) 
AC_OUTPUT 

... 메이크가 뭔가

SUBDIRS = src 

같은 ... 그리고 SRC/Makefile.am은 무엇인가 그것은 모든 작품
bin_PROGRAMS = blah 
blah_SOURCES = blah.cpp blah.hpp 

같은 및 "make install"이 (/ usr/local)/bin 아래에 바이너리를 올바르게 설치하십시오.

지금 :

내가 설정 파일은/etc/ㅋ 아래 blah_one.xml 및 blah_two.xml 설치하고 (무엇이든지, 구성 후 빌드) 명령이 "설치 확인"하기 위해 다음을 확장 할

에 "/var/log/blah/

아래의 로그 디렉토리를 준비하십시오.

올바른 방법은 무엇입니까?

답변

8

글쎄, 난 할 것 :

blahconfdir=$(sysconfdir)/blah 
blahconf_DATA = blah_one.xml blah_two.xml 
blahlogdir = $(localstatedir)/log/blah 

을 다음 구성 할 때 :

./configure --sysconfdir=/etc --localstatedir=/var 

을 당신의 "준비"단계의 세부 사항을 모른 채, 일어날 필요가 무엇인지 알고 어렵다, 그리고 그것이 일어나는 방법.

+0

"정상적인"리눅스 시스템에서 sysconfdir =/etc 및 localstatedir =/var이라고 가정하고 스위치를 피하십시오. – St0rM

+0

디렉토리를 설정하거나 디렉토리를 생성해야합니다. 그렇지 않으면 접두사 디렉토리 (/ usr/local) 아래에 설치됩니다. – ldav1s

+0

--prefix = /를 지정하지 않으면이를 피할 수 있습니까? – St0rM