Seite 1 von 1

Variablen in Makefile.am

Verfasst: Donnerstag 9. August 2012, 20:43
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

Re: Variablen in Makefile.am

Verfasst: Freitag 10. August 2012, 09:50
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

Re: Variablen in Makefile.am

Verfasst: Freitag 10. August 2012, 10:21
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

Re: Variablen in Makefile.am

Verfasst: Freitag 10. August 2012, 10:47
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