当前位置: 技术问答>linux和unix
Makefile中目标的执行顺序
来源: 互联网 发布时间:2017-03-16
本文导语: 我写了一个makefile结构大致如下:里面有4个伪目标,当我执行make时,它将4个目标全部都执行了,我本来以为在make的时候如果不指定目标的话,它会只执行第一个目标(premake),不知道现在为什么都执行了,谁知道...
我写了一个makefile结构大致如下:里面有4个伪目标,当我执行make时,它将4个目标全部都执行了,我本来以为在make的时候如果不指定目标的话,它会只执行第一个目标(premake),不知道现在为什么都执行了,谁知道能否帮忙解释一下,如果想实现在不指定目标的情况下执行第一个目标要怎样实现?
====================================================
.PHONY: premake Compiling release precompiling
premake:
echo "premake"
precompiling: premake
echo "precompiling"
Compiling: precompiling
echo "Compiling"
release: Compiling
echo "release"
====================================================
====================================================
.PHONY: premake Compiling release precompiling
premake:
echo "premake"
precompiling: premake
echo "precompiling"
Compiling: precompiling
echo "Compiling"
release: Compiling
echo "release"
====================================================
|
你这个makefile执行make,默认执行.PHONY: premake Compiling release precompiling
所以四个目标自然都执到了
要么你改一下.PHONY: premake
要么你直接把.PHONY这一行删除,这样默认make只执行makefile中第一个目标
所以四个目标自然都执到了
要么你改一下.PHONY: premake
要么你直接把.PHONY这一行删除,这样默认make只执行makefile中第一个目标