【问题标题】:What is the difference between makefile and sh filemakefile 和 sh 文件有什么区别
【发布时间】:2014-04-30 00:14:04
【问题描述】:

makefile 和 sh 文件有什么区别。 sh(壳 脚本文件)文件也可以在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
  1. ./shell.sh { 将构建 hello.c 文件}
  2. ./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..

【问题讨论】:

  • 这就像说所有的编程语言都是一样的,因为它们都是图灵完备的。

标签: c linux shell sh


【解决方案1】:

make 自动检查(基于时间戳)哪些目标需要重新制作,哪些可以保持不变。如果您编写自己的 shell 脚本,则必须自己编写此逻辑,否则在您运行脚本时将重新构建所有组件 - 甚至是自上次构建以来未更改的组件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-27
    • 2016-03-17
    • 2011-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-05
    • 2012-07-05
    相关资源
    最近更新 更多