Welcome, Guest. Please Login or Register
FUG-FR logo
 
  HomeHelpSearchLoginRegister  
 
Exécution d'un programme sous sh & Makefile (Read 4601 times)
Ecureuil
Full Member
***
Offline


I Love BSD!

Posts: 131
Exécution d'un programme sous sh & Makefile
24. Oct 2008 at 12:04
 
Bonjour à tous, alors voilà je débute en C et ai quelques questions mais alors "bêtes" dont les réponses attendues sont de bien entendu si évidentes qu'elles ne sont mentionnées dans le bouquin avec lequel je bosse... Lips Sealed

Je tente d'éxécuter sous sh un programme intitulé bonjour:
Code:
#include <stdlib.h>
#include <stdio.h>

int main(void)
{
    printf("Bonjour\n");

    return 0;
} 



Je lance donc un:
Code:
$ gcc -g -W -Wall -std=c99 bonjour.c -o bonjour 


Là, ras, "tout" s'est bien passé.
Puis à la racine du répertoire où se trouvent mes différents fichiers bonjour (bonjour.c, bonjour.o, bonjour) je fais un:
Code:
$ bonjour 


Et là j'ai le droit à un:
Code:
bonjour: not found 



Je vous l'avais dit que c'était une question de newbie... Tongue

De plus, le fichier Makefile suivant:
Code:
1:  CC = gcc
2:  CFLAGS = -g -W -Wall -std=c99
3:  LDFLAGS =
4:  OBJ = bonjour.o
5:
6:  bonjour: $(OBJ)
7:	   $(CC) $(OBJ) $(LDFLAGS) -o bonjour
8:
9:  bonjour.o: bonjour.c
10:
11: clean:
12:	    rm -f $(OBJ) bonjour 



Et quand je fais:
Code:
$ make 


J'ai en retour:
Code:
"Makefile", line 7: Need an operator
"Makefile", line 12: Need an operator
make: fatal errors encountered -- cannot continue
 


Merci. Wink
Back to top
 
 
IP Logged
 
fgudin
Global Moderator
*****
Offline


PouetPouetBSD roul3z

Posts: 1552
Thonon (74)
Gender: male
Re: Exécution d'un programme sous sh & Makefile
Reply #1 - 24. Oct 2008 at 13:10
 
Ecureuil wrote on 24. Oct 2008 at 12:04:
Puis à la racine du répertoire où se trouvent mes différents fichiers bonjour (bonjour.c, bonjour.o, bonjour) je fais un:
Code:
$ bonjour 


Et là j'ai le droit à un:
Code:
bonjour: not found 


Soit . n'est pas dans ton PATH (auquel cas: ./bonjour), soit il te faut rehash'er si tu es sous (t)csh.
Ecureuil wrote on 24. Oct 2008 at 12:04:
Et quand je fais:
Code:
$ make 


J'ai en retour:
Code:
"Makefile", line 7: Need an operator
"Makefile", line 12: Need an operator
make: fatal errors encountered -- cannot continue
 


Tu as bien seulement une tabulation devant ces commandes, pas d'espaces qui se seraient glissés là ?
Back to top
 
 
IP Logged
 
patrick
Senior Member
****
Offline


Les pixels au peuple

Posts: 398
Re: Exécution d'un programme sous sh & Makefile
Reply #2 - 24. Oct 2008 at 13:12
 
Ecureuil wrote on 24. Oct 2008 at 12:04:
Code:
bonjour: not found 




Le path (ie le chemin de recherche des exécutables) ne comprend pas le répertoire courant.
Il faut taper ./bonjour

C'est pour des raisons de sécurités.

Pour le Makefile je ne sais pas...
Back to top
 
 
IP Logged
 
Ecureuil
Full Member
***
Offline


I Love BSD!

Posts: 131
Re: Exécution d'un programme sous sh & Makefile
Reply #3 - 24. Oct 2008 at 14:50
 
fgudin wrote on 24. Oct 2008 at 13:10:
Soit . n'est pas dans ton PATH (auquel cas: ./bonjour), soit il te faut rehash'er si tu es sous (t)csh.

Effectivement je n'ai pas le . dans mon PATH.
Je n'oserai pas vous demander comment l'on fait pour le rajouter, je vais chercher...

fgudin wrote on 24. Oct 2008 at 13:10:
Tu as bien seulement une tabulation devant ces commandes, pas d'espaces qui se seraient glissés là ?

Euh... Roll Eyes Je n'ai pas mis de tabulation, nan...
Faut les mettre à quel endroit ?
Quant aux espaces, je vais regarder ça.
Merci. Wink
Back to top
 
 
IP Logged
 
Ecureuil
Full Member
***
Offline


I Love BSD!

Posts: 131
Re: Exécution d'un programme sous sh & Makefile
Reply #4 - 24. Oct 2008 at 14:53
 
patrick wrote on 24. Oct 2008 at 13:12:
Le path (ie le chemin de recherche des exécutables) ne comprend pas le répertoire courant.
Il faut taper ./bonjour

C'est pour des raisons de sécurités.

Merci patrick, ça fonctionne ! Wink
Back to top
 
 
IP Logged
 
fgudin
Global Moderator
*****
Offline


PouetPouetBSD roul3z

Posts: 1552
Thonon (74)
Gender: male
Re: Exécution d'un programme sous sh & Makefile
Reply #5 - 24. Oct 2008 at 16:08
 
Ecureuil wrote on 24. Oct 2008 at 14:50:
Euh... Roll Eyes Je n'ai pas mis de tabulation, nan...
Faut les mettre à quel endroit ?
Quant aux espaces, je vais regarder ça.
Merci. Wink

cf. make(1):
Quote:
SHELL COMMANDS
    Each target may have associated with it a series of shell commands, normally used to create the target.  Each of the commands in this script must be preceded by a tab.

(enfin... si c'est bien la cause du pb)
Back to top
 
 
IP Logged
 
Dumpy
Senior Member
****
Offline



Posts: 313
GEMENOS
Gender: male
Re: Exécution d'un programme sous sh & Makefile
Reply #6 - 24. Oct 2008 at 17:42
 
Quote:
je débute en C et ai quelques questions mais alors "bêtes" dont les réponses attendues sont de bien entendu si évidentes qu'elles ne sont mentionnées dans le bouquin avec lequel je bosse


Il y a de la bonne lecture là, et en fr siouplait. Smiley

En recompilant ce prog. avec la bonne option , il sera possible de le déverminer avec gdb, et de voir si make à raison de se plaindre...

Bon WE Smiley
Back to top
« Last Edit: 24. Oct 2008 at 17:51 by Dumpy »  

Dumpy
 
IP Logged