两个没有依赖关系的目标

时间:2014-01-05 12:33:25

标签: bash makefile

考虑以下makefile:

TARGET=fmake
TARGET2=test_second
fmake: $(TARGET2).c foo.c\
    $(TARGET).c test.h clean
    $(CC) -o $(TARGET) $(TARGET).c foo.c
    $(CC) -o $(TARGET2) $(TARGET2).c
foo.c: 
    echo Some text
clean:
    rm -f fmake test_second
CC=$(VAR2)
VAR2=gcc

make bash命令之后显示以下内容

rm -f fmake test_second
gcc -o fmake fmake.c foo.c
gcc -o test_second test_second.c

如上所述here foo.c未处理,因为此目标没有依赖关系。但foo.cclean都没有依赖关系,但clean是processed。为什么呢?

1 个答案:

答案 0 :(得分:2)

因为存在名为foo.c的文件,而不存在名为clean的文件。因此,认为需要制作一个。请注意,clean应该真正声明为phony target