免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2844 | 回复: 9
打印 上一主题 下一主题

Linux下Makefile 求解释! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-08-24 10:59 |只看该作者 |倒序浏览
Makefile的语句如下,有两个问题一直找不到解释:
1. `basename $$app_sofile` ;是什么意思,basename没别的定义啊。。
2. if [ -L $$app_sofile ] 中的 -L在哪里可以查到含义,同样的还有 -D,-f在哪里可以查到什么意思。谢谢了
  1. app_sofiles=`find $(Test) -name '*.so' -print` ; \
  2.         for app_sofile in $app_sofiles ; do \
  3.           sobject=`basename $app_sofile` ; \
  4.           soname=`basename $sobject .so` ; \
  5.           aobject=`dirname $app_sofile`/$soname.a ; \
  6.           if [ -L $app_sofile ] ; then true; else \
复制代码

论坛徽章:
0
2 [报告]
发表于 2010-08-25 09:17 |只看该作者
没人回答吗?

论坛徽章:
0
3 [报告]
发表于 2010-08-25 09:47 |只看该作者
1 basename是linux的命名吧
2 找makefile的手册看看,可以结合shell编程手册

论坛徽章:
0
4 [报告]
发表于 2010-08-25 09:49 |只看该作者
你这不是makefile,是shell

论坛徽章:
0
5 [报告]
发表于 2010-08-25 09:52 |只看该作者
makefile手册看过了,我马上去查查shell手册。
上面内容的确是makefile里面的。。。
唉~ 好长时间没搞过makefile了

论坛徽章:
2
CU十二周年纪念徽章
日期:2013-10-24 15:41:34处女座
日期:2013-12-27 22:22:41
6 [报告]
发表于 2010-08-25 15:52 |只看该作者
这确实可以写在Makefile中,也确实是Shell的东西。

basename是把取文件名中最后的一部分,比如/home/root/test/a.c被basename处理后就只有a.c了。

-L判断文件是否存在且否是链接

-f判断文件是否存在且是普通文件

-d判断文件是滞存在且是目录

-D就不知道。

man你用的shell(一般是bash),搜CONDITIONAL EXPRESSIONS

论坛徽章:
0
7 [报告]
发表于 2010-08-25 17:35 |只看该作者
Linux 网络协议栈测试谁懂啊  lyysdw@hotmail.com 加一下啊

论坛徽章:
0
8 [报告]
发表于 2010-08-25 23:02 |只看该作者
Very Good.
十分感谢。

回复 6# tempname2

论坛徽章:
0
9 [报告]
发表于 2010-08-26 09:59 |只看该作者
这确实可以写在Makefile中,也确实是Shell的东西。

basename是把取文件名中最后的一部分,比如/home/roo ...
tempname2 发表于 2010-08-25 15:52

makefile里-D能够定义宏,如-DDEBUG,在编译时能够得到DEBUG宏定义

论坛徽章:
2
CU十二周年纪念徽章
日期:2013-10-24 15:41:34处女座
日期:2013-12-27 22:22:41
10 [报告]
发表于 2010-08-26 12:44 |只看该作者
学习了。。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP