Mailinglist Archive: opensuse-programming-de (182 mails)

< Previous Next >
Re: Makefile Anpassung
  • From: Ralf Corsepius <corsepiu@xxxxxxxxxxxxxx>
  • Date: Fri, 12 Mar 2004 06:03:10 +0100
  • Message-id: <1079067761.7433.69.camel@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
On Thu, 2004-03-11 at 19:35, Bernhard Walle wrote:
> Hallo,
>
> * Ralf Corsepius <corsepiu@xxxxxxxxxxxxxx> [2004-03-11 14:02]:
> > On Thu, 2004-03-11 at 12:09, Frank Liebelt wrote:
> > >
> > > Da mir dieses automake Geschichte von KDevelop dermassen auf den Senkel geht
> > > habe ich mich nun entschlossen ein eigenes Makefile zu schreiben.
> >
> > Eine kurzsichtige Entscheidung. Sie mag Dir kurzfristig weiterhelfen,
> > langfristig wird sie Dir das Genick brechen.
Meine (zugegeben launische) Anmerkung bezog sich darauf "eigene,
händisch geschriebene" Makefiles statt "durch ein Tool generierte"
Makefiles zu verwenden:

* Ab einer gewissen Projektgrösse werden "eigene Makefiles" in der Regel
_schnell_ derart komplex, dass man praktisch keine Chance hat, diese
Komplexität auch nur annähernd zu bewältigen.

* Sind mehrere Personen an einem Projekt beteiligt, werden "eigene
Makefiles" auf längere Sicht nicht mehr handhabbar, da irgendwann der
Zeitpunkt kommt, an dem sie niemand mehr versteht (Fluktuation,
Komplexität). Tools (z.B. automake) erzwingen eine Systematik, die nicht
auf dem Know-How eines Einzelnen beruht.

* Verwendet man Tools, erhält man als Seiteneffekt oft
(Makefile/Projektkonfigurations-) Features, die ein Projekt momentan
zwar nicht braucht, sich längerfristig aber auszahlen. In bez. auf
automake ist dies z.B. Portabilität.

> wenn man in dem Projekt ausschließlich Qt verwendet ist qmake keine
> schlechte Wahl:
Es ist zumindest ein Tool und damit "händisch geschriebenen" Makefiles
überlegen.

Ob es mehr als eine Qt-spezifische, proprietäre Insellösung und
"temporäre Erscheinung" ist, wird die Zukunft weisen müssen.
Wie leistungsfähig es wirklich ist, kann ich nicht beurteilen, da ich
noch nie den Bedarf gesehen habe, qmake verwenden zu wollen.

> geht schnell und man kann daraus auch MSVC++
> Projektdateien generieren. LinCVS verwendet bspw. qmake, um mal ein
> größeres OpenSource-Projekt zu nennen.
Das besagt nicht viel. Es gibt viele Beispiele für OpenSource-Projekte,
die schlechte/unterentwickelte Tools verwenden, dass ich auf derartige
Aussagen nichts mehr gebe.

Es kommt immer auf die Ziele, die Historie, die beteiligten Personen,
deren Know-How und den Bedarf eines Projekte an. Alle Tools haben Vor-
und Nachteile. Da machen automake, qmake, imake, metaconf, ant,
MS-<irgendwas> und was es sonst noch alles gibt, keine Ausnahmen.

Ein Punkt bleibt: Nahezu jedes
"Projekt/Buildscript/Makefile-Generierungstool" ist händisch
geschriebenen Makefiles/Scripten _weit_ überlegen.

Ralf



< Previous Next >