Heim >Backend-Entwicklung >C++ >Wie erstelle ich ein einfaches C-Makefile für ein Einzeldateiprojekt?
So erstellen Sie ein EINFACHES C-Makefile
Problem:
Wir müssen ein Makefile zur Verwaltung erstellen Unser C-Projekt, aber uns wurde nicht beigebracht, wie man das macht. Das Projekt besteht aus einer einzigen Datei, a3driver.cpp, die eine Klasse aus /user/cse232/Examples/example32.sequence.cpp importiert.
Lösung:
1. Grundlegendes Makefile:
a3a.exe: a3driver.cpp example32.sequence.cpp g++ -g -o a3a.exe a3driver.cpp example32.sequence.cpp
Dieses Makefile gibt an, dass die ausführbare Datei a3a.exe von den Quelldateien a3driver.cpp und example32.sequence.cpp abhängt. Bei der Ausführung wird der Befehl zum Kompilieren des Programms in die ausführbare Datei ausgeführt.
2. Verwendung integrierter Regeln:
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
Dieses Makefile verwendet integrierte Regeln, um die Kompilierungsbefehle zu vereinfachen. Es definiert die CC-Variable als C-Compiler und die CPPFLAGS-Variable mit gemeinsamen Kompilierungsflags. Die Abhängigkeiten sind weiterhin explizit definiert, die Kompilierungsbefehle werden jedoch automatisch generiert.
3. Verwendung automatisch generierter Abhängigkeiten:
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
Dieses Makefile verwendet das integrierte Flag -MM, um Abhängigkeiten automatisch zu generieren. Das abhängige Ziel führt den Befehl aus, der die Datei .depend mit den Abhängigkeiten generiert. Das .PHONY:clean-Ziel ist ein spezielles Ziel, das eigentlich keine Datei oder Regel ist. Das saubere Ziel entfernt die Objektdateien und die .depend-Datei.
Das obige ist der detaillierte Inhalt vonWie erstelle ich ein einfaches C-Makefile für ein Einzeldateiprojekt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!