Предпосылки только для заказа не работают правильно в GNU сделать?

У меня проблема с предварительными условиями только для заказа. Они не выполняются в первую очередь. Я неправильно понимаю, как работают предпосылки только для заказа?

Следующий скрипт make:

.PHONY: mefirst mefirst2

mefirst:
    @echo "I'm first!"

mefirst2:
    @echo "I'm first too!"

normaltarget: normaltarget2 | mefirst2
    @echo "normaltarget done"

normaltarget2: a b c 
    @echo "normaltarget2 done"

helloworld: normaltarget | mefirst
    @echo "helloworld done"

.DEFAULT_GOAL := go
go: helloworld
    @echo "go done"

a:
    @echo a
b:
    @echo b
c:
    @echo c

... распечатывает следующее:

a
b
c
normaltarget2 done
I'm first too!
normaltarget done
I'm first!
helloworld done
go done

... вместо того, что я ожидал:

I'm first!
I'm first too!
a
b
c
normaltarget2 done
normaltarget done
helloworld done
go done

Что я делаю неправильно?

Ответы на вопрос(1)

Ваш ответ на вопрос