Задача - такова:
Программа program из файла имя_filtered.dat делает файл имя_filtered_mean.dat.
Необходимо, чтобы для обработки всех dat-файлов было достаточно запустить make в директории, где лежат эти файлы, сама program и Makefile.
То есть, если в директории лежат файлы 1_filtered.dat, 2014_filtered.dat, north_filtered.dat запуск make был аналогичен выполнению следующего Makefile:
Код: Выделить всё
all: 1_filtered_mean.dat 2014_filtered_mean.dat north_filtered_mean.dat
1_filtered_mean.dat : 1_filtered.dat program
./program $<
2014_filtered_mean.dat : 2014_filtered_dat program
./program $<
north_filtered_mean.dat : north_filtered_dat program
./program $<
program : program.f90
gfortran $< -Wall -o $@
Код: Выделить всё
datlist=$(wildcard *_filtered.dat)
outlist=$(subst _filtered.dat,_filtered_mean.dat,$(datlist))
all : $(outlist)
Я пытался писать что-то типа
Код: Выделить всё
%_filtered_mean.dat : %_filtered.dat program
./program $<
Помогите, пожалуйста. Заранее спасибо.