Я пытаюсь создать очень простой make-файл, который будет строить мой код на C++, а также создать файл .txt.Как исправить эту простую ошибку Makefile?
Я хочу, чтобы исполняемый файл и .txt-файл были помещены в каталог с именем «build». Для этого мне нужно убедиться, что каталог сборки еще не существует. Я получаю синтаксическую ошибку, и я не могу ее исправить. Это, вероятно, очень очевидная ошибка, поскольку я новичок в создании make-файлов.
Может ли кто-нибудь помочь?
Ошибка:
/bin/sh: -c: line 1: syntax error: unexpected end of file make: *** [mlib] Error 2
Файл Makefile:
all:
if [ ! -d build ]; then
mkdir build
fi
g++ src/*.cpp -o build/mlb
touch build/mlib_history.txt
Этого Makefile не воспользоваться ** ** любого из вещей, которые делают делают для вас и может так же, как полезно быть сценарием оболочки. –
Также см. Специальную цель ['.ONESHELL'] (https://www.gnu.org/software/make/manual/make.html#One-Shell), но, как @EtanReisner говорит, что ваш рецепт изобретает колесо для вещи, которые makefile уже может обрабатывать для вас. – user657267