B
harry3 schrieb:
Die ersten 2 hab ich kapiert, aber das 3. leuchtet mir nicht ganz ein:
Make ist ein Tool der GNU Autoconf Tools, um Sources automatisch zu kompilieren, ohne zu wiessen, wie man die ganze Befehle heißen und welche Datei kompiliert werden müssen (und wie)
Das ist nicht ganz richtig. Make ist ein eigenstaendiges Tool und hat mit Autoconf nichts zu tun.
Bei Make geht es um Abhaengigkeiten. Zum Beispiel haengt ein ausfuehrbares Programm von allen Objektfiles (.o bzw. .obj) ab, aus denen es besteht. Das heisst, das ausfuehrbare Programm kann nur erstellt werden, wenn diese Objektfiles vorhanden und auf dem neuesten Stand sind. Die Objektfiles wiederum haengen von den .c-Files und den eingebundenen .h-Files ab, aus denen sie erzeugt werden. Manche c-Files haengen auch wieder von etwas ab, z.B. wenn man Yacc benutzt.
Make loest diese Abhaengigkeiten auf. Es bestimmt, welche Dateien wie neu erzeugt werden muessen und fuehrt die dazu noetigen Befehle aus. Welche das im einzelnen sind, und welche Dateien von welchen abhaengen, muss man allerdings per Hand im Makefile festlegen.