14、GNU Make使用中的常见问题及解决方案
2026/6/9 8:43:01 网站建设 项目流程

GNU Make使用中的常见问题及解决方案

1. 目录创建问题及解决方案

1.1 方案二:全部构建时创建目录

当全部构建时才创建目录,这样可避免每次解析makefile时都创建目录,从而避免在执行make cleanmake 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后可能指定的任何目标的先决条件,否则可能出现目录未创建的情况,且该方案会破坏并行构建。

1.2 方案三:使用目录标记文件

可在目录中存储一个特殊的空文件(标记文件),并将其作为先决条件。由于它是普通文件,适用正常的GNU make重建规则,且其时间戳不受目录更改的影响。示例代码如下:

OUT = /out .PHONY: all all: $(OUT)/foo.o $(OUT)/foo.o: foo

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询