linux驱动编译错误,无法使用$(shell pwd)/xxx作为包含路径
当我编译我的linux驱动器时,我发现一个问题:
我有一些方法可以通过$(shell pwd)定义包含路径
A相对路径,但它不起作用:
MOD_INC=$(shell pwd)/include
EXTRA_CFLAGS+=-I$(MOD_INC)
我发现:$(shell pwd)==/home /myname/prj_svn
B abosulte 路径,它有效:
MOD_INC=/home/myname/prj_svn/include
EXTRA_CFLAGS+=-I$(MOD_INC)
C 定义一个路径,它有效:
PRJ_PATH=/home/myname/prj_svn
MOD_INC=$(PRJ_PATH)/include
EXTRA_CFLAGS+=-I$(MOD_INC)
我不知道为什么?
我在一个应用程序项目中尝试了它们,它们都可以工作。
感谢您的帮助!
When I compile my linux drive, I find a problem:
I have some ways to define the include path
A relative path by $(shell pwd), but it doesn't work:
MOD_INC=$(shell pwd)/include
EXTRA_CFLAGS+=-I$(MOD_INC)
I found: $(shell pwd) == /home/myname/prj_svn
B abosulte path, it works:
MOD_INC=/home/myname/prj_svn/include
EXTRA_CFLAGS+=-I$(MOD_INC)
C define a path, it works:
PRJ_PATH=/home/myname/prj_svn
MOD_INC=$(PRJ_PATH)/include
EXTRA_CFLAGS+=-I$(MOD_INC)
I don't know why?
I try them in an application project, all of them can work.
thanks for your help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Make 在构建时进行了大量的目录更改;我不想在任何特定时间点依赖
pwd
的值。如何定义一个名为
MODULE_HOME
的环境变量,设置为/home/myname/prj_svn
,并编写与之相关的所有路径?Make does quite a lot of directory changing as it builds; i wouldn't want to rely on the value of
pwd
at any particular point in time.How about defining an environment variable called something like
MODULE_HOME
, set to/home/myname/prj_svn
, and writing all your paths relative to that?