A = "demo"
%.o:%.cpp
$(CC) -c $^ $(A) -o $@
default:$(all_objs)
game:A = $(shell read -p 'Enter game version: ' gv && echo $$gv)
game:$(all_objs)
只是上面的一个片段makefile。如果是我make game
,主要问题是每次源代码编译都会扩展 $(A) 并且它会要求用户一遍又一遍地输入游戏版本。$(A) 仅在用户不指定game
目标时才具有默认内容“演示”。
那么,有没有办法将 $(A) 设置为扩展 && ?