Respuesta de @mrkj es grande, pero como menciona @ Daniel, no todos los sistemas tienen bc
(por ejemplo, yo no tengo en MSys).
he encontrado los siguientes dos métodos, tanto el uso de la cáscara: $$ ((...)) y expr ...
JPI=4
JPJ=2
#With Double-dollar
JPIJ_1 = $(shell echo $$(($(JPI) + $(JPJ))))
#With 'expr'
JPIJ_2 = $(shell expr $(JPI) + $(JPJ))
$(info Sum with Double-$$: $(JPIJ_1))
$(info Sum with 'expr': $(JPIJ_2))
Tenga en cuenta que cuando se utiliza expr
, usted deberá espacios de venta alrededor del +
o devolverá 4+2
. Esto no es necesario cuando se usa $$
.
.
Cuando tiene bc
disponible, definitivamente puede ir con él.Encontré la siguiente página muy interesante: http://www.humbug.in/2010/makefile-tricks-arithmetic-addition-subtraction-multiplication-division-modulo-comparison/
expr es más común que bc: '$ (shell expr $ (JPI) \ * $ (JPJ))' –
@DanielAlder: Interesante, siempre uso 'bc' pero puedo ver cómo' expr' es posiblemente más conveniente si está haciendo una aritmética simple de base 10 (que es el caso de esta pregunta). – mrkj