правило makefile и отдельные каталоги

У меня есть make-файл (gnu) для запуска pylint на куче скриптов. У него есть приятная особенность, заключающаяся в том, что pylint работает только с обновленными скриптами. Как я могу изменить это, чтобы файлы lint_report помещались в параллельный или подкаталог?

scripts := $(wildcard *.py)
lint_reports = $(scripts:.py=.lint_report)

all: $(lint_reports)

$(lint_reports): %.lint_report: %.py
    -pylint3 $< > $@

person ColonelFazackerley    schedule 20.02.2018    source источник


Ответы (1)


Вы можете сделать следующее:

report_dir := otherdir
scripts := $(wildcard *.py)
lint_reports := $(addprefix $(report_dir)/,$(scripts:.py=.lint_report))    

all: $(lint_reports)

$(lint_reports): $(report_dir)/%.lint_report: %.py
    -pylint3 $< > $@
person HardcoreHenry    schedule 20.02.2018
comment
Я использовал ответ HardcoreHenry с report_dir := ../lint. Сработало удовольствие. - person ColonelFazackerley; 20.02.2018