如题,我们经常需要在构建脚本Makefile中创建目录。例如下面一段脚本:

1
2
3
4
5
6
7
8
9
10
11
deps:
git submodule update --init --recursive
mkdir -p out
build:
cd out && cmake -DBUILD_TESTING=OFF ../ && make -j8
package: deps build
clean:
rm -rf out/*

out目录已存在后执行make deps,会出现以下错误:

1
2
3
4
5
6
➜ cpp-demo git:(master) ✗ make deps
git submodule update --init --recursive
mkdir out
mkdir: out: File exists
make: *** [deps] Error 1
➜ cpp-demo git:(master)

为了消除这个错误提示,我们可以在mkdir out加入参数-p:mkdir -p out
这样就不会提示错误了。