たとえばこんな風に書くと、hello.cが更新されていない場合はechoもされない。
all: hello hello: hello.c @echo "start" $(CC) -o $@ $< @echo "end"
常に実行したい場合はこんな風に書くのがいいのかな。
all: all-pre hello all-post all-pre: @echo "start" all-post: @echo "end" hello: hello.c $(CC) -o $@ $<
11/5追記。上のだとgmake -j3とかで順番に実行されるとは限らないので、こっちの方がいいのかもしれない
all: @echo "start" $(MAKE) hello @echo "end" hello: hello.c $(CC) -o $@ $<