Поскольку вы напрямую не спрашивали о цитировании, я не буду go проходить через него, за исключением того, что скажу, что после того, как все сказано и сделано, все, что нужно сделать, это превратить каталог цели в обязательное условие только для заказа.
Итак, если ваша цель my/foo/bar.o
, тогда my/foo
будет обязательным условием для этой цели только для заказа.
Это делается для того, чтобы убедиться, что целевой каталог существует до вызова правила, которое создает в нем объектный файл (компилятор не будет создавать для вас выходные каталоги: если они не существуют, он просто потерпит неудачу).
В другом месте вашего make-файла вы должны найти правило, которое создает каталоги:
<sometargets>:
mkdir -p $@
.PHONY: <sometargets>