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
War es hilfreich?

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)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top