$(Q)$(MAKE) $(build)=$(obj)/compressed $@
时间: 2023-11-28 22:04:06 浏览: 133
这是一个 Makefile 规则,它告诉 Make 工具在当前目录下寻找名为 $(obj)/compressed 的 Makefile,并执行其中的规则来构建目标 $@。$(build)=$(obj)/compressed 表示在构建时将 $(obj)/compressed 设为默认的 Makefile 目录。具体的实现细节需要结合上下文才能确定。
相关问题
$(obj)/compressed/vmlinux: $(obj)/Image FORCE $(Q)$(MAKE) $(build)=$(obj)/compressed $@
这是一个 Makefile 规则,它表示在构建 `$(obj)/compressed/vmlinux` 之前,需要先构建 `$(obj)/Image`。`$(Q)` 和 `$(build)` 都是 Makefile 变量,用于指定命令执行时的一些参数,比如 `-j` 参数指定并行编译的数量。`FORCE` 是一个虚拟目标,它表示不管是否需要重新构建,都会执行其依赖规则。
obj-m := killd.o all: $(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules clean: $(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean报错Makefile:4: *** missing separator. Stop.
这个错误通常是由于Makefile中的缩进问题引起的。请确保Makefile文件中的每一行都正确缩进,并且使用Tab键进行缩进,而不是空格。
以下是修复错误的示例Makefile:
```
obj-m := killd.o
all:
$(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
$(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
```
请注意,在`all`和`clean`目标后面的命令之前必须有一个Tab键缩进。如果你仍然遇到问题,请提供更多细节或错误信息,以便我能够更好地帮助你解决问题。
阅读全文