2009-11-12 6 views
2

Lorsque j'exécute Makefile généré par autotools avec "make", il génère les fichiers dans le répertoire courant. Je préférerais ne pas "polluer" mon répertoire mais déplacer les programmes à "bin /" (puisque la source est dans "src /")Répertoire de destination local Autotools

Est-ce possible avec autotools? (En utilisant autoconf et automake - Non libtool)

Répondre

3
mkdir builddir 
cd builddir 
../foobar-1.2.3/configure --my --options (or) 
/path/to/foobar-1.2.3/configure --my --options 
make 
make foobar 
make check 
make install 

Ce que je finis habituellement cinque lors de la construction est manuellement quelque chose comme

cd foobar-1.2.3 
(mkdir _b && cd _b && ../configure --prefix=$PWD/../_i) 
make -C _b all check install installcheck 
./_i/bin/foobar 
vi foo.c bar.c foobar.h 
gimp icons/foobar-moo.png 
make -C _b install && ./_i/bin/foobar 

J'ai l'ensemble des choses en rapport avec le programme foobar dans un répertoire foobar-1.2.3 , y compris le code source, les fichiers construits et une installation de test.

Les fichiers construits dans foobar-1.2.3/_b sont facilement enlevés avec rm -rf _b, et l'installation d'essai avec rm -rf _i, au cours de l'édition de l'arbre source à partir d'un shell avec le répertoire de travail courant foobar-1.2.3.

Bien sûr, vous pouvez utiliser une variante de cela et déplacer les répertoires build/install dans un répertoire: foobar-1.2.3--b et foobar-1.2.3--i aux côtés de foobar-1.2.3.

+0

Cela semble bon, et je vais probablement finir par l'utiliser. Mais n'y a-t-il pas un moyen simple de le rediriger par défaut? – alternative

+0

Les règles de création créées par Automake peuvent être compilées dans l'arborescence du répertoire source et dans une sorte de "miroir vide" de l'arborescence du répertoire source. Il n'y a pas de troisième option. – ndim

+0

Pourriez-vous élaborer là-dessus? – alternative

Questions connexes