我正在編寫一個簡單的生成文件,名稱爲run.mk,如下面的代碼所示。如何在makefile的while循環中更改變量的值?
a = 0
b := $(shell echo `expr $(a) + 1`)
app: main.o
gcc -o app main.o
main.o: main.c
gcc -c main.c
test:
while [ $(a) -lt 10 ];\
do\
echo $(a);\
a:= $(shell echo `expr $(a) + 1`);\
echo $(a);\
done
當我運行使用命令
這個Makefile
使-f run.mk測試,錯誤出現:未找到和循環infinitly運行即變量a的值還沒有被更新一個:= $ (shell回聲expr $(a) + 1
)在while循環內。然而,開始時,變量b的值通過相同的代碼行$(shell echo expr $(a) + 1
)設置爲1。有人請告訴如何更新循環內變量a的值。
謝謝。
隨着GNU讓4.0,你可以用詭計做複雜的事情。 –