从C程序创建命令行工具

时间:2011-09-08 15:51:14

标签: c makefile command-line-tool

如果我想使用makefile创建一个命令行工具,比如说这个C程序:

# include<stdio.h>

int main()
{
    printf("Hello World!");
    return 0;
}

我以前没有使用makefile或linux shell命令的经验。刚开始。谁能告诉我怎么去呢?

4 个答案:

答案 0 :(得分:6)

你真的不需要像这样的单个源文件的makefile - 只需像这样编译它:

$ gcc -Wall foo.c -o foo

如果你真的想要一个makefile,那么你可以这样做:

#
# makefile
#

foo: foo.c
    gcc -Wall foo.c -o foo

然后从命令行你可以说:

$ make foo

甚至只是

$ make

答案 1 :(得分:2)

我没有方便的Unix盒子,但是make(1)的ISTR有一些默认规则,只允许你输入make hello,它会找到hello.c并生成一个名为'hello的二进制文件”。当然,对于任何更复杂的事情,你都要阅读make(1)或它的后代,man make是一个很好的起点。

答案 2 :(得分:1)

生成文件:

hello: hello.c
    gcc -Wall -o hello hello.c


$ make hello
$ ./hello

您可能会受益于this

此外,您的程序缺少换行符。您可能想要打印"Hello World!\n"

答案 3 :(得分:1)

$cat makefile
main:main.c
    gcc -o main main.c

clean:
    rm main