Script MakeFile C/C++
7 sujets de 1 à 7 (sur un total de 7)
-
J’aimerais quérir l’aide d’une personne s’y connaissant en scripts « makefile » pour des projets en C.
J’aimerais que ce script puisse compiler plusieurs fichiers .c -> .o
et qu’au final, il prenne tous ces fichiers .o qu’il regrouperait dans un .aQuelqu’un saurait comment s’y prendre ?
@+
AmiDARKSalut y doit y avoir mieux et plus recent mais moi j utilise gccopts de geekgadget/Gcc
mais je l avais aussi mis la
http://uae.is.free.fr/UAE-archives.htm
http://uae.is.free.fr/WinUAE_fran.htm
Pour os4 suffit d enlver les options 68020 68881 etc et alors ca compile aussi en ppcAlain
Pour ma part , j’utilise le Make de GNU, qui doit surement exister sur Amiga. (vu les extensions que tu cites, tu utilises peut-être GCC).
La doc est ici:
http://www.gnu.org/software/make/manual/make.html
Pour compiler en statique, il faut faire une archive. Une archive est un regroupement de fichiers objets. L’utilitaire GNU concerné est «ar».
Voici un makefile simple qui pourra te servir d’inspiration:
sources=$(wildcard *.c)
objs=$(sources:.c=.o)
libname=amidarkCFLAGS=-O2
LDFLAGS=-lGL -lmall: $(objs)
ar cr lib$(libname).a $(objs)
#pas obligatoire (création d'un index pour accélérer les accès)
ranlib lib$(libname).a%.o: %.c
gcc -c $(CFLAGS) $<clean:
rm -f *.o lib$(libname).aAttention, il faut une tabulation avant chaque commande. Seules les déclarations et les étiquettes n’ont pas de tabulation avant.
Si quelqu’un peut m’expliquer comment ajouter ici des tabs (ou des espaces) en début de ligne, ça m’intéresse. Rien à faire , même avec la balise «code».
Oui bien sûr, si tu ne veux pas récupérer toutes les sources, tu peux mettre les noms des fichiers à utiliser à la place du wildcard.
Si tu as le temps, jette un œil à la doc GNU, elle est très bien faite et contient toutes sortes de facilités méconnues de Make. Tu peux même faire des templates de rêgles de génération avec Make (je ne te cache pas qu’à ce stade, ça devient assez chaud).
Oui je m’en doute.
Bon j’arrive à faire un makefile pour mes besoins pour l’AmiDARK Engine mais avec l’évolution du projet, je vais devoir restructurer un peu et justement le make dera gérer les modules séparément et tout mettre dans le même .a (archive)…Merci pour les infos.
@+
7 sujets de 1 à 7 (sur un total de 7)
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Développement › Script MakeFile C/C++