clearmake和gnu make都可以检测出来target之间的循环依赖


[jialiang@ht191w tmp]$ make -f mk clean # gnu make
make: Circular target <- clean dependency dropped.
echo "clean is called"
clean is called
echo "clean running"
clean running
echo "current dir is: "
current dir is:
pwd
/home/jialiang/tmp
[jialiang@ht191w tmp]$ cmake -f mk clean # clearmake
clearmake: Warning: Cycle in dependency graph?
clearmake: Warning: "clean" was already seen. echo "clean is called" clean is called echo "clean running" clean running echo "current dir is: " current dir is: pwd /home/jialiang/tmp [jialiang@ht191w tmp]$ cat mk # marco/Variable define a = "great" # Target/Dependency define all: echo "great" .PHONY: clean clean: target echo "clean running" ifeq ($(a),great) echo "equals" endif ifneq ($(a),dd) echo "current dir is: " pwd endif target: clean echo "clean is called" # this line is useless,unless you put it the first line when you start define target default: clean

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...