Вы хотите:
tool: $(bin_PROGRAMS)
Но у вас возникнет та же проблема, что и при явном указании src / hello.(А именно, Makefile верхнего уровня не знает, как создать привет в src.) Вам, вероятно, было бы лучше сделать что-то вроде:
tool:
cd src && $(MAKE) $(AM_MAKEFLAGS) tool
на верхнем уровне и поместить фактическое правило в src./Makefile.am, где вы можете перечислить зависимости.Но это тоже довольно плохая идея.Вероятно, лучшее, что можно сделать, это использовать локальное правило и поместить что-то вроде:
all-local:
tool hello
в src / Makefile.am.Это будет гарантировать, что инструмент запускается всякий раз, когда вы запускаете make без аргументов, но он не будет обновлять вывод при восстановлении hello.Если это приемлемо, то это разумное решение.Другой вариант - сделать:
tool-output: hello
tool hello
в src / Makefile.am и перечислить вывод инструмента в noinst_DATA в src / Makefile.am.