Bonjour,

Mon problème est le suivant : je voudrais compiler rapidement mes fihiers sources C car taper 2 ou 3 fois gcc est fastidieux.
Mais je suis novice sous linux et je n'ai actuellement pas le temps d'apprendre le bash ou comment fonctionnent les makefiles. Disons en fait que je n'en suis pas à ce stade de ma connaissance de linux...
Alors ça serait très sympa si quelqu'un pouvait me donner les codes (et où les taper) pour définir une commande "ccc prog.c" qui me compile et m'éxécute le prog.c.
Merci d'avance
Draune
si tu as déjà tapé une fois
cc prog.c -o prog
./prog
il te suffit d'utiliser l'historique de BASH
(par l'intermédiaire de la flche vers le haut)
pour ne pas avoir à les retaper.
perso c'est tout ce que j'utilise dans ce genre de cas
tu peut aussi utiliser la commande history et apres tu fait
# !54 (par exemple)
Pour modifier / re-executer le numero de la commande ^_^
Mais je suis novice sous linux et je n'ai actuellement pas le temps d'apprendre le bash ou comment fonctionnent les makefiles.
faut completer avec "Donc je compte vous faire perdre le votre" ?. Va fouiller les archives, va.
Apprendre à écrire un Makefile basique, ça prends 5/10 minutes et ça te fera gagner pas mal de temps plus tard.
http://gl.developpez.com/tutoriel/outil/makefile/
Avoir des notions en Bash ne te demandera pas un effort surhumain, en plus tu as déjà des notions en C apparemment, 3/4 du taff est déjà fait.
Merci pour ta réponse amicale Anvi ...
Bon alors je vais essayer de faire un makefile (j'ai d'ailleur déjà essayé mais...). Donc plusieurs questions : où et comment créer le fichier qui sera reconnu par la commande make? Et quel doit être le format de ce fichier (.c , .txt, ...)? Peut-on le taper sous emacs par exemple?
Merci
@pjac
cc prog.c -o prog
./prog
Ou mieux
cc prog.c -o prog && ./prog
Lancement si la compilation est réussie

@Anvil +1

@Draune : man make ou lire le lien proposé par Sat.

A+
Merci Remi. Mais ça, où est-ce que je le tape? dans le terminal, dans un éditeur?
dans une console... c'est le manuel il renseigne sur la majorite des commandes...
Non décidément il ya quelque chose qui m'échappe...
C'est quoi une console? C'est le terminale?
@Draune : man make ou lire le lien proposé par Sat.
man make ne contient que les options, ca ne traite pas de la syntaxe des makefile. Il faut faire 'info make' pour ca.
Sinon tu peux utiliser une IDE pour le compiler et l'exécuter en mode graphique, il y a Code::Blocks, KDevelopp qui sont pas mauvais (à mon goût) ...
6 jours plus tard
Bon ça y est j'y suis en fin arrivé à créer mon makefile ccc.
Le seul problème résultant c'est que je dois être en root pour l'utiliser. Pourtant j'ai bien fait chmod 755 pour le rendre éxecutable...
Trô chelou !
Poste donc ton Makefile, pour voir, s'il te plaît.
  • [supprimé]

Bonsoir,

Voici le genre de fichiers Makefile que j'utilise pour des programmes simples:
# ----- defined by user -----
sources = myprog.c
exec = myprog
CFLAGS = -O3 -Wall -W -pedantic

# ----- automatic .d and .o creation -----
dependencies = $(sources:.c=.d)
objects = $(sources:.c=.o)

# ----- pattern rule for dependencies -----
%.d : %.c
        $(SHELL) -ec '$(CC) -MM $(CPPFLAGS) $< \
        | sed '\''s/\($*\)\.o[ :]*/\1.o $@ : /g'\'' > $@; \
        [ -s $@ ] || rm -f $@'

# ----- main rule -----
$(exec) : $(objects)
        $(CC) $(objects) -o $@

# ----- include dependencies -----
include $(dependencies)

# ----- phony targets -----
.PHONY : clean
clean:
        rm -f $(dependencies) $(objects) $(exec) core.*
Comme il est indiqué, il suffit de mettre le nom des fichiers source et le nom du fichier exécutable et éventuellement les options de compil, le reste est automatique...
Comme d'hab, attention: il est impératif de mettre le caractère TAB au début des lignes qui sont décalées, et pas des espaces. Sinon ça ne marche pas.