読者です 読者をやめる 読者になる 読者になる

ターゲットの前後で何かするMakefile

たとえばこんな風に書くと、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 $@ $<