makefile和sh文件有什么区别。 sh( shell 脚本文件)文件也可以在 makefile 的地方工作(意味着我们可以 使用 shell 文件做同样的事情,就像 makefile 可以做的那样)然后是什么 他们之间的区别。有任何执行差异或任何 我们必须使用 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
./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
make
{它将构建}
make clean
{它将清理构建文件}
两个文件可以生成相同的输出。 这个问题是因为有人用Makefile有人用shell..
最佳答案
make
自动检查(基于时间戳)哪些目标需要重新制作,哪些可以保持不变。如果您编写自己的 shell 脚本,您要么必须自己编写此逻辑,要么在您运行脚本时重新构建所有组件 - 即使是那些自上次构建以来未更改的组件。
关于c - makefile和sh文件有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22578909/