Je travaille sur l'un de mes premiers projets qui couvrira plus d'un fichier C. Pour mes premiers programmes de pratique en couple, j'ai juste écrit mon code en main.c
et compilé en utilisant gcc main.c -o main
. Cela a fonctionné pour moi pendant que j'apprenais.Qu'est-ce qu'un workflow efficace avec C? - Makefile + bash script
Maintenant, je travaille sur un projet beaucoup plus important par moi-même. Je veux continuer à faire la compilation moi-même (ou au moins la configurer manuellement) pour que je puisse comprendre le processus. Après avoir lu un peu, j'ai décidé de faire un Makefile.
Note: J'utilise également GTK +, donc j'ai dû chercher comment ajouter cela dans la commande de compilation.
C'est à quoi il ressemble après un peu de recherche:
main:
gcc -Wall -g main.c -o main `pkg-config --cflags --libs gtk+-2.0`
Au début, je ne faisais que courir « faire ». Ensuite, j'ai eu quelques problèmes pour obtenir l'erreur "Main est à jour" même si j'avais changé le fichier.
J'ai donc écrit un script:
#!/bin/bash
rm main
make
./main
Alors je fais des changements, et puis j'exécuter ce script.
Est-ce un bon système/normal? Je veux avoir un système évolutif, puisque mon projet va grandir. Je suppose que je peux garder ce script et juste ajouter des dépendances au makefile et changer la commande de compilation principale dans le makefile. Ai-je raison?
Merci d'avance.
EDIT:
Merci pour les commentaires sur la façon de réparer mon Makefile.
Est-ce que le processus de compilation type 1) type make
puis 2) ./main
indépendamment de la façon dont le projet est configuré ou sa taille (en supposant que vous avez écrit un makefile approprié)?
Oui, vous avez raison. Vous faites d'abord un 'make' et ensuite faire un'./Main' – codaddict
Super, merci! Semble plutôt facile à apprendre jusqu'à présent. – mouche