Попытка скомпилировать Makefile выдает мне следующую ошибку:
Makefile:248: *** missing separator. Stop.
Соответствующие строки в Makefile (строка 248 и соседние строки):
tar :
@if test -f espresso.tar.gz ; then /bin/rm espresso.tar.gz ; fi
# do not include unneeded stuff
find ./ -type f | grep -v -e /.svn/ -e'/\.' -e'\.o$$' \
-e'\.mod$$' -e'\.a$$' -e'\.d$$' -e'\.i$$' -e'\.F90$$' -e'\.x$$' \
-e'~$$' -e'\./GUI' -e '\./tempdir' | xargs tar rvf espresso.tar
gzip espresso.tar
Где третийстрока команды find
, заканчивающаяся espresso.tar
, является строкой 248. Я попытался выполнить процедуру отладки, указанную здесь , и выдал команду cat -e -t -v Makefile
, которая дала мне следующий код:
tar :$
^I@if test -f espresso.tar.gz ; then /bin/rm espresso.tar.gz ; fi$
^I# do not include unneeded stuff $
^Ifind ./ -type f | grep -v -e /.svn/ -e'/\.' -e'\.o$$' \$
-e'\.mod$$' -e'\.a$$' -e'\.d$$' -e'\.i$$' -e'\.F90$$' -e'\.x$$' \$
^I -e'~$$' -e'\./GUI' -e '\./tempdir' | xargs tar rvf espresso.tar$
^Igzip espresso.tar$
$
Конечно же, символ ^ I отсутствовал, но из строки 247 (странно).Поэтому я отредактировал файл, включив в него символ табуляции, и теперь он говорит:
tar :$
^I@if test -f espresso.tar.gz ; then /bin/rm espresso.tar.gz ; fi$
^I# do not include unneeded stuff $
^Ifind ./ -type f | grep -v -e /.svn/ -e'/\.' -e'\.o$$' \$
^I -e'\.mod$$' -e'\.a$$' -e'\.d$$' -e'\.i$$' -e'\.F90$$' -e'\.x$$' \$
^I -e'~$$' -e'\./GUI' -e '\./tempdir' | xargs tar rvf espresso.tar$
^Igzip espresso.tar$
$
Однако ошибка все еще сохраняется, что я несколько ожидал, так как проблема не была с этой строкой в первую очередь.Я даже попытался удалить все пробелы из соответствующих строк, но ошибка все еще там.Не уверен, что есть проблема с символом ^ I.Любая помощь в решении этой проблемы будет принята с благодарностью.Спасибо!
Полный Makefile находится в главной папке загружаемого файла (прямая ссылка на файл здесь )