Domanda

Uno script make sta tentando di impostare una variabile come segue:

VER_DEC=$( perl -e "print hex(\"$(VER_HEX)\");" )

dove VER_HEX sembra avere un valore di 0a .

Perl sembra pensare che VER_HEX sia zero, il che implica che la variabile non è impostata (ma è , secondo un'eco di debug nel makefile).

Ha un modo più semplice per convertire le basi?

In tal caso, quale versione di make è richiesta?

AGGIORNAMENTO: questo è un Makefile GNU. Nell'invocazione di perl manca la parola shell all'interno di $ () , oltre ad avere potenzialmente problemi di fuga con le doppie virgolette.

È stato utile?

Soluzione

VER_DEC=$(shell printf "%d" 0x$(VER_HEX))

se stai parlando di Makefile . Perché il tuo non sembra Makefile per me, più come shell. (Penso che $ (shell) sia l'estensione GNU, ma il più delle volte puoi tranquillamente sostituirlo con backtick).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top