Zum Inhalt springen

configure & make


given_to_fly

Empfohlene Beiträge

Hallo.

Ich bräuchte mal eine kleine Erklärung zu den beiden "Programmen".

Ich glaube jeder hat diese schonmal benutzt um so sein gewünschtes Programm zu übersetzten .

Doch was machen diese einzelnen eigentlich ?

mit configure kann ich die Pfade etc.. anpassen ...

Dann prüft er ab ob ich gewisse Programme installiert hab, jedoch was macht er noch ?

Erstellt er das Makefile ?

Und warum muss er ein makefile erstellen bzw. was macht make eigentl. ?

Er kompiliert die einzelen c dateien zusammen, aber wieso macht man dann nicht ein file das die ganzen compilierungszeilen erhält ?

Warum dann denn configure?

Und warum muss ich manchmal überhaupt kein configure machen, sondern reicht einfach ein make irgendwas....

Und wenn ich ein Programm geschrieben habe gibt es ein programm das mir das configure file erstellt oder muss ich das per hand erstellen ?

Hoffe ihr könnt mich einmal aufklären, vielen Dank!

Link zu diesem Kommentar
Auf anderen Seiten teilen

mit configure kann ich die Pfade etc.. anpassen ...

Ja, Pfade anpassen, Funktionen ein- bzw. ausschalten, etc.

Dann prüft er ab ob ich gewisse Programme installiert hab, jedoch was macht er noch ?

Configure prüft nicht nur, ob bestimmte Programme und Bibliotheken installiert sind, sondern z.B. auch welche Ergebnisse Funktionen aus der C Bibliothek zurückliefern, welche Parameter zum Aufruf solcher Funktionen nötig sind, etc.

Erstellt er das Makefile ?

Ja.

Und warum muss er ein makefile erstellen bzw. was macht make eigentl. ?

Ein Makefile benötigst Du, damit make überhaupt arbeiten kann.

make liesst das von configure erstellte Makefile aus und arbeitet es entsprechend ab, indem es z.B. Code kompiliert,die resultierenden Objektdateien linkt, oder Programmdateien installiert.

Er kompiliert die einzelen c dateien zusammen, aber wieso macht man dann nicht ein file das die ganzen compilierungszeilen erhält ?Warum dann denn configure?

Das ist nötig um den Üersetzungsvorgang von Programmen portabel zu halten, den Aufwand für die Programmierer einen Weg zu finden ihre Programme zu verteilen zu minimieren und eine Möglichkeit für den Benutzer der Programme zu bieten diese relativ leicht zu übersetzen, ohne vorher tief in den Makefile Änderungen vorzunehmen. Wenn Du ein selbstgeschriebenes statisches Makefile verwendest musst Du bestimmte Annahmen über das System machen, auf dem der Makevorgang ausgeführt wird. Wie Du Dir sicher vorstellen kannst, kommt dies über kurz oder lang zu Problemen, wenn z.B. Bibliotheken oder Pfade verwendet werden, die auf dem Zielsystem nicht vorhanden sind, etc.

Und warum muss ich manchmal überhaupt kein configure machen, sondern reicht einfach ein make irgendwas....

Weil nicht alle Programme auf den GNU Autotools basieren und damit kein configure exitiert.

Und wenn ich ein Programm geschrieben habe gibt es ein programm das mir das configure file erstellt oder muss ich das per hand erstellen ?

Ja, die gibt es. Das ganze besteht aus mehren Programmen, z.B. Autoconf, Automake, Autoheader. Diese Programme sind Teil des GNU Projektes und als GNU Autotools bekannt.

Hoffe ihr könnt mich einmal aufklären, vielen Dank!

HTH

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

das liegt daran, dass innerhalb der Makefiles verschiedene Funktionen existieren können, die diverse Aktionen durchführen können. Z.B. Könnte eine Funktion existieren, die das Programm installiert (make install). Eine weitere Funktion innerhalb des Makefiles könnte die Dateien deinstallieren (make uninstall), eine weitere die Objektdateien löschen (make clean), etc. Am Besten schaust Du dir mal ein Makefile eines kleineren Programmes durch, diese sind i.d.R. noch relativ übersichtlich.

Mit configure und Dateinamen hat das nichts zu tun.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von DanielB

Hi,

das liegt daran, dass innerhalb der Makefiles verschiedene Funktionen existieren können, die diverse Aktionen durchführen können. Z.B. Könnte eine Funktion existieren, die das Programm installiert (make install). Eine weitere Funktion innerhalb des Makefiles könnte die Dateien deinstallieren (make uninstall), eine weitere die Objektdateien löschen (make clean), etc. Am Besten schaust Du dir mal ein Makefile eines kleineren Programmes durch, diese sind i.d.R. noch relativ übersichtlich.

Mit configure und Dateinamen hat das nichts zu tun.

Ahh jetzt :)

Ich hab es am beispiel von PsyBnc nachvollzogen ....

Nu hab ichs gerallt, vielen Dank!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...