Ja gut, man könnte aber trotzdem die Make.global automatisch generieren.
Im Prinzip so wie jetzt. Nur statt -fPIC mit += hinzuzufügen einfach komplett den Parameterstrang, mit dem der VDR gebaut wurde, hineinschreiben und da dann -fPIC dazu.
Ich muss da dann wieder das Beispiel Archlinux bringen, weil ich hauptsächlich das benutze:
Beim Erstellen eines Pakets wird CFLAGS und CXXFLAGS exportiert (von dem Programm makepkg) und danach dann make aufgerufen, wie in der PKGBUILD-Datei definiert.
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2"
CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2"
cd vdr-src
make
Wenn man jetzt davon ausgeht, dass die Make.config keine CFLAGS und CXXFLAGS mehr beinhaltet könnte man dann automatisch beim make eine Make.global generieren, die so aussieht:
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -fPIC"
CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -fPIC"
ifdef PLUGIN braucht man an der Stelle dann auch nicht mehr
Ein im Nachhinein aufgerufenes make VDRDIR=/usr/include/vdr würde dann wieder die richtigen Parameter bekommen. Die Pluginmakefiles bräuchten gar keine CFLAGS und CXXFLAGS mehr...