Я хочу всегда вызывать файл верхнего уровня с той же командной строкой. Я попробовал:Как вызвать команду верхнего уровня с одинаковыми аргументами?
.PHONY: %
%:
$(MAKE) -C ${CURDIR}/.. ${CURDIR}/$*
, но его не работает :(
Я хочу всегда вызывать файл верхнего уровня с той же командной строкой. Я попробовал:Как вызвать команду верхнего уровня с одинаковыми аргументами?
.PHONY: %
%:
$(MAKE) -C ${CURDIR}/.. ${CURDIR}/$*
, но его не работает :(
я не уверен, что вы пытаетесь сделать, Вы хотите сказать, что для любого вызова марки в данном каталоге вы хотите запустить. сделать в другом каталоге, с теми же аргументами
Вы не можете совсем это сделать, но это поможет вам близко:
.DEFAULT:
$(MAKE) -C ${CURDIR}/.. [email protected]
Я не знаю, почему вы префикс $*
с $(CURDIR)
в целевом имени ...?
Большая разница между этим и исходным вызовом заключается в том, что он будет запускать отдельный процесс make для каждой цели; то есть, если вы запустите make foo bar
, он дважды вызовет «файл верхнего уровня»: один раз с целью foo
, а затем снова с целью bar
. Невозможно избежать этого, о котором я могу думать.
СПАСИБО, не беспокойтесь об этом префиксе - это артефакт –
Я вынул .NOTPARALLEL. Думая об этом больше, я не думаю, что вам это нужно. – MadScientist