Variablen in Makefile.am

Fremd-Buildsysteme
Antworten
MPC823
Erleuchteter
Erleuchteter
Beiträge: 448
Registriert: Samstag 26. November 2005, 00:35

Variablen in Makefile.am

Beitrag von MPC823 »

Ich möchte in plugins.mk die Variable

PLUGINS_TO_BUILD definieren. Bsp :

PLUGINS_TO_BUILD= tuxcom tuxmail

und dann möchte ich das diese Variable genau in der Datei Makefile.am die im buildsystem-cs/source/neutrino-hd-plugins liegt eintragen.

so das dann dort quasi

"SUBDIRS = tuxcom tuxmail" steht mit

SUBDIRS =$PLUGINS_TO_BUILD

geht es nicht .

Das siet man das nach configure in Makefile.in dann

SUBDIRS = $PLUGINS_TO_BUILD

steht.

Hat jemand eine Idee wie ich die Variable so in den file bringe das sie nur dort drin sind. Problem dabei ist das es in neutrino-hd-plugins wieder verzeichnise mit eignen Makefiles.am gibt die aber alle unterscheidlich sind .

Notwendig ist das wegen rekursivem bauen


Martin
MPC823
Erleuchteter
Erleuchteter
Beiträge: 448
Registriert: Samstag 26. November 2005, 00:35

Re: Variablen in Makefile.am

Beitrag von MPC823 »

Nunja unschön aber "es tut soweit so schlecht"

Ich habe in plugins.mk mit

" sed 's/$$(PLUGINS_TO_BUILD)/$(PLUGINS_TO_BUILD)/g' $(PLUGIN_DIR)/makefile.am >$(PLUGIN_DIR)/Makefile.am; \"

erweitert damit makefile.am -> Makefile.am aktualisiert wird

Code: Alles auswählen

UTOMAKE_OPTIONS = gnu

SUBDIRS = \
	$(PLUGINS_TO_BUILD)

#include tuxmail tuxtxt tuxcal tuxclock fx2 vncviewer enigma shellexec tuxwetter sysinfo clock logomask blockads links


all :
	for dir in $(SUBDIRS); do \
	(cd $$dir; make --debug=b ) \
	done

#pkgconfigdir = $(libdir)/pkgconfig
#pkgconfig_DATA = \
#	tuxbox-plugins.pc
ersetzt.

Nun läuft es durch auch mit "PLUGINS_TO_BUILD=tuxcom tuxmail"

Wenn es denn mal läuft dann schreibe ichs hier ins Forum rein an andere Stelle

Martin
wittinobi
Einsteiger
Einsteiger
Beiträge: 116
Registriert: Montag 29. März 2004, 22:00

Re: Variablen in Makefile.am

Beitrag von wittinobi »

probier mal folgendes...
in "plugins.mk:

Code: Alles auswählen

PLUGINS_TO_BUILD = tuxcom tuxmail
und in "Makefile.am"

Code: Alles auswählen

SUBDIRS = $(PLUGINS_TO_BUILD)
...also einfach mit klammer, sollte funktionieren.

mfg
wittinobi
MPC823
Erleuchteter
Erleuchteter
Beiträge: 448
Registriert: Samstag 26. November 2005, 00:35

Re: Variablen in Makefile.am

Beitrag von MPC823 »

Ja das habe ich gemacht dann passiert aber folgendes :

das $(PLUGINS_TO_BUILD) aus dem Makefile.am wird dann genau so ins Makefile.in reingeschrieben und nicht als Variable interpretiert.

Weil dann aber in Makefile.in nicht "SUBDIRS = tuxcom tuxmail" steht sondern

"SUBDIRS = $(PLUGINS_TO_BUILD)" bricht make ab.

Seife hat das damals für tuxcom so gelösst das er beim Aufruf von make die Variable SUBDIRS übergeben hat. Das geht dann für alle PLUGINS die wiederum selbst keine Subdirs haben. Sobald aber ein Plugin selbst wieder ein Subdir hat bricht der build beim bau ab mit der Fehlermeldung das Zeile 17 bla bla. Es gibt wohl ein Problem wenn man SUBDIRS als Variable übergibt an make und beim Bau dann selbst noch unterverzeicnisse hat mit eine tiefe von mehr als 1.

Wenn ich das was in der Variable steht nicht an make direkt übergeben sondern im "obersten" Makefile.am eintrage dann geht es und läuft . Sobald an make diese Variable übergeben wird läuft es schief.

Ich habe keine lösung gefunden wie man "flexibel" make mitteilen kann was zu bauen ist.

Entweder man hardcodiert alles was ziemliecher Mist ist weil man bei jedem Neubau an zig Stellen rumdrehen muss.

Aber "SUBDIRS = $(PLUGINS_TO_BUILD)" in Makefile.am geht leider nicht.

Ja oder die wurstel Lösung mit sed :gruebel: tut aber nunja ich finde das "von hinten durch die Brust" .

Martin
Antworten