Llamar a wget desde hacer basado en un patrón

Estoy usando make para tomar un set de files que se actualizan diariamente en un website. Lo que me gustaría hacer es colocar los files en una carpeta nombrada con la date, y luego usar make para hacer otro procesamiento en el file. Intenté esto:

 SUFFIXES = .csv FILES = file1.csv file2.csv file3.csv BASE_DIR = some/dir DATE = $(shell date +"%Y%m%d") SOURCE_FILES = $(patsubst %,$(BASE_DIR)/$(DATE)/%,$(FILES)) ACTIVE_FILES = $(patsubst %,$(BASE_DIR)/%,$(FILES)) all: $(BASE_DIR)/$(DATE) $(ACTIVE_FILES) $(BASE_DIR)/%.csv: $(BASE_DIR)/$(DATE)/%.csv rm -f $@ ln $(BASE_DIR)/$(DATE)/% $(BASE_DIR)/$(DATE): mkdir $@ $(BASE_DIR)/$(DATE)/%.csv: cd $(BASE_DIR)/$(DATE); wget http://example.com/data/%.csv 

El problema es la última línea. No sé cómo pasar el nombre de file a wget, ya que "% .csv" no es válido en este context. ¿Cómo logro lo que busco?

Creo que quieres usar la variable automática $* . De la documentation de la marca GNU:

$*

El tallo con el que coincide una regla implícita. Si el objective es dir/a.foo.b y el patrón objective es a.%.b entonces la raíz es dir/foo . La raíz es útil para build nombres de files relacionados. En una regla de patrón estático, el eje es parte del nombre del file que coincide con el % en el patrón objective.

En su caso específico, la regla de wget podría reescribirse como:

 $(BASE_DIR)/$(DATE)/%.csv: cd $(BASE_DIR)/$(DATE); wget http://example.com/data/$*.csv