我正在使用GNU make,并且我正在使用自动变量,例如
$<
,$^
等。我知道$<
只是第一个先决条件,$^
是所有先决条件。 有没有办法只获得第二个先决条件?
假设您的先决条件是常规代币,
echo $(word 2,$^)
我经常发现自己给第一个参数一个特殊的位置,并使用
访问其余的先决条件echo $(filter-out $<,$^)
*尽管有时使用上面的解决方案你可能会发现重复的元素。
我能想到的最好的办法,我觉得有点黑客,就是使用
echo $^ | cut -f2 -d' '
,à la:
output.txt: a.txt b.txt
cat $< | ./something `echo $^ | cut -f2 -d' '` > $@
我很想听到比这更好的答案。 :)