Альтернативное решение, которое (будем надеяться) проверит метку времени для каждого файла PDF и активирует CROP только для обновленных / новых файлов.
Обрезанный файл остается с тем же именем. Если временная метка файла '.crop' новее, чем файл 'pdf', это означает, что файл обрезан, в противном случае файл PDF будет обрезан, а файл '.crop' будет затронут.
MAIN_FILE = Dissertation
FIG_DIR = ./Bilder/Abbildungen
FIG_FILES := $(wildcard $(FIG_DIR)/*.pdf)
all: $(MAIN_FILE).pdf
# The '.crop' timestamp capture the time the file was cropped
CROP_FILES=${FIG_FILES:%=%.crop}
%.crop: %
pdfcrop $< $<
touch $@
$(MAIN_FILE).pdf: $(MAIN_FILE).tex $(CROP_FILES)
pdflatex $(MAIN_FILE).tex
Модификация для размещения файлов «обрезки» в папке временных меток
TS_DIR=ts
CROP_FILES = ${FIG_FILES:${FIG_DIR}/%=${TS_DIR}/%.crop}
${TS_DIR}/%.crop: ${FIG_DIR}/%
@mkdir -p ${TS_DIR}
pdfcrop $< $<
touch $@
Предлагает провести дополнительное тестирование, поскольку логика более сложная. Цель «% .crop» заменяется правилом для генерации их в $ {TS_DIR}