В настоящее время у меня есть make-файл для обработки некоторых данных. Makefile получает входные данные для обработки данных, используя файл CONFIG, который определяет входные данные в переменной. В настоящее время я символически связываю входные файлы с локальным каталогом, то есть make-файл содержит:
tmp/%.txt: tmp
ln -fs $(shell echo $(INPUTS) | tr ' ' '\n' | grep $(patsubst tmp/%,%,$@)) $@
Это не очень элегантно, но, похоже, работает. Есть ли способ лучше? В основном, учитывая
ВХОДЫ = /foo/bar.txt /zot/snarf.txt
Вышеприведенное связывает все входные файлы в tmp /, так что я могу обрабатывать их с правилами вроде
%.out: tmp/%.txt
some command
А также цели для объединения результатов в зависимости от всех файлов $ (INPUT).
Кроме того, кроме kludgosity, make-файл не работает корректно с -j, что крайне важно для завершения анализа в разумные сроки. Я думаю, что это ошибка в GNU make, но любые подсказки приветствуются.