Plugins mit altem Makefile - Sammlung


  • Das bedeutet nur, dass ich derzeit sicher gar nichts fuer vdr >1.7.32 mache.


    Verständlich. Rings um die Makefiles wurde unnötig Arbeit generiert ohne echte Verbesserungen (cmake, configure, ..) einzubringen.

  • Ich vermisse hier das plugin, welches hier nicht genannt werden darf, aber bestimmt von vielen eingesetzt wird ;)


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Welches von den beiden? Das neuere ist ohne Probleme auf Github zu finden - und wie es aussieht kümmert sich da schon jemand um das Makefile.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Welches von den beiden? Das neuere ist ohne Probleme auf Github zu finden - und wie es aussieht kümmert sich da schon jemand um das Makefile.


    Ich meinte das Ältere


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Nachfolgend (in diesem und den folgenden Postings) ein Satz angepasster Makefiles für die Plugins in meiner Signatur, die nicht in der VDR-Distribution drin sind. Bei einigen hat, wenn ich mich recht erinnere, Copperhead schon Vorarbeiten geleistet (Danke dafür!), sodass ich nur ein bisschen Feintuning betrieben habe...


    Für die Plugin-Entwickler könnten die angepassten Makefiles ein guter Startpunkt sein. Und wenn sie nicht ganz spezielle Dinge brauchen, sollten die Makefiles eigentlich 1-zu-1 übernommen werden können. Ich habe mit diesen Makefiles meine Plugins jedenfalls in den letzten Wochen mehrfach erfolgreich kompiliert, zuletzt (heute) für VDR 1.7.36. Allerdings habe ich immer innerhalb des VDR-Verzeichnisbaums kompiliert, nicht außerhalb. Da ich mich aber an das Makefile des Plugins hello als Vorlage gehalten habe, würde ich erwarten, das auch dies funktioniert. Toi, Toi, Toi... ;D


    Die Anpassung der Makefiles für softhddevice und xineliboutput habe ich nach einiger Zeit aufgegeben, weil diese doch extrem stark vom Standard abweichen. Solange beide Plugins mit ihren alten Makefiles noch kompilieren, warte ich erst einmal, ob die Entwickler nicht doch eine bessere Lösung anbieten, als ich es könnte.


    Viele Grüße
    Stefan

  • Fortsetzung: Neue Makefiles, Teil 2


    Achtung: Update der Live-Makefiles (installieren jetzt auch die Resource-Dateien).

  • Fortsetzung: Neue Makefiles, Teil 3


    Achtung: Update des SkinEnigmaNG-Makefiles (installiert jetzt auch die Themen).

  • Fortsetzung: Neue Makefiles, Teil 4


    Achtung: Update des SkinPearlHD-Makefiles (installiert jetzt auch die Themen).

  • Fortsetzung: Neue Makefiles, Teil 5 (Letzter Teil)


    Achtung: Zweites Update des WeatherNG-Makefiles (installiert die Resource-Dateien und bindet die auch die Grafik-Bibliotheken mit ein).


    Nachtrag: Ich hatte das Makefile für StreamDev vergessen und nachträglich noch beigefügt.


    Alle Makefiles "as is", also unter Ausschluss jeglicher Gewährleistung, wie man so schön sagt... :D


    Viele Erfolg damit
    Stefan


  • Verständlich. Rings um die Makefiles wurde unnötig Arbeit generiert ohne echte Verbesserungen (cmake, configure, ..) einzubringen.


    Letztlich ist ein "configure" nichts anderes als das "Make.config"-Konzept vom VDR. Wenn du unbedingt ein "configure" haben willst, dann wäre es eine Kleinigkeit sowas als einfaches Shellscript zu etablieren. Das "configure" würde dann letztlich, abhängig von den durch den Benutzer angegebenen Parametern, ein "Make.config" selber erstellen welches vom nachfolgenden "make" dann interpretiert wird. Ist dann aber letztlich "das gleiche in Grün". Wird nur etwas anders gemacht und man hätte eventuell noch den ganz kleinen Vorteil, dass man via "./configure --help" die Parameter umfänglich erklären könnte.

  • Letztlich ist ein "configure" nichts anderes als das "Make.config"-Konzept vom VDR. Wenn du unbedingt ein "configure" haben willst, dann wäre es eine Kleinigkeit sowas als einfaches Shellscript zu etablieren. Das "configure" würde dann letztlich, abhängig von den durch den Benutzer angegebenen Parametern, ein "Make.config" selber erstellen welches vom nachfolgenden "make" dann interpretiert wird. Ist dann aber letztlich "das gleiche in Grün". Wird nur etwas anders gemacht und man hätte eventuell noch den ganz kleinen Vorteil, dass man via "./configure --help" die Parameter umfänglich erklären könnte.


    Ist ja lieb von dir, dass du mich über die Funktionsweise von configure aufklären möchtest. ;)
    Und nein, configure erstellt für gewöhnlich (u.a.) ein (oder mehrere) Makefile(s), aber keine Make.config.


    Auf jeden Fall wäre DAS dann standard-Konform gewesen und keine Bastelei.

  • Ob die Info nun in die Makefiles geschrieben werden (dort sind letztlich auch nur Variablen drin, die durch configure ersetzt werden) oder die Variablen in eine separate Make.config geschrieben und durch das Makefile dann eingelesen werden, das ist für den Benutzer nun wirklich kein Unterschied.


    Gegen ein sauber geschriebenes Makefile-System habe ich generell nichts. Im Gegensatz zu so manchem autoconf/automake basierten Build-System kann man das VDR-Makefile gut überblicken und verstehen.


    Nur weil sehr viele Projekte autoconf/-make verwenden muss es nicht die einige richtige Lösung sein. MPlayer verwendet zum Beispiel auch selbstgeschriebene Makefiles und hat auch ein selbstgeschriebenes "configure". Und ein sauber geschriebenes Makefile ist auch keine "Bastelei". Ich empfinde das von "autoconf" gebaute "configure" zumindest in den allermeisten Fällen als eher lästig. Dort werden zig Parameter im System geprüft und von dem ermittelten dann nur ein Bruchteil auch in die Makefiles geschrieben. Performant ist anders.

  • Es geht ja auch weniger um 'performant', sondern darum ein zum System passendes Makefile zu erstellen, oft auch darum auf bestimmte header und libraries auf dem aktuellen System prüfen zu können.


    All das geht mit der jetzigen Lösung nicht.

  • Beim Live-Plugin habe ich beim Bauen für Arch noch Probleme (den Patch habe ich aus den von shofman geposteten Makefiles erzeugt):



    Makefiles-1.7.36.diff

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Das kann so auch nicht gehen. Das PKGBUILD ist für das alte Makefile ausgelegt. Wenn du einfach alles so lässt wie ich es ins Repo gepusht habe funktioniert es.


    Mir fällt aber gerade auf, dass in den von shofmann geposteten Makefiles die Install-Routine für die Zusatzdateien fehlt. Im Fall von live müsste das "live"-Verzeichnis ins Resourcedirectory kopiert werden. Ein gut umgesetztes Beispiel dafür ist skinnopacity und tvguide.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!