0 erreur , mais pas de compilation , pourquoi

Bonsoir , j'ai le message d'erreur suivant en tapant make dans mon shell :

pas de règle pour fabriquer la cible main.c , nécessaire pour test . arrêt


#on utilise gcc comme compilateur par defaut
CC=gcc


#flags d'erreur
ERROR_CFLAGS = -Wall -W -pedantic


#on indique quelques drapeux passes au compilateur
CFLAGS=$(ERROR_FLAGS)


# Les flags  de link
LDFLAGS=$(ERROR_FLAGS)




#on construit le programme
all: test


#compilation des fichiers
test: main.c my_alphabet1.c
   gcc -W -Wall -pedantic -c main.c my_alphabet1.c
    gcc -W -Wall -pedantic -o test main.o my_alphabet1.o


#nettoyage...
clean:
   rm -f *.o *~ core test 



#include <stdio.h>
int my_alphabet1();
int main(void)

{

my_alphabet1();

return 0;

}



#include <stdio.h>

int my_alphabet1()
{

char c;

for ( c = 'a'; c <= 'z'; ++c)

putchar(c);

return int;

}

4 réponses

  1. Modérateur
    Si make te dis cça c'est qu'il ne trouve pas le fichier main.c dans le répertoire ou tu lances la compilation. En effet tu demandes pour la cible all (cible par défaut) :
    #on construit le programme
    all: test
    
    
    #compilation des fichiers
    test: main.c my_alphabet1.c
       gcc -W -Wall -pedantic -c main.c my_alphabet1.c
       gcc -W -Wall -pedantic -o test main.o my_alphabet1.o


    Bonne chance
    0
    1. mais c'est pas possible , le makefile , le main.c et le my_alphabet1.c sont dans le rep /home/johan/codes , c'est fou ce truc
      0
      1. Modérateur
        En suppposant que le main est dans main.c, essaye un makefile avec juste ça :

        all: main.c my_alphabet1.c
           gcc -W -Wall -pedantic -c my_alphabet1.c
           gcc -W -Wall -pedantic -o test main.c my_alphabet1.o
        0
        1. Peut etre que cela n'a rien à voir mais je ne saurais que trop te conseiller de ne pas appeler ton executable 'test'... c'est une commande qui existe déjà et ça peut poser un pb
          0