假设我有一个类似的项目:
(dev dir)
- README
- INSTALL
/ src
- blah.cpp
- blah.hpp
/ conf
- blah_one.xml
- blah_two.xml
我创建了一个configure.ac和Makefile.am来在(/ usr / local)/ bin下安装二进制文件。 configure.ac类似于:
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”(在configure,build之后),在/ etc / blah下安装配置文件blah_one.xml和blah_two.xml,并在/下“准备”一个日志目录无功/日志/嗒嗒/
这样做的正确方法是什么?
答案 0 :(得分:9)
好吧,我会这样做:
blahconfdir=$(sysconfdir)/blah
blahconf_DATA = blah_one.xml blah_two.xml
blahlogdir = $(localstatedir)/log/blah
然后配置:
./configure --sysconfdir=/etc --localstatedir=/var
如果不了解“准备”步骤的详细信息,很难知道需要发生什么,以及如何实现这一目标。