Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parLouis Auger Modifié depuis plus de 10 années
1
Make 1 Les besoins 2 Définition 3 Makefile 4 Optimisation 5 Exemple de Makefile 6 Prototype 7 Autres outils © BTS II 2002 [tv]
2
1. Les besoins ● Compilation séparée automatisée ● Optimisation du temps et des ressources : ne compiler que le nécessaire Lorsque le programme est composé de plusieurs modules ou fichiers :
3
2. Définition Make permet notamment l'automatisation de la phase de compilation. Make lance l'exécution du fichier Makefile qui se trouve dans le répertoire courant.
4
3. Makefile Les opérations nécessaires à la compilation de l'application, c'est-à-dire : Makefile est un fichier qui décrit : Les dépendances Les règles à appliquer lorsque les dépendances ne sont plus respectées
5
4. Avantages Assurer la cohérence de l'ensemble de l'application en recompilant seulement les modules qui dépendent d'une modification Permettre un gain de temps considérable Mémoriser les règles de compilation
6
5. Exemple Makefile Utilisation : make make client make clean OBJS = client.o creer_socket.o //on déclare une «variable» client: ${OBJS}//utilisation de la «variable» gcc ${OBJS} -o client client.o:client.c//on indique la dépendance gcc -c client.c//et la commande associée creer_socket.o:creer_socket.c gcc -c creer_socket.c//on utilise obligatoirement une //tabulation clean: rm -f ${OBJS} core
7
6. Prototype #mini prototype pouvant servir de base #On utilise le compilateur gcc CC = gcc CDEBUG = -g INCDIR = -I /usr/include CFLAGS = $(CDEBUG) $(INCDIR) -O MKDEP = -M LIBDIR = -L /usr/lib LIBS = -lpthread DESTDIR = /usr/local OBJ1 = fichier1.o OBJ2 = fichier2.o SRC1 = fichier1.c SRC2 = fichier2.c OBJS = $(OBJ1) $(OBJ2) SRC = $(SRC1) $(SRC2) all : monprog monprog : $(OBJS) $(CC) $(CFLAGS) $(LIBDIR) $(OBJS) $(LIBS) -o $(@) install : all install -d $(DESTDIR) install monprog $(DESTDIR)/bin $(OBJ1) :$(SRC1) $(CC) $(CFLAGS) -c $(SRC1) $(OBJ2) :$(SRC2) $(CC) $(CFLAGS) -c $(SRC2) clean : rm -f core $(OBJS)
8
7. Autres outils gmake autoconf et automake qui permettent de générer des fichiers automatiquement en tenant compte de la plateforme utilisée
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.