The only rule for building c_start.o from c_start.S is the following in build/arch/i386/lib/c_start.d: build/arch/i386/lib/c_start.o: src/arch/i386/lib/c_start.S \ /root/build/coreboot/coreboot-v4/build/config.h \ src/include/cpu/x86/post_code.h The question is that what rule is making the file, c_start.d itself?