たぶん初歩的なことだと思いますが

hoge.o: hogr.h

と書いてhoge.cppが変更された場合でもコンパイルされる理由がわかりません。