У меня есть Makefile, который создает шейп-файл в качестве промежуточных шагов.Очистить промежуточные файлы, не указанные в Make
.INTERMEDIATE : senate_boundaries.shp
senate_boundaries.shp : Senate\ shape\ files.zip
unzip -j "$<"
Полный шейпфайл поставляется с более чем просто .shp
, но и .prj
файл, в .dbf
файл, и кучу других. Эти файлы создаются, когда «Сенатская форма files.zip» распаковывается.
Эти другие файлы никогда не являются явной целью или зависимостью.
.INTERMEDIATE : senate_boundaries.prj senate_boundaries.dbf
, похоже, ничего не делает.
Как я могу сообщить Make, чтобы очистить эти другие файлы?
make ничего не знает о них (даже несмотря на то, что они маркируют их «ПРОМЕЖУТОЧНО»), поэтому я не уверен, что он должен удалить их из этого. Что генерирует файлы '.prj' и' .dbf'? –
Они находятся в zip-файле. – fgregg
Лучшее, что я думаю, что вы можете сделать, это использовать функцию правил шаблона, описанную в последнем абзаце [здесь] (http://www.gnu.org/software/make/manual/make.html#Pattern-Examples), а затем используйте что-то вроде 'senate_boundarie% .shp senate_boundarie% .prj senate_boundarie% .dbf: Senate \ shape \ files.zip', который должен был правильно обработать их. (Хотя вам действительно стоит подумать о том, чтобы избавиться от пробелов в имени файла zip, make * really * не очень хорошо работает с пробелами в именах файлов.) –