makefile에서 shell을 통한 산술연산

shbae의 이미지


makefile 작성 시 아래처럼 참조된 macro 값에 +1 한 값을 대입하고 싶은데요

JOBSLOT_NUM = $(NUMBER_OF_PROCESSORS)

즉 NUMBER_OF_PROCESSORS + 1 값을 JOBSLOT_NUM에 대입하려 합니다.
별도의 shell script를 작성해야 되는 건지 구글링을 해도 감을 잡기 어렵네요.
고수님들의 귀한 한 수 부탁드립니다.

ymir의 이미지

$ cat Makefile
NUMBER_OF_PROCESSORS = 10
JOBSLOT_NUM = $(shell expr $(NUMBER_OF_PROCESSORS) + 1)
 
all:
        @echo JOBSLOT_NUM = $(JOBSLOT_NUM)
 
$ make
JOBSLOT_NUM = 11

수식이 정수가 아닌 경우에는 bc 를 쓰시면 됩니다.

JOBSLOT_NUM = $(shell echo $(NUMBER_OF_PROCESSORS) + 1.5 | bc)

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

shbae의 이미지

감사합니다 ^^

덧붙여서

JOBSLOT_NUM = $(shell echo &&(($(NUMBER_OF_PROCESSORS)-1)))

위와 같은 형식으로 해도 되더군요.