include<maclasse.h> car j'ai fait une arborescence avec les sources dans "src", les includes dans "include" et un -I à la compilation.
Je n'avais pas le contexte. C'est dans ce cas tout à fait correcte.
J'ai regardé ton source, malheureusement, je n'ai pas tout compris, n'ayant jamais rencontré de fichiers configure ou makefile.deps. Aurais-tu un petit tuto à me proposer ?
Ok, alors pour t'expliquer brievement:
Soit le fichier toto.cc qui dépend de plusieurs fichiers .hh (ou .h), si tu tapes:
Il te réponds:
toto.o: toto.cc toto.hh truc.hh
Ce qui est exactement le format d'une règle de Makefile ! (Ce n'est pas un hasard :p).
Donc tu fais ton Makefile, comme d'habitude, et tu ajoutes l'ensemble
Question subsidiaire : qu'est-ce que le makefile.rules ?
C'est un fichier créer par le configure, et qui est inclut par le Makefile. Ca permet d'inclure une série de variables, de manière dynamique. Si tu n'as pas de configure, alors tu as forcément des variables au début de ton fichier Makefile.
Ce type de fichier est construit à chaque compilation. On stocke dedans l'ensemble des dépendances (notamment les headers) obtenues par -MM, que l'on inclut directement dans le Makefile, car le format généré est compatible (voir explication du -MM).
Si tu ne veux pas te faire chier, tu peux aussi ajouter les headers en dépendances des .o associés, ça fonctionnera. Mais c'est moins robuste que cette technique, qui génère ceci pour toi.
Dans le projet que je t'ai filé, regarde:
- configure
- Makefile
- src/Makefile
C'est très générique, puisqu'il ne faut modifier que la liste des .cc et .hh du src/Makefile, quelque soit le projet (Tu devras juste ajouter un -I pour ton cas).
_____________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio