Ниже приведен мой Makefile:
.PHONY: all
all: /Users/wu/qqaa/homepage\ 1\ 2\ 3/icons\ (a-b)
@tar cjvf 1.tar.bz2 --exclude=*~ /Users/wu/qqaa/homepage\ 1\ 2\ 3/icons\ \(a-b\)
Он не сработал. Проблема в скобках в зависимости. Добавление \
перед (
и )
также не сработало. Ошибка заключается в следующем:
make: *** No rule to make target `/Users/wu/qqaa/homepage 1 2 3/icons (a-b)', needed by `all'. Stop
Каталог / Users / wu / qqaa / homepage 1 2 3 / icons (a-b) действительно существует. Казалось, что скобки нельзя использовать в зависимости. Это правильно? Или я что-то пропустил?
Звучит, что двоеточие также нельзя использовать в зависимости.
Я написал сценарий оболочки bash для резервного копирования моей системы. Я использовал make
и tar
для резервного копирования. Использование make
предназначено только для обновления новых файлов и архивирования каталога. Проблема в том, что в именах многих файлов есть двоеточие или круглые скобки, и они имеют особое значение в Makefile. Это приводит к указанной выше проблеме.
Я очень ценю любую помощь. Спасибо.