中
有两个
all:目标的原因。
makefile
会以第一个目标作为默认目标,并且会被视为一个伪目标。在第一个all:之前有一段说明:
#
Include
autoconf.mk
before
config.mk
so
that
the
config
options
are
available
#
to
all
top
level
build
files.
We
need
the
dummy
all:
target
to
prevent
the
#
dependency
target
in
autoconf.mk.dep
from
being
the
default.
"前两句没什么好说的。关键是后一句:我们基颤需要伪目标all:以防止autoconf.mk.dep中的目标成为默认目标。"
换句话说,如果这里不加上一个all:,则会产生一个结果,被包含进makefile中的autoconf.mk.dep中的第一个目标就有
可能成为默认目标。这样,如果我们执行
make
all,不会有什么问题。但只执行make,默认目标就不是all:目标了。
在一个makefile中,对于一个目标,可以多次重复的定义,可以多次定义其依赖枣袭,但只能定义一个目标动作,这样,可以利用条件执行对目标的依赖动态加载。
如
all:
depend1
all:
depend2
all:
command....
这样最终会先执行depend1然搏岩败后depend2,最后去执行command...
makefile文件里面有个include $(TOPDIR)/config.mk而在你第世带一搜歼芦次make xxx.config时会向改卜config.mk中写入include xxx.h
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)