Удаление нескольких файлов из каталога, как указано переменной в Makefile

2073
BSchlinker

У меня есть Makefileсо следующим настроенным для установки manстраниц

MANDIR = /usr/share/man/man1

MANPAGES = exec1.1 exec2.1

make install вызывает следующее:

install: $(MANPAGES) install $(MANPAGES) $(MANDIR)

Я хочу иметь, make uninstallкоторый отменит этот процесс.

По сути, мне нужно сделать rm -rf $(MANDIR)/$(MANPAGE)для каждой manстраницы

Много способов, которые я мог бы сделать это, включая циклы и т. Д. Есть ли какие-нибудь быстрые приемы для rm -rfудаления списка файлов из указанной папки?

1

1 ответ на вопрос

1
JoeNahmias
uninstall: rm -f $(addprefix $(MANDIR)/, $(MANPAGES)) .PHONY: uninstall 

Примечание: убедитесь, что вы используете [TAB] вместо восьми пробелов.

Я забыл о `addprefix` - я не работаю на` make` достаточно часто, чтобы помнить эти трюки. Спасибо (и спасибо за напоминание `TAB`). BSchlinker 10 лет назад 0
@BSchlinker: если это сработает, проголосуйте, пожалуйста, проголосуйте. Спасибо! JoeNahmias 10 лет назад 0

Похожие вопросы