在规则执行时定义 make 变量
在我的 GNUmakefile 中,我希望有一个使用临时目录的规则。例如: out.tar: TMP := $(shell mktemp -d) echo hi $(TMP)/hi.txt tar -C $(TMP) cf $@ .…
如何在 make 模式规则的依赖项中使用模式相关变量
我想使用模式相关变量中的依赖项来定义 GNU make 模式规则。我想要的是这样的: %.exe : $(%_EXE_SOURCES) $(%_EXE_RESOURCES) $(CSC_V)$(CSC) $(CSCF…
如何在 gnumake 文件中强制出现错误
我想检测 makefile 中工具版本错误的情况,并强制 make 失败,并显示一条错误消息,指示该项目不是正确的版本。 谁能举一个这样做的例子吗? 我尝试了…
为什么 makefile shell 结果与在 shell 中执行相同操作不同?
GNU makefile 内容为: SVNVERSION_NUMBER := $(shell svnversion --version | perl -lne 'print $1 if /version (\d+.\d+.\d+)/') $(error $(SVNVERS…
如何写入“cd”? makefile 中的命令?
例如,我的 makefile 中有类似这样的内容: all: cd some_directory 但是当我输入 make 时,我只看到“cd some_directory”,就像在 echo 命令中一样…
Makefile 中的通配符目标
如何压缩以下 Makefile 目标? $(GRAPHDIR)/Complex.png: $(GRAPHDIR)/Complex.dot dot $(GRAPHDIR)/Complex.dot -Tpng -o $(GRAPHDIR)/Complex.png $…
在gnu make中,静态模式规则中的先决条件可以有不同的后缀吗
我们的 make 文件使用如下静态模式规则编译 .c 源文件: OBJECTS = foo.o bar.o baz.o $(OBJECTS): %.o: %.c $(CC) $< $(C_OPTIONS) -c -o $@ 我需…
Windows 上的 Make(并行作业)
什么设置适用于 Windows 上的 GNU make 并行作业 (-j)? 我尝试使用 MinGW make 3.81 将 shell 设置为 cmd.exe,这可以创建多个进程,但 make 失败并…
使用 GNU Make 输出平面对象文件目录结构
我有一个使用 GNU Make 的 C++ 小项目。我希望能够将以下源文件: 转换 src/ a.cpp b/ b.cpp c/ c.cpp 为以下输出结构(此时我不关心重复项): build…
作为目标/依赖项的 Win32 路径
是否可以有一个包含 win32 路径名的目标/依赖的 GNU makefile? 我目前使用的是 GNU make 的 win32 3.81 版本,它似乎在驱动器盘符方面有困难。 例如…
多个规则指定同一个假依赖,依赖只执行一次
我有一个关于下面的 GNU makefile 示例的问题: .PHONY: $(subdirs) build x y subdirs = a b c build: x y x: target=prepare x: $(subdirs) y: targ…
当指定为多个规则的依赖项时重新执行目标
我有以下 GNU makefile: .PHONY a b c d a: b c b: d c: d d: echo HI 我希望目标 'd' 运行两次——因为它被 b & 指定为依赖项。 C。 不幸的是,…