makefile文件之@和$$

   在编写makefile文件时,我们经常要用到@和$$符号,但是对他们的作用却不是很了解,下面就是我的实验脚本,就该脚本应该可以很清楚的了解其作用。

#!/usr/bin/bash

cat > 'Makefile' <<'EOF'
dir=/home/steven
target:
        @echo 'hello'
        @echo $(dir)
        @for i in `ls`; \
        do \
                echo $$i; \
        done
EOF

echo 'making'
make
echo 'done'


需要区分的是make内置变量和shell内置变量,在执行make命令时,脚本会扩展变量,例如:$(dir)扩展之后是/home/stev

en,$$i扩展之后是$i。

如果没有@在shell命令前面,make会首先显示该命令,接着打印之后该命令的结果。并且shell命令还得再target里面执行才

行,放在外面的shell命令,一般情况下执行不通过。我执行的时候报Makefile:2: *** missing separator. Stop.



此文章由指尖极客原创,转载请指出其作者和出处!http://blog.csdn.net/wenchao126


你可能感兴趣的:(Makefile脚本)