Ein "make" im VDR Source-Verzeichnis soll, wenn alles "lokal" ist, zur Folge haben, daß
- VDR selber compiliert wird
- alle Plugins in ./PLUGINS/src compiliert werden und ggf. ihre *.mo-Files erzeugen
- alle *.so-Files der Plugins nach ./PLUGINS/lib kopiert werden (mit APIVERSION)
- alle *.mo-Files (Plugins und VDR) nach ./locale kopiert werden (an die richtigen Stellen)
Damit soll erreicht werden, daß ein lokaler Build sofort lauffähig ist, ohne irgendwas ins System "installieren" zu müssen.
Sehe ich genauso, ich würde die Anfordeungen genauer formulieren wollen:
1.) "make" im VDR Source-Verzeichnis soll zur Folge haben, daß
- VDR selber compiliert wird
- alle Plugins in ./PLUGINS/src compiliert werden und ggf. ihre *.mo-Files erzeugen
- alle *.so-Files der Plugins nach ./PLUGINS/lib kopiert werden (mit APIVERSION)
- alle *.mo-Files (Plugins und VDR) nach ./locale kopiert werden (an die richtigen Stellen)
- vdr.pc aus VDR Source-Verzeichnis verwendet wird
- vdr.pc über cflags und cxxflags auf VDR eigene Include-dateien innerhalb des VDR Source-Verzeichnisses zeigt
2.) "make" in einem Plugin-Source-Verzeichnis innerhalb des VDR Source-Verzeichnisses soll zur Folge haben, daß
- wie 1) nur für das Plugin
3.) "make" in einem Plugin Source-Verzeichnis außerhalb des VDR Source-Verzeichnisses soll zur Folge haben, daß
- Plugin compiliert und ggf. *.mo erzeugt wird
- vdr.pc aus Install-Verzeichnis (/usr/local/lib/pkgconfig) verwendet wird
- vdr.pc über cflags und cxxflags auf VDR eigene Include-dateien im Install-Verzeichnis (/usr/local/include/vdr bzw. /usr/local/include/libsi) zeigt
4.) "make install" im VDR Source-Verzeichnis soll zur Folge haben, daß
- alle Dateien (vdr, *.so mit API-Version, *.mo, ..) die zum Starten des VDR notwendig sind, in vordefinierten Verzeichnissen installiert werden
- wenn Verzeichnisse für Include bzw. vdr.pc definiert sind, auch Include-Dateien und vdr.pc installiert werden
(benötigt man nicht, wenn es keine Plugins außerhalb des VDR Source-Verzeichnisses gibt)
- vdr.pc aus VDR Source-Verzeichnis verwendet wird
5.) "make install" in einem Plugin-Source-Verzeichnis innerhalb des VDR Source-Verzeichnisses soll zur Folge haben, daß
- so wie 4) oder existiert nicht
6.) "make install" in einem Plugin Source-Verzeichnis außerhalb des VDR Source-Verzeichnisses soll zur Folge haben, daß
- Plugin Dateien (*.so mit API-Version, *.mo, ..) die zum Starten des VDR notwendig sind, in vordefinierten Verzeichnissen installiert werden
- vdr.pc aus Install-Verzeichnis (/usr/local/lib/pkgconfig) verwendet wird
7.) "make clean", "make clean-plugins", ...
Varianten 3.) und 6.) erscheinen mir eigentlich nicht sinnvoll, da Plugins immer an eine Variante des Vdr und dessen Konfiguration gebunden sind.
Wenn man 1+2 und 3 haben will, benötigt man zwei Varianten der vdr.pc, bei denen cflags/cxxflags unterschiedlich sind.
Gruß
e9hack