Makefile:1 *** отсутствует разделитель

Мой make-файл не запускается по какой-то причине. Этот код взят от одного из моих инструкторов по запуску make-файла для Java-программ. Это называется Makefile

all:
    javac cs286_p1/*.javac
    jar cmf manifest.mf cs286_p1.jar cs286_p1
    @echo "+ to run type: java -jar exampleProgram.jar"
    @echo "+ to run with command line arguments, simply append them to the line above"

Я бегал cat -e -t -v Makefile чтобы увидеть, каков был результат, и это было так:

$ cat -e -t -v Makefile
all:^M$
^Ijavac cs286_p1/*.javac^M$
^Ijar cmf manifest.mf cs286_p1.jar cs286_p1^M$
^I@echo "+ to run type: java -jar exampleProgram.jar"^M$
^I@echo "+ to run with command line arguments, simply append them to the line above"^M$

Любая помощь с этим?

РЕДАКТИРОВАТЬ: Кажется, как будто dos2unix не работает. Я отредактировал файл, чтобы убрать ~$. Я редактирую и работаю над этим в среде linux, к которой я сейчас подключен, однако я запустил это в Notepad++ и убедился, что ANSII была кодировкой. Все еще не работает, однако, что-нибудь еще, о чем можно подумать?

1 ответ

Похоже, у вас есть окончания строки Microsoft (возврат каретки + перевод строки, x0d0a вместо одного перевода строки, x0a). Вы редактировали этот файл в Windows, я полагаю.

Если вы хотите продолжить делать это, вы должны либо получить редактор Windows, такой как notepad++, который может управлять окончаниями строк (как в Linux, так и в Windows), или же вы примените dos2unix Makefile,

Другие вопросы по тегам