В моем make-файле я хочу вывести файл с форматом вывода команды size
, используя содержимое выводов команды readelf
.
Я могу успешно выполнять команды в сценарии оболочки, но когда я помещаю команды в make-файл, $((16#$${hex}))
не работает, поэтому dec
не имеет значений.Я предполагаю, что цвет текста пользовательского интерфейса vim может быть последним )
из $((16#$${hex}))
, который не соответствует должным образом.Я не совсем знаком с makefile, кто-нибудь знает, как с этим справиться?
size.txt : Makefile
$(MAKE) objs
echo " text data bss dec hex filename ">$@
(for X in `find . -name '*.o' -print` ; do \
hex=`readelf -S -W $$X | grep '\sAX\s' | sed 's/\s\s*/ /g' | cut -d ' ' -f 8`; \
dec=`echo $((16#$${hex}))`;\
echo " $${dec} 0 0 $${dec} $${hex} $$X"; \
done) >>$@
Теперь вывод 0 0 00000030 xxxx.o
и ожидаемый вывод 48 0 0 48 00000030 xxxx.o
.