Рассмотрим это правило:
all: $(OUT)/*.txt
echo "Running processing of raw files"
Здесь указано, что all
зависит от всех файлов в каталоге $(OUT)
, соответствующих шаблону *.txt
.
Ну, конечно, прежде чем вы запустите свой make-файл, там нет файлов : в этом весь ваш make-файл, чтобы создать их. Поэтому при первом запуске make этот шаблон расширяется до нуля, и поэтому нет никаких предпосылок для all
, и, таким образом, ничего не делается.
Если вы хотите построить список целей для построения, вы должны сделать это на основе исходных файлов, которые будут существовать всегда, или в этом случае, когда они не совпадают точно, у вас есть перечислить их явно:
YEARS = 2018 2019
all: $(patsubst %,$(OUT)/%.txt,$(YEARS))
echo "Running processing of raw files"