Как написать правило для make clean с такой вот хитростью: хочется удалять ряд файлов (например *.eps) только в том случае если для него существует файл из которого его можно сгенерировать (например, соответствующий *.fig). А если нет для него *.fig, то и удалять не надо. Без shell-скрипта вроде такого: $(foreach x,$(wildcard *.eps),\ test -e $(patsubst %.eps,%.fig,$(x)) && rm -f $(x) ;)