如果我想使用makefile创建一个命令行工具,比如说这个C程序:
# include<stdio.h>
int main()
{
printf("Hello World!");
return 0;
}
我以前没有使用makefile或linux shell命令的经验。刚开始。谁能告诉我怎么去呢?
答案 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