问题 有些时候代码修改之后make,发现代码并没有重新编译。 原因 出现这个问题的原因往往是因为makefile里面object依赖于.c文件,则.h的变化不会导致重新编译,make是根据依赖文件的时间戳来决定要不要重新编译的。 在: object: deplist 中,可以把头文件加进deplist,这样修改头文件后,make就会重新编译了。 单纯地修改文件,而不设置Makefile,则make程序不知道你这个文件对应哪个编译目标,所以无法判断要重新编译哪个目标。