2011-08-25 7 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 

... Makefileは

SUBDIRS = src 

ようなものです...とのsrc/Makefile.amは

bin_PROGRAMS = blah 
blah_SOURCES = blah.cpp blah.hpp 

のようなものそれはすべての作品です、 "make install"を実行してバイナリを(/ usr/local)/ binに正しくインストールしてください。今

私は設定ファイルをインストールするには、コマンドが(全く構築し、設定した後) "make install" を作るためにこれらを拡張したいblah_one.xmlとblah_two.xmlの/ etc /何とか下、および "へ/ 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

「通常の」Linuxシステムでsysconfdir =/etcとlocalstatedir =/varを仮定し、スイッチを避けるのは正しいですか? – St0rM

+0

ディレクトリを設定したり、いくつかのディレクトリを作成する必要があります。そうしないと、接頭辞ディレクトリ(/ usr/local)の下にインストールされます。 – ldav1s

+0

これを避けるには--prefix = /を指定するだけでは不十分ですか? – St0rM

関連する問題