Как использовать скобки в зависимости в Makefile

Ниже приведен мой 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. Это приводит к указанной выше проблеме.

Я очень ценю любую помощь. Спасибо.

5
задан warem 10 November 2011 в 12:48
поделиться