Erstellung eines modularen Makefiles

CBeginner
Jetzt üben

Einführung

In dieser Herausforderung lernen Sie, wie Sie ein grundlegendes Makefile erstellen, um ein einfaches C-Programm zu kompilieren. Sie werden verstehen, wie Makefiles dabei helfen, den Erstellungsprozess zu automatisieren und die Verwaltung mehrerer Quelldateien zu vereinfachen.

Ein grundlegendes Makefile erstellen

In dieser Aufgabe erstellen Sie ein einfaches Makefile zur Kompilierung eines C-Programms. Das Programm besteht aus zwei Quelldateien: hello.c und utils.c. Die Datei hello.c enthält die Hauptfunktion, die eine Nachricht auf der Konsole ausgibt. Die Datei utils.c enthält eine Hilfsfunktion, die von der Hauptfunktion aufgerufen wird.

Aufgaben

  • Erstellen Sie ein Makefile, das das Programm kompiliert.
  • Fügen Sie Regeln hinzu, um beide Quelldateien zu übersetzen.
  • Fügen Sie ein clean-Ziel hinzu, um die kompilierten Dateien zu entfernen.

Anforderungen

  • Verwenden Sie die bereitgestellten Quelldateien in ~/project.
  • Das Makefile muss sowohl hello.c als auch utils.c kompilieren.
  • Erzeugen Sie eine ausführbare Datei mit dem Namen hello.
  • Integrieren Sie ein clean-Ziel.
  • Verwenden Sie GCC als Compiler.

Beispiele

Führen Sie die folgenden Befehle aus, um das Programm zu kompilieren:

cd ~/project
make
gcc -c hello.c
gcc -c utils.c
gcc hello.o utils.o -o hello

Führen Sie das kompilierte Programm aus:

./hello

Beispielhafte Programmausgabe:

Hello, World!
Utility function called!

Bereinigen Sie nach der Ausführung des Programms die erzeugten Dateien.

Hinweise

  • Denken Sie daran, Tabulatoren (TAB) für die Einrückungen im Makefile zu verwenden.
  • Nutzen Sie das Flag -c, um Quelldateien in Objektdateien umzuwandeln.
  • Testen Sie das Programm nach der Kompilierung.

Zusammenfassung

Diese Herausforderung hat Sie in die Grundlagen der Makefile-Erstellung eingeführt. Sie haben gelernt, wie man ein einfaches Makefile schreibt, um mehrere Quelldateien zu kompilieren, eine ausführbare Datei zu erstellen und Build-Artefakte zu bereinigen. Dies sind fundamentale Fertigkeiten für die Verwaltung von C-Projekten.

✨ Lösung prüfen und üben