2011-08-25 14 views
5

Digamos que tengo un proyecto como ese:archivos de configuración y el registro de instalación de archivos con automake

(dev dir) 
- README 
- INSTALL 
/src 
    - blah.cpp 
    - blah.hpp 
/conf 
    - blah_one.xml 
    - blah_two.xml 

me hizo un configure.ac y Makefile.am para instalar los binarios bajo (/ usr/local)/bin . configure.ac es algo así como:

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 es algo así como

SUBDIRS = src 

... y src/Makefile.am es algo así como

bin_PROGRAMS = blah 
blah_SOURCES = blah.cpp blah.hpp 

funciona todo , y "make install" instala correctamente el binario en (/ usr/local)/bin.

Ahora:

Quiero extender estos para hacer el comando "make install" (después de configurar, construir y absoluto) para instalar los archivos de configuración y blah_one.xml blah_two.xml en/etc/bla, y para " prepare "un directorio de registro en/var/log/blah/

¿Cuál es la forma correcta de hacerlo?

Respuesta

8

Bueno, me gustaría hacer esto:

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

entonces cuando se configura:

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

Sin conocer los detalles de su paso "preparar", es difícil saber lo que debe suceder, y cómo lograr que suceda

+0

¿Es correcto suponer que sysconfdir =/etc y localstatedir =/var en un sistema linux "normal", y evitar los conmutadores? – St0rM

+0

Tienes que configurarlos o inventar algunos directorios o se instalarán en el directorio de prefijos (/ usr/local). – ldav1s

+0

¿No es suficiente especificar --prefix =/para evitar eso? – St0rM

Cuestiones relacionadas