Поиск в текущем каталоге последним при поиске зависимостей с использованием GNU make и VPATH - PullRequest
0 голосов
/ 27 апреля 2011

Это проблема разрешения зависимости GNU Make.

Моя проблема заключается в том, что я копирую исходные файлы с удаленного файлового сервера на рабочий диск (что ускоряет процесс сборки на 50%).Если копирование файла завершается неудачно, я хочу использовать исходные файлы с файлового сервера, иначе я хочу прочитать их с чистого диска.

Я попытался использовать механизм vpath, но проблема в том, чтоНасколько я понимаю, make по умолчанию начнет искать исходные файлы в текущем каталоге, и только если он не сможет найти файлы там, посмотрите каталоги, перечисленные с помощью vpath.

Is itМожно ли сделать первый просмотр в каталогах vpath, прежде чем искать в текущем каталоге? Или, возможно, только посмотреть в каталогах vpath (и явно и динамически добавить текущий каталог в vpath)?Можно подумать о временном изменении каталога, чтобы make всегда не смог найти исходные файлы.

1 Ответ

0 голосов
/ 27 апреля 2011

Посмотрите путь к исходному каталогу на сервере. Предположим, это "/ server / someplace / src /". И предположим, что у вас нет каталога «src» в текущем каталоге (если у вас есть, мы просто должны настроить этот метод). Просто убедитесь, что путь к исходному каталогу на рабочем диске заканчивается на "/ src /", например "/ scratch / wednesday / src /". Тогда вы можете сделать это:

SCRATCH_PATH = /scratch/wednesday/
SERVER_PATH = /server/someplace/

VPATH = $(SCRATCH_PATH) $(SERVER_PATH)

%.o: src/%.cc
    $(CC) blah blah blah
...