在Makefile中对同一个目标进行多次定义
每个依赖都会被检查执行
最后的recipe会覆盖前面的recipe
即只有最后一个目标的recipe被执行
#
#
all: $(warning 1 prerequisite)p1
$(warning 1 recipe)
all: $(warning 2 prerequisite)p2
$(warning 2 recipe)
all:
echo excute recipe
p1:
echo p1 recipe
p2:
echo p2 recipe
# Cancel implicit rules on Makefile
Makefile: ;
.PHONY: all p1 p2
$ make --debug=all
GNU Make 3.82
Built for x86_64-redhat-linux-gnu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Reading makefiles...
Reading makefile `Makefile'...
Makefile:4: 1 prerequisite
Makefile:7: 2 prerequisite
Makefile:8: warning: overriding