Automake Muster Expansion
Frage
Ich mag viele Dateien in einer Makefile.am
Datei im xxx_SOURCES = ...
Teil aufzunehmen. Gibt es eine Möglichkeit eine typische Shell-Erweiterungen dort zu benutzen? Was ich suche ist ein funktionierendes Äquivalent für:
xxx_SOURCES = xxx.c $(top_builddir)/src/{aaa,bbb,ccc}.c
Lösung
1) Es gibt keine Möglichkeit, das zu tun, in tragbarer Make-Syntax (ephemient Antwort funktioniert nur mit GNU Make) 2) Es gibt keine Möglichkeit, dass die Verwendung von Automake entweder zu tun. (Obwohl die Funktion sollte nicht allzu schwer sein, von jemandem zu implementieren, die es braucht ...)
Persönlich ich nicht wirklich den Vorteil, sehen mit
foo_SOURCES = subdir/{foo,bar,baz}.c
über
foo_SOURCES = \ subdir/foo.c \ subdir/bar.c \ subdir/baz.c
finde ich die ehemalige kryptischer ist, und es ist nicht grepable (zum Beispiel die Frage zu beantworten „die Makefile
foo.c
erwähnt?“).
Andere Tipps
Ich weiß nicht, ob es der beste Weg ist, aber das ist, was ich immer getan:
xxx_SOURCES = xxx.c $(shell echo $(top_builddir)/src/{aaa,bbb,ccc}.c)