quelqun pourrait il me dire pourquoi le makefilesuivant ne compile que le premier fichier ?
.SUFFIXES : .abs .o .c CC=gcc AS=as LIB = -lGL -lGLU -lglut ODIR = ./master/obj SDIR = ./master FLAGS = -c -O2 principal = $(ODIR)/laser.o \ $(ODIR)/LCD.o \ $(ODIR)/strat.o \ $(ODIR)/ms_serie.o\ $(ODIR)/math.o\ $(ODIR)/moissbat.o\ $(ODIR)/master.o\ $(ODIR)/action.o includes = $(SDIR)/master.h $(ODIR)/laser.o : $(SDIR)/laser.c $(includes) $(CC) $(FLAGS) $(SDIR)/laser.c -o $@ $(ODIR)/LCD.o : $(SDIR)/LCD.c $(includes) $(CC) $(FLAGS) $(SDIR)/LCD.c -o $@ $(ODIR)/strat.o : $(SDIR)/strat.c $(includes) $(CC) $(FLAGS) $(SDIR)/strat.c -o $@ $(ODIR)/master.o : $(SDIR)/master.c $(includes) $(CC) $(FLAGS) $(SDIR)/master.c -o $@ $(ODIR)/math.o : $(SDIR)/../common/math.c $(includes) $(CC) $(FLAGS) $(SDIR)/../common/math.c -o $@ $(ODIR)/ms_serie.o : $(SDIR)/ms_serie.c $(includes) $(CC) $(FLAGS) $(SDIR)/ms_serie.c -o $@ $(ODIR)/moissbat.o : $(SDIR)/moissbat.c $(includes) $(CC) $(FLAGS) $(SDIR)/moissbat.c -o $@ $(ODIR)/action.o : $(SDIR)/action.c $(includes) $(CC) $(FLAGS) $(SDIR)/action.c -o $@ $(SDIR)/robot : $(principal) $(LD) -o $@ $(principal) $(LIB)
Merci d'avance !
je sais pas. peut être tu pourrais dékà utilisé une règle générique, genre ($ODIR)/%.o : $(SDIR)/%.c $(includes) $(CC) $(CFLAGS) -o $@ $<
Pas bête. J'ai trouvé mon erreur, il manque la règle implicite qui appelle les autres.... c'est bon tout marche maintenant ;-)
ah ouais, j'avais pas vu que t'avais pas de .PHONY
Le pire est que tu n'es pas si con que tu n'y parais. C'est triste, l'adolescence.
Là, j'ai loupé un truc ...
cherches pas c'ets l'amour fou entre Taz et vivelec, le printemps tout ca
;-)
http://gl.developpez.com/makefile/#L5
Merci !