Maison > développement back-end > C++ > Comment créer un Makefile C simple pour un projet à fichier unique ?

Comment créer un Makefile C simple pour un projet à fichier unique ?

Mary-Kate Olsen
Libérer: 2024-12-08 03:48:10
original
985 Les gens l'ont consulté

How to Create a Simple C   Makefile for a Single-File Project?

Comment créer un Makefile C SIMPLE

Problème :
Nous devons créer un Makefile pour gérer notre projet C, mais on ne nous a pas appris comment le faire. Le projet se compose d'un seul fichier, a3driver.cpp, qui importe une classe depuis /user/cse232/Examples/example32.sequence.cpp.

Solution :

1. Makefile de base :

a3a.exe: a3driver.cpp example32.sequence.cpp
    g++ -g -o a3a.exe a3driver.cpp example32.sequence.cpp
Copier après la connexion

Ce Makefile indique que l'exécutable a3a.exe dépend des fichiers sources a3driver.cpp et example32.sequence.cpp. Une fois exécuté, il exécutera la commande pour compiler le programme dans le fichier exécutable.

2. Utilisation des règles intégrées :

CC=g++
CPPFLAGS=-g

a3a.exe: a3driver.o example32.sequence.o
    $(CC) $(LDFLAGS) -o a3a.exe a3driver.o example32.sequence.o

a3driver.o: a3driver.cpp
    $(CC) $(CPPFLAGS) -c a3driver.cpp

example32.sequence.o: example32.sequence.cpp
    $(CC) $(CPPFLAGS) -c example32.sequence.cpp
Copier après la connexion

Ce Makefile utilise des règles intégrées pour simplifier les commandes de compilation. Il définit la variable CC comme compilateur C et la variable CPPFLAGS avec des indicateurs de compilation communs. Les dépendances sont toujours explicitement définies, mais les commandes de compilation sont automatiquement générées.

3. Utilisation de dépendances générées automatiquement :

CC=g++
CPPFLAGS=-g

a3a.exe: a3driver.o example32.sequence.o
    $(CC) $(LDFLAGS) -o a3a.exe a3driver.o example32.sequence.o

depend: .depend

.depend: $(SRCS)
    $(CC) $(CPPFLAGS) -MM $^ > .depend;

.PHONY: clean

clean:
    rm -f a3driver.o example32.sequence.o .depend

include .depend
Copier après la connexion

Ce Makefile utilise l'indicateur -MM intégré pour générer automatiquement des dépendances. La cible depend exécute la commande qui génère le fichier .depend avec les dépendances. La cible .PHONY: clean est une cible spéciale qui n'est pas réellement un fichier ou une règle. La cible propre supprime les fichiers objets et le fichier .depend.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal