我试图创建一个非常简单的makefile来构建我的C ++代码以及创建.txt文件
我希望将可执行文件和.txt文件放在名为" build"的目录中。为了做到这一点,我需要确保构建目录不存在。我收到语法错误,似乎无法解决问题。这可能是一个非常明显的错误,因为我是创建makefile的新手。
有人可以帮忙吗?
错误:
/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
答案 0 :(得分:1)
我实际上是通过简单地将makefile更改为:
来修复它所有
if [ ! -d build ]; then mkdir build; fi
#"mkdir build" moved onto the above line
#somehow this fixed it...?
g++ src/*.cpp -o build/mlb
touch build/mlib_history.txt
答案 1 :(得分:0)
这是一个稍好的解决方案......
.PHONY: all
BUILD_DIR := build
all:
[ ! -d $(BUILD_DIR) ] && mkdir $(BUILD_DIR)
g++ src/*.cpp -o $(BUILD_DIR)/mlb
touch $(BUILD_DIR)/mlib_history.txt