Ce makefile est il correct sous unix
svp, dans ce makefile:
/************************************************/
OBJS=ant.o colony.o color.o const.o painting.o paintingants_v2.o parameter.o pheromone.o rand.o
FLAGS=-D NOGLUT,NOIMAGEMAGICK
paintingants : paintingants_v2.c parameter.h painting.h ant.h colony.h color.h rand.h \
$(OBJS)
gcc $(OBJS) $(FLAGS) -o paintingants_v2
ant.o : ant.c ant.h rand.h
gcc $(FLAGS) -c ant.c
colony.o : colony.c colony.h ant.h color.h rand.h
gcc $(FLAGS) -c colony.c
color.o : color.c color.h
gcc $(FLAGS) -c color.c
const.o : const.c const.h
gcc $(FLAGS) -c const.c
painting.o : painting.c painting.h
gcc $(FLAGS) -c painting.c
paintingants_v2.o : paintingants_v2.c
gcc $(FLAGS) -c paintingants_v2.c
parameter.o : parameter.c parameter.h
gcc $(FLAGS) -c parameter.c
rand.o : rand.c rand.h
gcc $(FLAGS) -c rand.c
clean:
rm *.o
/*******************************************************/
que signifie cette ligne :
FLAGS=-D NOGLUT,NOIMAGEMAGICK
est elle necessaire?
entre autres est ce que ce makefile peut marcher sous unix??
merci d'avance
/************************************************/
OBJS=ant.o colony.o color.o const.o painting.o paintingants_v2.o parameter.o pheromone.o rand.o
FLAGS=-D NOGLUT,NOIMAGEMAGICK
paintingants : paintingants_v2.c parameter.h painting.h ant.h colony.h color.h rand.h \
$(OBJS)
gcc $(OBJS) $(FLAGS) -o paintingants_v2
ant.o : ant.c ant.h rand.h
gcc $(FLAGS) -c ant.c
colony.o : colony.c colony.h ant.h color.h rand.h
gcc $(FLAGS) -c colony.c
color.o : color.c color.h
gcc $(FLAGS) -c color.c
const.o : const.c const.h
gcc $(FLAGS) -c const.c
painting.o : painting.c painting.h
gcc $(FLAGS) -c painting.c
paintingants_v2.o : paintingants_v2.c
gcc $(FLAGS) -c paintingants_v2.c
parameter.o : parameter.c parameter.h
gcc $(FLAGS) -c parameter.c
rand.o : rand.c rand.h
gcc $(FLAGS) -c rand.c
clean:
rm *.o
/*******************************************************/
que signifie cette ligne :
FLAGS=-D NOGLUT,NOIMAGEMAGICK
est elle necessaire?
entre autres est ce que ce makefile peut marcher sous unix??
merci d'avance
A voir également:
- Ce makefile est il correct sous unix
- Ipconfig unix ✓ - Forum Linux / Unix
- Vérifier si une phrase est correcte - Accueil - Google
- Fichier executable unix ✓ - Forum MacOS
- Url correct - Guide
- Identifiant correct requis - Forum Gmail
1 réponse
Il faut bien mettre les tabulations (et surtout pas des espaces) sous les cibles. Exemple :
Le -D sert à faire un #define au niveau de la compilation (ici c'est pour éviter les section de code utilisant les objets glut et imagemagick (qui existent tout deux sous linux).
Pour moi il manque aussi la cible all (cible par défaut), mais celle-ci n'est pas indispensable. Elle est généralement utilisée pour assembler et linker les .o ensemble et ainsi créer l'éxecutable final, c'est en fait ta cible paintingants. Il suffit donc de rajouter la ligne :
Il y a souvent dans les makefile linux quelques autres cibles classiques (make distclean par exemple) mais qui ne sont pas indispensables non plus.
Bonne chance
ant.o : ant.c ant.h rand.h
gcc $(FLAGS) -c ant.c
Le -D sert à faire un #define au niveau de la compilation (ici c'est pour éviter les section de code utilisant les objets glut et imagemagick (qui existent tout deux sous linux).
Pour moi il manque aussi la cible all (cible par défaut), mais celle-ci n'est pas indispensable. Elle est généralement utilisée pour assembler et linker les .o ensemble et ainsi créer l'éxecutable final, c'est en fait ta cible paintingants. Il suffit donc de rajouter la ligne :
all : paintingants
Il y a souvent dans les makefile linux quelques autres cibles classiques (make distclean par exemple) mais qui ne sont pas indispensables non plus.
Bonne chance