Compilation avec gcc

Pepper -  
 allo-allo -
Bonjour,

une petite question concernant l'utilisation de gcc (version 4.0.1); comme vous allez vous en rendre compte, je suis débutant dans le domaine :-)

Voilà, j'ai trois fichiers :

***** main.c *****

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

int main(void)
{
Hello();
return 0;
}

main.c est placé dans le répertoire suivant : /Users/Pepper/Desktop/test

***** hello.c *****

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

void Hello(void)
{
printf("Hello World\n");
}

hello.c est placé dans le répertoire suivant : /Users/Pepper/Desktop/hello

***** hello.h *****

void Hello(void);

hello.h est placé dans le répertoire suivant : /Users/Pepper/Desktop/hello_header

Enfin voici mon makefile, placé dans /Users/Pepper/Desktop/test tout comme le fichier main.c :

hello: main.o hello.o
gcc -o hello main.o hello.o

main.o: main.c
gcc -o main.o -c main.c -I/Users/Pepper/Desktop/hello_header/

hello.o: hello.c
gcc -o hello.o -c hello.c

Avec ce makefile, on voit que j'ai pu me débrouiller pour indiquer l'endroit où se trouve le fichier hello.h. Le fichier main.o est d'ailleurs créé.
Par contre je n'ai pas trouvé comment faire pour indiquer l'emplacement de hello.c.
Du coup, en lançant la commande make dans le terminal, je trouve le message d'erreur suivant :

make: *** No rule to make target `hello.c', needed by `hello.o'. Stop.

Alors comment faire pour indiquer l'emplacement de hello.c ??

Merci d'avance !

2 réponses

Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Je crois que tu peux faire un cd juste avant la compilation
Ou présicer en dur la répertoire :
gcc -o hello.o -c ./hello/hello.c
1
allo-allo
 
Salut Pepper,

Ta question attire mon attention, j'ai un problème de ce genre.

comment utilises tu ton makefile?

As tu trouvé une solution à ton problème?

Merci.
0