Domanda

Vorrei includere molti file in un file Makefile.am nella parte xxx_SOURCES = ... . Esiste un modo per utilizzare le espansioni tipiche di una shell lì? Quello che sto cercando è un equivalente funzionante per:

xxx_SOURCES = xxx.c $(top_builddir)/src/{aaa,bbb,ccc}.c
È stato utile?

Soluzione

1) Non c'è modo di farlo nella sintassi portatile di Make (la risposta di effemeride funzionerà solo con GNU Make) 2) Non c'è modo di farlo nemmeno usando Automake. (Sebbene la funzione non dovrebbe essere troppo difficile da implementare da qualcuno che ne ha bisogno ...)

Personalmente non vedo davvero il vantaggio di usare

foo_SOURCES = subdir/{foo,bar,baz}.c

su

foo_SOURCES = \
  subdir/foo.c \
  subdir/bar.c \
  subdir/baz.c

Trovo che il primo sia più enigmatico e non sia plausibile (ad esempio per rispondere alla domanda " quale Makefile menziona foo.c ? ").

Altri suggerimenti

Non so se sia il modo migliore, ma è quello che ho sempre fatto:

xxx_SOURCES = xxx.c $(shell echo $(top_builddir)/src/{aaa,bbb,ccc}.c)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top