当前位置: 技术问答>linux和unix
问个关于makefile的几个问题
来源: 互联网 发布时间:2016-07-26
本文导语: 项目需要,要改写项目的部署文件,以前学过点linux的皮毛,想照葫芦画瓢着改,但是发现下面这几句看不明白。 clean: @for dir in $(ORDER) ; do (cd $$dir; $(MAKE) clean) done rm -fr $(INSDIR) 这段是makefile里的内容,...
项目需要,要改写项目的部署文件,以前学过点linux的皮毛,想照葫芦画瓢着改,但是发现下面这几句看不明白。
clean:
@for dir in $(ORDER) ;
do
(cd $$dir; $(MAKE) clean)
done
rm -fr $(INSDIR)
这段是makefile里的内容,似乎规定makefile要定义这个clean操作,但是每行后面有个转意符号“”我就不明白为什么要加他,什么用处,还有就是在循环查询中$(MAKE) clean这句,MAKE是指make指令吗?他是不是系统环境变量里定义过的make程序?
还有就是
我在几个文件的头上发现了这一行。
#ident "%W%"
ident命令似乎是用来格式化C程序代码的,但是前面加了一个#就不明白了,还有后面的参数%W%是什么意思?
查了一些资料似乎没有什么帮助,特来此发一帖问问,要分的好商量。。
clean:
@for dir in $(ORDER) ;
do
(cd $$dir; $(MAKE) clean)
done
rm -fr $(INSDIR)
这段是makefile里的内容,似乎规定makefile要定义这个clean操作,但是每行后面有个转意符号“”我就不明白为什么要加他,什么用处,还有就是在循环查询中$(MAKE) clean这句,MAKE是指make指令吗?他是不是系统环境变量里定义过的make程序?
还有就是
我在几个文件的头上发现了这一行。
#ident "%W%"
ident命令似乎是用来格式化C程序代码的,但是前面加了一个#就不明白了,还有后面的参数%W%是什么意思?
查了一些资料似乎没有什么帮助,特来此发一帖问问,要分的好商量。。
|
是连接行的作用,把多行连成一行
估计是make的目标只能写成一行,这个我不太确定
MAKE是指make指令吗?他是不是系统环境变量里定义过的make程序?
确实是,他的目的是遍历$(ORDER)里的所有目录,在每个目录里删除$(INSDIR)
估计是make的目标只能写成一行,这个我不太确定
MAKE是指make指令吗?他是不是系统环境变量里定义过的make程序?
确实是,他的目的是遍历$(ORDER)里的所有目录,在每个目录里删除$(INSDIR)
|
# 不就注释掉了吗
至于ident "%W%" ,看下面,应该只是一个说明
: I just stumbled across something that seems to work both with Sparcworks C++
: and g++.
:
: /* Version Control Information */
: #ident "%W%"
In g++, this will cause the assembler directive '.ident "%W%"' to be emitted.
Since not all assemblers will grok this (e.g. NeXT doesn't), it is a port
specific feature.
至于ident "%W%" ,看下面,应该只是一个说明
: I just stumbled across something that seems to work both with Sparcworks C++
: and g++.
:
: /* Version Control Information */
: #ident "%W%"
In g++, this will cause the assembler directive '.ident "%W%"' to be emitted.
Since not all assemblers will grok this (e.g. NeXT doesn't), it is a port
specific feature.