gcc hat noch viel mehr Optionen. Guck mal ins Handbuch...
Ich benutze die:
1 | -MMD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$@"
|
und zwar ohne extra Aufruf von gcc, die .d Datei fällt einfach beim
normalen Compilieren mit ab.
Die Fehlermeldungsunterdrückung beim include kann auch wegfallen, wenn
man es einfach so macht:
Das reicht, weil man .d Dateien, die es noch nicht gibt, auch nicht
braucht. Da gibt es nämlich auch die dazugehörende .o Datei noch nicht,
also wird sie eh gebaut.
Das komplizierte Beispiel mit sed, aus dem make Handbuch, braucht man
nur bei älteren Compiliern, die die komfortableren Optionen noch nicht
haben.