Schrift
[thread]1325[/thread]

Make

Leser: 1


<< >> 9 Einträge, 1 Seite
SirLant
 2003-08-25 00:07
#15711 #15711
User since
2003-08-04
516 Artikel
BenutzerIn
[default_avatar]
Man liest das ja oft, aber was genau ist "make" eigentlich, nen einfache Installationsprogramm scheint es nicht zu sein und ein Compiler auch nicht wirklich.
Aber was ist es dann?
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
jan10001
 2003-08-25 00:24
#15712 #15712
User since
2003-08-14
962 Artikel
BenutzerIn
[default_avatar]
SirLant
 2003-08-25 00:32
#15713 #15713
User since
2003-08-04
516 Artikel
BenutzerIn
[default_avatar]
Danke :)
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
Dubu
 2003-08-25 00:37
#15714 #15714
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
make ist ein Programm, das nach in sogenannten "Makefiles" beschriebenen Regeln und zusaetzlichen, in make eingebauten Regeln Programme ausfuehrt.

Diese Regeln beschreiben normalerweise, aus welchen Dateien ein (Programmier-)Projekt besteht, wie aus Quellcode ausfuehrbare Programme erzeugt werden und welche Teile des Projektes von welchen anderen Teilen abhaengen. Wenn diese Regeln einmal erstellt wurden, braucht man nach einer Aenderung an einem beliebigen Teil des Projektes nur "make" aufzurufen und es werden nur die benoetigten Schritte zur Neuerstellung ausgefuehrt.

Zusaetzlich zu den Build-Regeln enthalten die meisten Makefiles Regeln zur Installation des Programms oder zum Loeschen von allen temporaeren Dateien innerhalb des Projektes. Unterschiedliche Aufgaben werden durch unterschiedliche "Targets" gekennzeichnet, die beim Aufruf von make uebergeben werden: "make" ruft das Default-Target auf, das normalerweise aus den Quellen das fertige Programm baut. "make install" ruft das Target "install" auf, das meist dazu dient, das Programm und weitere benoetigte Dateien an seine Zielpositionen im Dateisystem zu kopieren und evtl. Zugriffsrechte zu setzen.

Da make ueber sehr maechtige Moeglichkeiten verfuegt, Regeln anzugeben, laesst es sich sehr vielfaeltig einsetzen. Im Bereich der Unix- und Linux-Programmierung ist es das Standardwerkzeug zum Uebersetzen und Installieren von Projekten. Da bei sehr grossen Projekten die Anzahl der voneinander abhaengigen Dateien schnell unuebersichtlich wird, gibt es auch Programme, die automatisiert Makefiles erstellen (configure/autoconf/automake).
Dubu
 2003-08-25 00:39
#15715 #15715
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Hmpf. Na gut, beim naechsten Mal google ich auch erstmal, bevor ich mir eine Antwort aus den Fingern leiere. ;-)
SirLant
 2003-08-25 00:42
#15716 #15716
User since
2003-08-04
516 Artikel
BenutzerIn
[default_avatar]
Haste aber schön geschrieben :)
Und was selbsterarbeitetes ist doch immer besser als kurz zu googeln :D
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
Dubu
 2003-08-25 01:01
#15717 #15717
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Danke.
Und selber schreiben hilft immer zumindestens dem Schreibenden, etwas ueber das Thema zu lernen. ;)
jan10001
 2003-08-25 01:20
#15718 #15718
User since
2003-08-14
962 Artikel
BenutzerIn
[default_avatar]
Volltreffer, da hast du recht! Was man selbst schreibt merkt man sich besser. Aber in dem Fall fand ich den Artikel viel anschaulicher, zudem hatte ich ihn im Bookmark drin. :laugh:
kabel
 2003-08-25 17:30
#15719 #15719
User since
2003-08-04
704 Artikel
BenutzerIn
[default_avatar]
FYI make gehört zur familie der logiksprachen. in logiksprachen ist ein programm eine menge von regeln. diese werden einem interpreter gegeben, dem dann fragen gestellt werden können.

ein beispiel:
[READMORE]
Quote
length ([], 0);
length ([HEAD|TAIL], COUNT) :-
COUNT is length (TAIL) + 1;


die länge der leeren liste [] ist 0. falls die liste nich leer ist, dann kann sie in das erste element und eine restliste aufgespalten werden. die länge ist in diesem fall 1 + länge der restliste.

nachdem der interpreter die regeln zu seiner wissensbasis hinzugefügt hat, kann er die frage nach der länge einer liste beantworten (hypothetischer dialog):

> length ([1, 2, 3], COUNT)
> COUNT is 3
> yes.
> length ([], COUNT)
> COUNT is 0
> yes.
>
[/READMORE]

in diesem fall stellt das makefile die menge der regeln dar. die wissensbasis von make wird dann durch diese ergänzt. du stellst dann fragen, in dem du auf der kommandozeile tippst:
Quote
make install

entweder es klappt, oder dir fliegen virtuell ein paar fehlermeldungen um die ohren. 8)
-- stefan
<< >> 9 Einträge, 1 Seite



View all threads created 2003-08-25 00:07.