Как я выполняю арифметику в make-файле?

Действительно ли возможно выполнить некоторые использования переменных в make-файле? Например, определение

JPI=4
JPJ=2

Действительно ли возможно определить в том же make-файле переменный JPIJ, равный расширенному значению $ (JPI) * $ (JPJ)?

37
задан Matthew Simoneau 17 January 2014 в 00:01
поделиться

2 ответа

Это неуклюже (или великолепно, в зависимости от вашей точки зрения), но вы можете выполнять арифметические операции прямо в GNU make. См. Изучение функций GNU Make с помощью арифметики . Однако имейте в виду, что этот метод плохо масштабируется. Как вы показали в своем вопросе, он отлично работает с небольшими числами, но не годится, когда вы работаете с числами большой величины (более 10 000 000).

10
ответ дан 27 November 2019 в 04:43
поделиться

Если вы используете GNU make и в вашей системе установлен bc , вы можете использовать что-то вроде этого:

JPI=4
JPJ=2
FOO=$(shell echo $(JPI)\*$(JPJ) | bc)
all:
  echo $(FOO)
13
ответ дан 27 November 2019 в 04:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: