Je suis en train de parcourir une eg pgm pour créer un fichier make.
http://mrbook.org/tutorials/make/
Mon dossier eg_make_creation contient les fichiers suivants,
desktop:~/eg_make_creation$ ls
factorial.c functions.h hello hello.c main.c Makefile
Makefile
# I am a comment, and I want to say that the variable CC will be
# the compiler to use.
CC=gcc
# Hwy!, I am comment no.2. I want to say that CFLAGS will be the
#options I'll pass to the compiler
CFLAGS=-c -Wall
all:hello
hello:main.o factorial.o hello.o
$(CC) main.o factorial.o hello.o -o hello
main.o:main.c
$(CC) $(CFLAGS) main.c
factorial.o:factorial.c
$(CC) $(CFLAGS) factorial.c
hello.o:hello.c
$(CC) $(CFLAGS) hello.c
clean:
rm -rf *o hello
erreur :
desktop:~/eg_make_creation$ make all
make: Nothing to be done for `all'.
Veuillez m'aider à comprendre comment compiler ce programme.
19 votes
Essayez de faire un "make clean" suivi d'un "make all".
13 votes
Ce n'est pas une erreur, ça veut juste dire que
hello
est à jour. Modifierclean
arm -f *.o hello
avant qu'il ne fasse quelque chose d'inattendu, puis lancezmake clean all
et voir si cela fonctionne.1 votes
Vous devez également ajouter
.phony: all clean
puisqueall
yclean
ne sont pas des noms de fichiers.3 votes
Ne mettez pas le -c dans vos CFLAGS.