Makefile – .h – .c exemple.

Voici un exemple simple d’un projet en C avec un Makefile, un fichier d’en-tête (.h), et deux fichiers source (utils.c et main.c).

1. Fichier d’en-tête : utils.h

#ifndef UTILS_H
#define UTILS_H

// Fonction pour additionner deux entiers


This content originally appeared on DEV Community and was authored by As Manjaka Josvah

Voici un exemple simple d'un projet en C avec un Makefile, un fichier d'en-tête (.h), et deux fichiers source (utils.c et main.c).

1. Fichier d'en-tête : utils.h

#ifndef UTILS_H
#define UTILS_H

// Fonction pour additionner deux entiers
int addition(int a, int b);

#endif // UTILS_H

2. Fichier source : utils.c

#include "utils.h"

// Implémentation de la fonction d'addition
int addition(int a, int b) {
    return a + b;
}

3. Fichier principal : main.c

#include <stdio.h>
#include "utils.h"

int main() {
    int a = 5;
    int b = 3;
    int result = addition(a, b);

    printf("La somme de %d et %d est : %d\n", a, b, result);
    return 0;
}

4. Makefile : Makefile

# Variables
CC = gcc
CFLAGS = -Wall -g
SOURCES = main.c utils.c
OBJECTS = $(SOURCES:.c=.o)
TARGET = mon_programme

# Règle par défaut
all: $(TARGET)

# Lien de l'exécutable
$(TARGET): $(OBJECTS)
    $(CC) -o $@ $^

# Compilation des fichiers .c en .o
%.o: %.c
    $(CC) $(CFLAGS) -c $< -o $@

# Nettoyage des fichiers objets
.PHONY: clean
clean:
    rm -f $(OBJECTS)

# Nettoyage complet (fichiers objets et exécutable)
.PHONY: fclean
fclean: clean
    rm -f $(TARGET)

# Refaire la compilation
.PHONY: re
re: fclean all

Structure du projet

Voici comment devrait être organisée la structure des fichiers :

/mon_projet
├── Makefile
├── main.c
├── utils.c
└── utils.h

Utilisation

  • Pour compiler le programme, exécute dans le terminal :
make
  • Pour nettoyer les fichiers objets :
make clean
  • Pour nettoyer complètement :
make fclean
  • Pour reconstruire le programme :
make re

Résultat attendu

Après avoir exécuté make, tu obtiendras un exécutable nommé mon_programme. En exécutant ce programme, il affichera :

La somme de 5 et 3 est : 8


This content originally appeared on DEV Community and was authored by As Manjaka Josvah


Print Share Comment Cite Upload Translate Updates
APA

As Manjaka Josvah | Sciencx (2024-07-14T09:36:27+00:00) Makefile – .h – .c exemple.. Retrieved from https://www.scien.cx/2024/07/14/makefile-h-c-exemple/

MLA
" » Makefile – .h – .c exemple.." As Manjaka Josvah | Sciencx - Sunday July 14, 2024, https://www.scien.cx/2024/07/14/makefile-h-c-exemple/
HARVARD
As Manjaka Josvah | Sciencx Sunday July 14, 2024 » Makefile – .h – .c exemple.., viewed ,<https://www.scien.cx/2024/07/14/makefile-h-c-exemple/>
VANCOUVER
As Manjaka Josvah | Sciencx - » Makefile – .h – .c exemple.. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2024/07/14/makefile-h-c-exemple/
CHICAGO
" » Makefile – .h – .c exemple.." As Manjaka Josvah | Sciencx - Accessed . https://www.scien.cx/2024/07/14/makefile-h-c-exemple/
IEEE
" » Makefile – .h – .c exemple.." As Manjaka Josvah | Sciencx [Online]. Available: https://www.scien.cx/2024/07/14/makefile-h-c-exemple/. [Accessed: ]
rf:citation
» Makefile – .h – .c exemple. | As Manjaka Josvah | Sciencx | https://www.scien.cx/2024/07/14/makefile-h-c-exemple/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.