http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51341
--- Comment #5 from davidz <dx_zhou at hotmail dot com> 2011-12-09 14:06:22 UTC --- This did solve the issue. Thanks a lot for the explain and syntax! (In reply to comment #4) > (In reply to comment #3) > > I am a little confused. -MT will create .d file. Then make command will > > include > > .d and re-compile if dependency file changes. The issue is that g++ 4.6.1 > > doesn't re-compile if I touch .h. Does this mean my test.d format is wrong? > > If > > Did you read the linked bug report? Did you look at the content of test.d? > > > I need another -MT, what syntax it should be? Thanks a lot! > > g++ -c -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" "-MT$@" $< -o $@