Bonjour à tous,
j'ai un petit problème avec la création de mon makefile pour un projet d'informatique.
Voilà la structure de dossiers de mon projet (PS : je suis sous linux )
J'ai un main.c qui inclut ces fichiers :Code:- Projet ./bin/*.o ./src/*.c et *.h Makefile
un julia.c et mandelbrot.c avec :Code:#include <stdio.h> #include <stdlib.h> #include <dirent.h> #include "SDL/SDL.h" #include "string.h" #include "julia.h" #include "mandelbrot.h"
lorsque chacun de ces fichiers contenaient la fonction main, pour compiler il suffisait d'exécuter la commande suivante:Code:#include <stdlib.h> #include <stdio.h> #include "SDL/SDL.h" #include "julia.h"
et ça marchait ! mais quand j'essaye de l'intégrer à un makefile, ça ne marche pas, et il "plante" au niveau du SDL étant donné qu'il relève des erreurs du type : "undefined reference to `SDL_Init` etc...Code:gcc -c julia.c -o julia `sdl-config -libs --ccflags`
voilà le Makefile :
Code:# Création de l'exécutable 'Fractales' all: create main.o julia.o mandelbrot.o gcc ./bin/*.o -o Fractales # Création du dossier bin (à condition que ce dernier n'existe pas déjà) create: mkdir -p bin ############ Compilation de l'ensemble des fichiers ############ main.o: ./src/main.c gcc -c ./src/main.c -o ./bin/main.o julia.o: ./src/julia.c gcc -c ./src/julia.c -o ./bin/julia.o `sdl-config -libs --cflags` mandelbrot.o: ./src/mandelbrot.c gcc -c ./src/mandelbrot.c -o ./bin/mandelbrot.o `sdl-config -libs --cflags` # Suppression des fichiers temporaires clean: rm -rf ./bin/*.o # Suppression de tous les fichiers, sauf les sources, # en vue d'une reconstruction complète very-clean: clean rm -rf bin rm -rf Fractales
merci d'avance pour votre aide
Wims
-----