Bonjour
J'aimerais organiser mon code en séparant les sources et les fichiers objets.
J'aimerais que mon code soit dans un dossier dans lequel on trouve le makefile et l'exécutable. Ce dossier contiendrait un dossier "obj" et un dossier "src" qui contient les fichier .c et .h .
Pour l'instant avec mon makefile il faut que je le place dans le dossier src pour que ça marche.
Voici le makefile :
Si vous avez aussi un solution pour mettre les .h dans un dossier include je suis prenneur
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 # ------------------------------------------------------------------- # # makefile # # ------------------------------------------------------------------- # nom de l'executable : EXECUTABLE=cargol # choix du compilateur : COMPILATEUR=gcc # options compilations (-lm pour math.h) : OPTIONS=-c -O3 -Wall -Wextra # liste de tous les objets : OBJ= brownien.o \ init_calcul.o \ dynamique.o \ positionNVE.o \ voisin.o \ vitesseNVE.o \ vitesse_langevin.o \ force_ene.o \ periodic_cond.o \ moyenne.o \ gaussienne.o \ print.o \ free.o \ main.o # commande par defaut all: install # édition de lien de tous les objets (-lm pour la lib math.h) install: $(OBJ) $(COMPILATEUR) $(OBJ) -o $(EXECUTABLE) -lm mv $(EXECUTABLE) ../ mv *.o ../obj/ # on compile tous les fichiers sources : %.o: %.c $(CC) $(OPTIONS) $*.c # liste de toutes les dependences : init_calcul.o: main.h init_calcul.o: variables_globales.h init_calcul.o: gaussienne.o ... bla bla bla dynamique.o: main.h dynamique.o: extern.h # pour effacer tous les objet .PHONY: clean clean: rm -rf ../obj/*.o
Merci pour votre aide.
Partager