Make Script에서 16 진수를 10 진수로 변환 하시겠습니까?
-
07-07-2019 - |
문제
ㅏ 만들다 스크립트는 다음과 같이 변수를 설정하려고합니다.
VER_DEC=$( perl -e "print hex(\"$(VER_HEX)\");" )
어디 VER_HEX
값이 있습니다 0a
.
Perl은 Ver_Hex가 0이라고 생각하는 것 같습니다. 변수가 설정되지 않았 음을 암시합니다 (그러나 IT ~이다, makefile의 디버그 에코에 따르면).
Make는베이스를 변환하는 더 간단한 방법을 가지고 있습니까?
그렇다면 어떤 버전의 제조사가 필요합니까?
업데이트 : 이것은 GNU makefile입니다. Perl의 호출에는 단어가 없습니다 shell
내부 $( )
물론 이중 인용문으로 문제가 발생할 수 있습니다.
해결책
VER_DEC=$(shell printf "%d" 0x$(VER_HEX))
당신이 이야기하고 있다면 Makefile
. 당신은 모양이 아니기 때문에 Makefile
나에게, 쉘처럼. (제 생각에는 $(shell )
GNU 확장이지만 대부분의 경우 안전하게 백 티크로 교체 할 수 있습니다).
제휴하지 않습니다 StackOverflow