Makefile question

Einbert

Membre expert
Club iGen
24 Avril 2001
1 239
20
Bijour,

Je suis en train de lire la docu sur les makefile fourni avec le cd dev, car j'aurais besoin d'écrire un makefile pour le projet...Juste au passage, le projet ns allons le faire en C et non en Delphi (c.f poste question Delphi), ce qui nous permettra de faire tout sur notre cher petit mac possédé par le système X
grin.gif
!
Bon, pour commencer j'ai essayé un makefile tout ce qu'il y a de plus simplet me semble-t-il...voici ce que j'ai écrit :

Bloc de code:
bon, puis dans le terminal je tape gentiment (pour le moment en tous cas
grin.gif
) make, et voici ce que me renvoie cet enf..ré de terminal :
Bloc de code:
Qqun pourrait-il m'expliquer ce que je fais faux ou ce qui manque d'important ??

++
 
Est-ce que tu as bien mis des caracteres "tab"
devant la ligne de compilation (cc...). Si tu
as des espaces, ca marchera p'tre pas...
 
J'avais bien mis des caractères tab (peut-être le problème vient du fait que j'en ai mis plusieurs), mais j'ai pas eu le temps de réessayer...Faudra que je m'y remette une fois que j'aurai trouver le temps !
Le probème, c'est qu'il me disait qu'il y avait plusieurs target, ce qui est effectivement le cas (il y en a 2), mais normalement, ben il devrait reconnaître le premier comme main target, ce qu'il ne fait pas apparemment !!

++
 
la target par defaut, en general c'est "all"
sinon, il y a plusieurs formats de makefile

ceux pour gnumake, bsdmake, et make

ils sont compatibles jusqu'a un certain point.
ils ont chacun leur petite particularite.


au fait, essayes avec ça ;-)

############
serie : serie.o
cc -o serie serie.o

serie.o : serie.c
cc -c serie.c -o serie.o
############
 
J'ai teste avec ce source:

#include <stdlib.h>
#include <stdio.h>

int main(int argc,char ** argv)
{
printf("Hello Wrold!\n");
return 0;
}


et ce makefile:

essai : essai.o
cc -o essai essai.o

essai.o : essai.c
cc -c essai.c

ca marche tres bien!
 
Tu n'as pas mis de caractères tab la ligne suivant le target ?? Je veux dire, les lignes où tu as des lignes de commandes, ben pas de caractères tab ?? Bizarre, parce que dans tout ce que j'ai pu lire pour le moment, ben ils spécifient à chaque fois qu'il faut impérativement mettre un caractère tab pour reconnaître qu'il s'agit d'une ligne de commande qui doit être exécutée !!

++
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par William:
!!!si, il y en a dans mon Makefile, peut etre que le copier / coller les a effaces<HR></BLOCKQUOTE>

Ouf, ben ça me rassure...Heureusement qu'il y a quand même des choses standards dans la vie
smile.gif
!