J'ai du mal... [Résolu][AUTOTOOLS] - Linux et OS Alternatifs
Marsh Posté le 27-05-2005 à 14:41:20
il te faut une règle 'all' pour chacun de tes Makefile il me semble
Marsh Posté le 27-05-2005 à 15:00:03
black_lord a écrit : il te faut une règle 'all' pour chacun de tes Makefile il me semble |
C'est pas moi qui écrit le Makefile, c'est automake...
C'est précisément le but de l'opération!
Ma question est "qu'est-ce que j'ai oublié dans Makefile.am et configure.in qui fait que le Makefile de a06/src n'est pas produit alors que celui de a06 est produit.
Marsh Posté le 27-05-2005 à 15:02:28
tu écris le makefile.am, c'est là dedans qu'il faut voir il me semble
(j'ai jamais pratiqué autotools, j'avais juste commencé à lire la doc)
Marsh Posté le 27-05-2005 à 15:05:20
black_lord a écrit : tu écris le makefile.am, c'est là dedans qu'il faut voir il me semble |
Je l'ai publié dans mon premier post. Qu'est-ce qui manque ?
Marsh Posté le 27-05-2005 à 15:08:40
chaque dossier de SUBDIR doit avoir son propre Makefile.am
Marsh Posté le 27-05-2005 à 15:09:09
ma petite référence : http://seul.org/docs/autotut/
Marsh Posté le 27-05-2005 à 15:40:32
black_lord a écrit : chaque dossier de SUBDIR doit avoir son propre Makefile.am |
Avec quoi dedans ? La même chose que dans le repertoire d'origine ?
Marsh Posté le 27-05-2005 à 15:42:42
je sais pas surement oui
Marsh Posté le 27-05-2005 à 15:46:43
Tout sur les autotools, tuto inclus
http://sources.redhat.com/autobook [...] C_Contents
Marsh Posté le 27-05-2005 à 15:47:55
bookmarked
Marsh Posté le 27-05-2005 à 15:53:33
Je sais que ça fait troll mais faudrait penser à abandonner le dinausore incompréhensible que sont les autotools pour passer à autre chose
Marsh Posté le 27-05-2005 à 15:54:27
Kristoph a écrit : Je sais que ça fait troll mais faudrait penser à abandonner le dinausore incompréhensible que sont les autotools pour passer à autre chose |
Propose
Marsh Posté le 27-05-2005 à 15:55:06
ant ?
Marsh Posté le 27-05-2005 à 15:56:08
Je sens que je vais dire une grosse bétise, ca gère autre chose que java
Marsh Posté le 27-05-2005 à 16:03:45
je dis peut être une bêtise mais je pense que oui (il y en a un de nous qui dit une bêtise )
Marsh Posté le 27-05-2005 à 16:09:45
Je vote pour moi
Marsh Posté le 27-05-2005 à 16:58:42
l0ky a écrit : Propose |
j'ai ouï dire que cons (perl) et scons (python) étaient pas mal ; j'ai aussi entendu parler de unsermake.
http://www.dsmit.com/cons/
http://www.scons.org
http://wiki.kde.org/tiki-index.php?page=unsermake
Marsh Posté le 04-06-2005 à 11:15:13
black_lord a écrit : je sais pas surement oui |
En fait non.
Il faut
SUBDIRS = ...
tant qu'on a que des répertoires 'en-dessous'
et les commandes de cibles (bin_PROGRAMS=... etc.) tant qu'il y a des sources à compiler... (en gros)
Marsh Posté le 09-06-2005 à 09:43:44
Il y a scons, scons + bksys ou alors utiliser des outils qui masquent en partie la chaine autotools comme le gestionnaire de projet de kdevelop.
Il y a aussi bjam je crois, le gestionnaire de projets de boost.org et qmake est parait-il pas mal en soit.
Marsh Posté le 27-05-2005 à 14:38:25
Mandrake 10.1
Linux kernel 2.6
Bonjour.
J'ai un mini projet de test dans un répertoire .../a06
[edelahaye@edtux a06]$ ls
configure.in do.sh* Makefile.am src/
[edelahaye@edtux a06]$ ls src
fun.c fun.h main.c
avec Makefile.am :
## Makefile.am
## user file for automake
SUBDIRS = src
bin_PROGRAMS = hello
hello_SOURCES = main.c fun.c fun.h
et configure.in :
-*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_INIT(src/main.c)
AM_INIT_AUTOMAKE(hello, 0.1)
AC_PREREQ(2.59)
AM_CONFIG_HEADER(config.h)
# Checks for programs.
AC_PROG_CC
# Checks for libraries.
# Checks for header files.
# Checks for typedefs, structures, and compiler characteristics.
# Checks for library functions.
AC_OUTPUT(Makefile)
Quand le lance ./do.sh :
# do.sh
aclocal
autoheader
autoconf
touch AUTHORS ChangeLog NEWS README
automake --add-missing
./configure
j'obtiens
automake: configure.in: installing `./install-sh'
automake: configure.in: installing `./mkinstalldirs'
automake: configure.in: installing `./missing'
automake: configure.in: installing `./config.guess'
automake: configure.in: installing `./config.sub'
automake: Makefile.am: installing `./INSTALL'
automake: Makefile.am: installing `./COPYING'
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking whether make sets $(MAKE)... yes
checking for working aclocal-1.4... found
checking for working autoconf... found
checking for working automake-1.4... found
checking for working autoheader... found
checking for working makeinfo... found
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: executing default-1 commands
ce qui me parait être correct. A ce moment là, le répertoire est le suivant :
[edelahaye@edtux a06]$ ls
aclocal.m4 config.h configure* install-sh@ mkinstalldirs@ stamp-h.in
AUTHORS config.h.in configure.in Makefile NEWS
autom4te.cache/ config.log COPYING@ Makefile.am README
ChangeLog config.status* do.sh* Makefile.in src/
config.guess@ config.sub@ INSTALL@ missing@ stamp-h
Je lance alors make, et j'obtiens ceci :
[edelahaye@edtux a06]$ make
make all-recursive
make[1]: Entering directory `/home/edelahaye/c-dev/a06'
Making all in src
make[2]: Entering directory `/home/edelahaye/c-dev/a06/src'
make[2]: *** Pas de règle pour fabriquer la cible « all ». Arrêt.
make[2]: Leaving directory `/home/edelahaye/c-dev/a06/src'
make[1]: *** [all-recursive] Erreur 1
make[1]: Leaving directory `/home/edelahaye/c-dev/a06'
make: *** [all-recursive-am] Erreur 2
ce qui a le don de m'agacer, car je ne sais plus quoi faire...
J'ai l'impression qu'il manque quelque chose dans src/, mais quoi ?
Merci d'essayer de m'aider
Emmanuel
Message édité par Emmanuel Delahaye le 04-06-2005 à 11:15:46
---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/