Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Was ist der Linux-Befehl make?

Was ist der Linux-Befehl make?

藏色散人
藏色散人Original
2023-03-25 09:14:038615Durchsuche

Der Linux-Befehl make ist einer der am häufigsten von Systemadministratoren und Programmierern verwendeten Befehle. Er bezieht sich auch auf einen „automatischen Kompilierungsmanager“, wobei „automatisch“ bedeutet, dass er neuere Dateien automatisch anhand des Dateizeitstempels erkennen kann Reduzieren Sie die Arbeitsbelastung und können Sie gleichzeitig eine große Menge an Kompilierungsarbeiten ausführen, indem Sie den Inhalt der Makefile-Datei lesen.

Was ist der Linux-Befehl make?

Die Betriebsumgebung dieses Tutorials: Linux5.9.8-System, Dell G3-Computer.

Was ist der Linux-Make-Befehl?

Der Befehl make unter Linux ist einer der am häufigsten verwendeten Befehle von Systemadministratoren und Programmierern. Administratoren verwenden es, um viele Open-Source-Tools über die Befehlszeile zu kompilieren und zu installieren, und Programmierer verwenden es, um die Kompilierungsprobleme ihrer großen und komplexen Projekte zu verwalten.

1. Vorteile der Make-Syntax: Der Make-Projektmanager ist ein „automatischer Kompilierungsmanager“, der automatisch neuere Dateien anhand von Dateizeitstempeln erkennen und gleichzeitig die Arbeitsbelastung reduzieren kann führt eine Menge Kompilierungsarbeit durch, indem es den Inhalt der Makefile-Datei liest. Benutzer müssen eine einfache Kompilierungsanweisung nur einmal verwenden, was die tatsächliche Effizienz des Projekts erheblich verbessert.

Stellen wir uns zunächst einen Fall vor: Angenommen, meine ausführbare Datei enthält vier Quellcodedateien, nämlich main.c, haha.c, sin_value.c, cos_value.c. Wenn Sie möchten, dass dieses Programm ausgeführt wird, müssen Sie es wie folgt kompilieren

[root@linux ~]# gcc -c main.c 
[root@linux ~]# gcc -c haha.c 
[root@linux ~]# gcc -c sin_value.c 
[root@linux ~]# gcc -c cos_value.c 
# 先以上面的动作制作出四个目标文件,然后再进行下面的动作: 
 
[root@linux ~]# gcc -o main main.o haha.o sin_value.o cos_value.o \ 
> -lm -L/usr/lib -L/lib 
# 这样就可以制作出  main 这个执行档啰!执行看看吧! 

[root@linux ~]# ./main 
HaHa! I'm the King of the world 0.706825 0.707388

Können Sie, wenn möglich, alle oben genannten Aktionen für ihn in einem Schritt erledigen? Versuchen Sie, in diesem Verzeichnis ein Makefile mit folgendem Inhalt zu erstellen:

# 1. 先建立编译的规则 
[root@linux ~]# vi makefile 
main: main.o haha.o sin_value.o cos_value.o 
 gcc -o main main.o haha.o sin_value.o cos_value.o -lm 
# 注意:第二行的 gcc 之前是 <tab> 按键产生的空格喔! 
 
# 2. 尝试给他建立规则看看 
[root@linux ~]# rm -f main *.o   <==先将之前的目标文件去除 
[root@linux ~]# make 
cc    -c -o main.o main.c 
cc    -c -o haha.o haha.c 
cc    -c -o sin_value.o sin_value.c 
cc    -c -o cos_value.o cos_value.c 
gcc -o main main.o haha.o sin_value.o cos_value.o -lm 
# 这个时候 make 会主动去读取 makefile 这个档案的内容, 
# 并根据内容直接去给他编译起相关的执行档啰! 
 
# 3. 如果再执行一次 make 会怎样?! 
[root@linux ~]# make 
make: `main' is up to date. # 看到了吧?!是否很方便呢?!

make bietet folgende Vorteile:

• Vereinfacht die Anweisungen, die während der Kompilierung ausgegeben werden müssen;
• Wenn ein bestimmter Quellcode nach Abschluss der Kompilierung geändert wird file, dann kompiliert make nur die geänderte Datei und andere Objektdateien werden nicht geändert


• Sie können dann die ausführbare Datei entsprechend den Abhängigkeiten aktualisieren.

2. Die grundlegende Syntax von make

Die Grundregeln von make sind:

目标(target): 依赖条件 1 依赖条件 2 <tab>   gcc -o 欲建立的执行文件 依赖条件 1 依赖条件 2

Das Makefile enthält drei Elemente: Ziel, Abhängigkeit und Befehl. Es gibt nur ein Endziel im Makefile und andere Ziele hängen von diesem Ziel ab.

 Das Ziel sind die Informationen, die wir erstellen möchten, und die Abhängigkeitsbedingung sind die relevanten Objektdateien. Die Syntax zum Erstellen der ausführbaren Datei ist die Zeile, die mit der Schaltfläche beginnt. Achten Sie besonders auf ihn: „Die Befehlszeile muss mit der Tabulatortaste beginnen“! Seine Regeln lauten im Wesentlichen wie folgt:

• # im Makefile stellt einen Kommentar dar

muss das erste Zeichen in der Befehlszeile sein;

• Das Ziel und die abhängige Datei (d. h. die Zieldateien) müssen durch „:“ getrennt werden.

Sie können die vereinfachten Standardbefehle des Systems für automatisierte Variablen im Makefile verwenden:

$^:代表所有的依赖条件。
$@:代表目标文件
$<:代表一个目标文件

Empfohlenes Lernen: „

Linux-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist der Linux-Befehl make?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Was ist Linux Repo?Nächster Artikel:Was ist Linux Repo?