从Makefile执行命令

用户名

考虑以下几点Makefile

CURRENT = $(shell uname -r) 
KDIR = /lib/modules/$(CURRENT)/build 
PWD = $(shell pwd) 
TARGET1 = md1 
TARGET2 = md2 
TARGET3 = md3 
obj-m   := $(TARGET1).o $(TARGET2).o $(TARGET3).o 
default: 
        make -C $(KDIR) M=$(PWD) modules 

是真的,当前声明的变量Makefile即将到$(KDIR)/Makefile

疯狂的科学家

可能不是。通常,make变量是make的内部变量,在make的递归调用中不可用。

如果希望变量在子make中可用,则需要在子make的命令行上传递该变量,或者export从父make传递它否则,请在子make的命令行中传递该变量后者会在调用sub-make时将其放入环境中。

但是请注意,makefile文件中的分配会覆盖从环境中获取的值。因此,$(KDIR)/Makefile如果需要的话,将需要在设置值之前小心测试。

顺便说一句,您永远不要使用literal调用递归make make始终使用变量$(MAKE)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章