2016-10-26 7 views
0

Я хочу сделать что-то вроде:Есть ли способ перебора целей Makefile в сценарии bash?

for *target* in *Makefile targets* 
do 
    *do some stuff* 
done 

в моем сценарии. Есть ли способ сделать это?

+0

Итак, какая проблема, с которой вы сталкиваетесь, мешает вам делать именно это? – VM17

+0

Обычный подход заключается в том, чтобы добавить фальшивую цель 'all' внутри Makefile, которая выполняет итерацию по существующим целям, просто упоминая их как требования. Поэтому вы можете просто выполнить 'make all'. Но я не знаю о неявном подходе, так как не совсем ясно определить, что такое «цель» на самом деле ... – arkascha

+0

@arkascha Да, я знаю о 'make all', но я хочу точно перебирать все цели , а не просто строить их все. – kivi

ответ

2

Единственное, что вы можете сделать, это запустить make -np, а затем проанализировать выходные данные, чтобы извлечь все цели. Обратите внимание, что, конечно, это не покажет вам никаких целей, которые создаются неявными правилами. Если вы хотите, чтобы все они могли попытаться извлечь все цели и предпосылок с выхода make -np.

+0

Я надеялся, что есть более простой способ)) – kivi

+0

nope. это оно. – MadScientist

Смежные вопросы