makefile和sh文件有什么区别.sh(shell脚本文件)文件也可以在makefile的地方工作(意思是我们可以用makefile这样的shell文件做同样的事情)那么它们之间有什么区别.有任何执行差异或任何标准,我们必须使用makefile和sh文件.
一个示例使用Makefile和shell文件编译hello.c文件
shell.sh
param="$1";
CC="gcc"
CFLAGS="-c -Wall";
if [ "$param" == "clean" ];
then
rm -rf hello
else
$CC $CFLAGS hello.c -o hello
fi
Run Code Online (Sandbox Code Playgroud)
./shell.sh
{将构建hello.c文件}./shell.sh clean
{这将清理构建文件}与Makefile相同的事情..
CC=gcc
CFLAGS=-c -Wall
hello: hello.c
$(CC) $(CFLAGS) hello.c -o hello
clean:
rm -rf hello
Run Code Online (Sandbox Code Playgroud)
make
{它将构建}
make clean
{它将清理构建文件}
两个文件都可以生成相同的输出 这个问题因为有些人使用Makefile而有些人使用shell ..
sep*_*p2k 16
make
自动检查(根据时间戳)需要重新制作哪些目标以及哪些目标可以不受影响.如果您编写自己的shell脚本,则必须自己编写此逻辑,否则在运行脚本时将重建所有组件 - 即使是自上次构建以来未更改的脚本.