有些处理使用shell语言处理比较方便?那么makefile中可以嵌入shell语言吗?
例如我们需要循环读取文件夹里面的文件名
在shell中
MODULES = "common modules main"
for dir in $MODULES;
do
echo $dir
done
在make中就难以实现了,那么我们可以在makefile中调用shell吗?如何调用?
MODULES := common module main
test :
@set -e; \
for dir in $(MODULES); \
do \
echo $$dir; \
done
可以看出,在makefile中调用shell还是有很大的不同的.
makefile中调用shell需要一行执行完
打印变量需要$$符号,目的是区分make变量和shell变量.