Re: Make Problem

Ralf Corsepius <[email protected]>
Newsgroups gmane.linux.suse.programming
Message-ID <[email protected]>
On Wed, 2004-10-13 at 20:56, Lothar Behrens wrote:
> Hi,
> 
> ist ja schon lustig, worüber diskutiert wird, wenn einer eine 
> technische Frage zu make stellt.
<Seufz/>

Es gibt so viele Makefiles, deren Entwickler glaubten, cleverer zu sein,
als Generationen von Entwicklern vor ihnen ...

Anders ausgedrückt: Ich halte den Versuch manuell portable Makefiles
schreiben zu wollen, für "im Ansatz verfehlt", für "zum Scheitern
verurteilt" und für Selbstüberschätzung. 

* Wenn schon manuell, dann ganz richtig proprietär. Also wenn schon
proprietär unter Linux, dann echtes gnumake. 
* Wenn portabel, dann unter Verwendung von Tools. Ich empfehle automake,
in erster Linie deshalb, weil es ein weit verbreitetes Framework zur
Erstellung von portablen Makefiles ist, die auf einer Vielzahl von
Plattformen funktionieren.

> Zum Thema:
> 
> Wenn einer ein make dist ausführt, kennt Er/Sie diese Vorgehensweise
> eigentlich, oder ?
> 
> Wenn jemand gewaltsam eine make variable überschreibt - selber 
> schuld.
Nein, das ist Bestandteil der Arbeitsweise von make (Ein Feature).

Es ist deine Aufgabe als Entwickler, dafür zu sorgen, dass ein Makefile
das tut, was Du willst, dass es tut. 

>  Ich teste schlieslich nicht den Misbrauch meiner makefiles. 
> Oder sollte ich das ?
Es liegt in deinem Ermessen festzulegen, was deine Makefiles tun sollen.

Willst Du einen "simplen Hack", der "für Dich tut", oder willst Du eine
komplexe Infrastruktur, die in unterschiedlichsten Umgebungen von vielen
Entwicklern und Benutzern genutzt wird? 

> Da meine Software ein Framework zur Softwareentwicklung ist, halte 
> ich ein make dist als Ansatz für die Distribution für sinnvoll.
> 
> Der Benutzer meiner Distribution muss nur sein eigenes Werk 
> einklinken und er hat am Ende eine saubere Distribution.
> 
> Sehe ich da etwas völlig falsch ?
Ja. Grundsätzlich ist "dist" ein x-beliebiges make-Target. Was es genau
tut, liegt im Ermessen des Entwicklers und wird von ihm festgelegt.

Für GNU-kompatible Pakete ist das Verhalten von "make dist" in den
GNU-Standards beschrieben (Vgl. info standards). Automake-basierte
Makefiles implementieren das Verhalten wie es in den GNU-Standards
beschrieben wird.

Nicht-GNU-Pakete kennen "make dist" üblicherweise nicht.

Ralf



-- 
Um die Liste abzubestellen, schicken Sie eine Mail an:
    [email protected]
Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken
Sie eine Mail an: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.