QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 696|回复: 5

Makefile问问问。。。。。

[复制链接]
发表于 2003-8-28 11:45:17 | 显示全部楼层 |阅读模式
我在make文件中见到如果一行,请大家帮忙解释一下是什么意思?

多谢!


$(obj)/$(VERSION_HEADER):
        echo \#define NV_COMPILER \"`$(CC) -v 2>&1 | tail -n 1`\" > $@
发表于 2003-8-29 13:42:22 | 显示全部楼层
echo 是显示啦
\#是把#号作为普通符号\是转义用的
\"`$(CC) -v 2>&1 | tail -n 1`\"这里的两个\也是转义的,这样就能显示"了,而不会把""中的东西作为字符串
``(就是Tab上面那个键),用来让shell执行$(CC) -v 2>&1 | tail -n 1,$(CC)就是gcc
gcc -v 2>&1就是打印gcc版本信息
|tail -n 1是过滤用的,就是取gcc -v 2>&1的最后一行
$@是什么我不知道
所以结果应该是
#define NV_COMPILER "gcc version xxxxxxxxxxxxxxxxxxxxxxxxxx"
回复

使用道具 举报

 楼主| 发表于 2003-8-29 14:02:27 | 显示全部楼层
谢的很清楚,多谢版主指教
回复

使用道具 举报

发表于 2003-8-29 15:15:03 | 显示全部楼层
补完一下:$@是指当前目标文件
回复

使用道具 举报

发表于 2003-9-3 14:01:54 | 显示全部楼层
我在一个makefile文件中见到这样两行,还请高人指点
INCI =- I $(QTDIR)/include -I/usr/include/kde
CFLAGS=-pipe -O2 -fno-strength-reduce
回复

使用道具 举报

发表于 2003-9-3 14:10:43 | 显示全部楼层
作了两个参数字串 后面编译的时候用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-14 23:45 , Processed in 0.061628 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表