我想使用IContributorHandle wkspOwnerhandle = (IContributorHandle)data.getSourceWorkspace().getOwner();
IItem contributerHandle = itemService.fetchItem(wkspOwnerhandle, null);
IContributor userid = (IContributor) contributerHandle.getFullState();
String userName = userid.getName();
标志为我的内核模块定义一个宏,但我无法弄清楚如何在自定义可加载内核模块中执行此操作。
为了清楚起见,要将宏TEST设置为1,我通常会这样做:
-D
在file.c里面我有
cc -D TEST=1 file.c -o file
现在,在内核模块中使用相同的代码,如何在不触及代码的情况下将TEST设置为1?
这是我的Makefile:
#if TEST
//do something
#endif
由于all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
标志递归调用多个makefile,添加-C
不起作用,我收到以下错误:
-D TEST=1
有谁知道如何解决这个问题?
提前致谢。
答案 0 :(得分:0)
正如@n.m所建议的那样。在评论中,解决方案是使用EXTRA_CFLAGS
。
所以在我的情况下会是这样的:
all:
make EXTRA_CFLAGS=-DTEST=2 -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
或只是
EXTRA_CFLAGS:= -D TEST=2
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules