Страница 1 из 1

Makefile: как сделать перебор

Добавлено: 2014-04-01 18:32:27
moury
Не могу создать правило перебора файлов в Makefile.

Задача - такова:
Программа 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)
Совершенно не представляю, как сделать перебор по спискам datlist и outlist

Я пытался писать что-то типа

Код: Выделить всё

%_filtered_mean.dat : %_filtered.dat program
	./program $<
но получить список файлов не смог.

Помогите, пожалуйста. Заранее спасибо.

Re: Makefile: как сделать перебор

Добавлено: 2014-04-20 11:57:26
Alex Keda
нихрена не понял...

Re: Makefile: как сделать перебор

Добавлено: 2014-04-22 9:45:48
moury
Alex Keda писал(а):нихрена не понял...
Пожалуйста, уточните, что именно Вам непонятно в описании проблемы. Я старался описать проблему максимально подробно и, судя по Вашему ответу, это описание перегрузил.