cをずーっと書いていて、c++に移行した再のmakeで罠ったので、書き留めておく。 簡潔、明瞭、寛大に書くと、 GNU makeは.oをコンパイルする際に、ソースファイルが.cの場合はgccが、.cppの場合はg++が、暗黙のルールでコンパイラとして選ばれる。 gccが暗黙のルールとして呼び出された場合、$(CFLAGS)が付属してコンパイルされる。 g++が暗黙のルールとして呼び出された場合、$(CPPFLAGS)が付属としてコンパイルされる。 ということを理解、認知、納得、勉強できたということなのなのです! もっと詳しくは、 GNU make 日本語訳(Coop編) - 暗黙ルールの利用 に猛々しく、歴々と、漫然にして、明瞭に書かれている。 以下は、僕がいかにダメかということの証明が書かれています。 コンパイルが通らないって話。 #include "stdio.h" #include