[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
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
本文通过实例演示了Makefile中定义和执行清洁(clean)目标的过程。包括如何通过make命令调用清洁目标,解决循环依赖警告,并展示Makefile中变量与目标的定义方式。

被折叠的 条评论
为什么被折叠?



