GNU Make使用中的问题及解决方法
GNU Make创建目录的多种解决方案
在使用GNU Make时,常常会遇到需要创建目录的情况。以下介绍几种不同的解决方案:
1. 方案二:全部构建时创建目录
- 思路 :仅当进行全部构建时才去创建目录,这样可以避免在每次解析Makefile时都创建目录,比如在执行 make clean 或 make depend 时避免不必要的工作。
- 示例代码 :
OUT = /out
.PHONY: all
all: make_directories $(OUT)/foo.o
$(OUT)/foo.o: foo.c
@$(COMPILE.C) -o $@ $<
.PHONY: make_directories
make_directories: $(OUT)/
$(OUT)/:
mkdir -p $@
- **缺点**:这种方案比较混乱,因为必须将`make_directories`指定为用户在`make`后可能指定的任何目标的先决条件。如果不这样做,可能会出现目录未创建的情况,而且它会完全破坏并行构建,所以应避免使用这种技术。
- 方案三:使用目录标记文件
- 思路
超级会员免费看
订阅专栏 解锁全文
1302

被折叠的 条评论
为什么被折叠?



