Rechercher : dans
Par :

Utilisation de Makefile SVP

Dernière réponse le 8 jui 2004 à 17:58:44 Phil, le 7 jui 2004 à 18:47:38 
 Signaler ce message aux modérateurs

Bonjour tout le mode.
SVP j'ai besoin de l'aide concernant un travail que je fais (Programme de chat)pour cela j'ai créer quelques fichiers (Client.c, server.c, principale.h. principal.x,multicast.h, Makefile).
Voici le code de Makefile que j'ai :
ifeq ($(HOST), arabica)
CC = cc
MAKE = gmake
FLAGS =
LIBS = -lnsl
SERVER = serveur_sun
CLIENT = client_sun
else
CC = gcc
MAKE = make
FLAGS = -Wall
LIBS = -lm
SERVER = serveur
CLIENT = client
endif


PROGS = client server

CFLAGS = -DDEBUG -Wall


feux.h feux_clnt.c feux_svc.c feux_xdr.c:
feux.x rpcgen -C feux.x

feux_clnt.o:
feux_clnt.c feux.h

feux_svc.o:
feux_svc.c feux.h

client:
feux.h client.o feux_clnt.o feux_xdr.o
${CC} ${CFLAGS} -o ${CLIENT} client.o feux_clnt.o feux_xdr.o \
${LIBS}

server:
feux.h server.o feux_svc.o feux_xdr.o
${CC} ${CFLAGS} -o ${SERVER} server.o feux_svc.o feux_xdr.o \
${LIBS}

clean:
rm -f *.o *_clnt.c *_svc.c *_xdr.c feux.h

ma question est la suivante : Comment je peux compiler et executer tous ces fichiers en utilisant le makefile ???

Merci d'avance de votre aide.

Meilleures réponses pour « Utilisation de Makefile SVP » dans :
[MSN] Utiliser MSN sans l'installer - à partir d'un site VoirIl est possible d'utiliser un client MSN pour discuter avec ses amis sans avoir à l'installer. Il existe quelques clients conçus pour être utilisés à partir d'un navigateur sous forme de pages Internet. Évidemment, leurs fonctionnalités sont...
Utiliser l'Administrateur caché de Vista VoirVista, comme XP, possède un compte nommé "Administrateur" mais il est caché et non activé par défaut. Pour que ce compte apparaisse dans la liste des utilisateurs à l'écran d'accueil, la méthode est différente selon que l'on utilise une version...
Guide d'utilisation du Shell pour débutant VoirSHELL BASH - GUIDE D'UTILISATION - Niveau Débutant Introduction Appel aux membres CCM II. C'est quoi le shell ? III. Comment accéder à la ligne de commande IV. Les consoles virtuelles Exemple : Accéder à la console 3 depuis l'interface...
Linux - Gestion des utilisateurs VoirPremier pas de l'administrateur Lorsque diverses personnes ont accès à un système, il est nécessaire que l'administrateur système gère les utilisateurs. Pour ceci, les commandes usuelles et les fichiers à configurer doivent être connus. Les...
La gestion des utilisateurs sous Windows NT VoirLa notion d'utilisateur WindowsNT est un système d'exploitation permettant de gérer des sessions, c'est-à-dire qu'au démarrage du système il est nécessaire de se connecter au système (le terme se logger provenant de l'anglais est...
UML - Cas d'utilisation (Use cases) VoirCas d'utilisation Un cas d'utilisation (en anglais use case) permet de mettre en évidence les relations fonctionnelles entre les acteurs et le système étudié. Le format de représentation d'un cas d'utilisation est complètement libre mais UML...

1

phoenix, le 7 jui 2004 à 20:31:26

Tu fais make nomDuProg et hop c parti (enfin sous linux c comme ca apres sous win j'en sais rien)mais si c en C ton prog a premier vue oui, sous linux le makefile "fait tout seul" pour le C, tu tape direct make nomDeAppli et il compile le tout

Répondre à phoenix

2

 eric, le 8 jui 2004 à 17:58:44

Bonjours,

Dans un fichier makefile, ce qui se trouve entre le début d'une ligne et le symbôle ":" est appelé une "target" ou cible en bon français. Dans ton cas, tu as 6 targets:
- feux.h feux_clnt.c feux_svc.c feux_xdr.c
- feux_clnt.o
- feux_svc.o
- client
- server
- clean

Les trois premières sont des targets intermédiaires, c'est à dire qu'elles ne produisent pas quelque chose de directement utilisable, mais qui sera utilisé par un autre cible.
Les trois dernières sont de targets finales.

Ensuite, derrière le ":" tu as les dépendances. Par exemple, pour pouvoir "faire" (make) la target "feux_svc.o", tu as d'abord besoin du résultat des targets "feux_svc.c" et "feux.h" que le programme make va appeler automatiquement.

Enfin, vient ce qu'il faut faire pour la cible en question. C'est par exemple la ligne " ${CC} ${CFLAGS} -o ${CLIENT} client.o feux_clnt.o feux_xdr.o ${LIBS}", la compilation proprement dite.

Donc pour répondre à ta question, tu as le choix entre
make server
make client
make clean
ou une combinaison comme "make server client".

Par contre, il n'est pas question d'exécuter un programme avec make.

a+

eric

Répondre à eric