Bonjour, voici mon Makefile

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
# inspire de http://gl.developpez.com/tutoriel/outil/makefile/
 
# compilateur utilise
CC=gcc 
 
CFLAGS=-pg -Wall -W -O2
 
LDFLAGS=-Wall -O2 -lm -static
 
# on inclut tous les headers
INCLUDE_DIR=-I../include/includeCVode -I../include/myinclude
 
# EXEC contient le nom des executables a generer.
EXEC=out
 
# Fichiers sources
SRC= $(wildcard ../source/sourceCVode/*.c) $(wildcard ../source/mysource/*.c) main.c
 
# Fichiers objets le .c est remplace par un .o
OBJ=$(SRC:.c=.o)
 
# Regles de compilation:
all: $(EXEC)
 
out: $(OBJ)
	@$(CC) -o $@ $^ $(LDFLAGS)
 
# Creation des .o a  partir des .c qui se verront appeles par defaut.
%.o: %.c
	@$(CC) -o $@ -c $< $(INCLUDE_DIR) $(CFLAGS)
 
clean:
	@rm -rfv $(EXEC) $(OBJ) *~
J'ai plusieurs questions :
1) Pourquoi est-ce que ce Makefile fonctionne très bien si le nom de mon exécutable est out. Mais si je le change de nom (par exemple toto) alorsj'ai l'erreur suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
make: *** Pas de règle pour fabriquer la cible « toto », nécessaire pour « all ». Arrêt.
2) j'aimerais utiliser le profiler. Bien que j'ai mis l'option -pg, il n'apparait pas de fichier gnom.out comme je l'ai vu sur google. Pourquoi ?
Merci bcp.