有一个目标,有一个规则可以使用一些参数来调用libtool。规则触发器触发时执行的实际命令行中的参数已重新排列。
我尝试以各种组合的形式重新排列规则中的参数序列,但是执行的最后一行始终是相同的。
最后,我尝试捕获将在一个变量中执行的所有行,然后输入该变量以将其扩展为由Shell执行的行。可行。
例如:
1-原始,失败了:
target.o:
<--------->$(some_command) $(first_arg) $(second_one) $(third) $(fourth)
在触发规则时,将执行类似的操作
<--------->$(some_command) $(second_one) $(fourth) $(third) $(first_arg)
WTF?
如果有意义,那么some_command是libtool。
(这是来自gEDA CAD中的Makefile | gsymcheck / src / MAkefile |,我正试图通过LTO优化BTW进行编译。)
行是:
$(AM_V_CCLD)$(gsymcheck_LINK) $(gsymcheck_OBJECTS) $(gsymcheck_LDADD) $(LIBS)
期望规则的执行行像给出的那样执行,而不用玩“折纸”。