Makefile

1.Makefile书写格式:
target: components TAB rule (这里TAB是TAB键,一般写成两行就可以了)
第一行表示的是依赖关系,第二行是规则。

如:(->表示依赖关系)
a.c->a.o
b.c->b.o
main.c->main.o
a.o b.o main.o->main

Makefile内容:
*******************
main:a.o b.o main.o
gcc -o main a.o b.o main.o
a.o:a.c
gcc -o a.o a.c
b.o:b.c
gcc -o b.o b.c
main.o:main.c
gcc -o main.o main.c
*******************

2.有用的变量:$@–目标文件,$^–所有的依赖文件,$<–第一个依赖文件

简化后的Makefile内容:
*********************
main:a.o b.o main.o
gcc -o $@ $^
a.o:a.c
gcc -c $<
b.o:b.c
gcc -c $<
main.o:main.c
gcc -c $<
********************

3.   
.c.o:
gcc -c $<

这个规则表示所有的 .o文件都是依赖与相应的.c文件的

简化后的Makefile内容:
**********************
main:a.o b.o main.o
gcc -o $@ $^
.c.o:
gcc -c $<
**********************

 BTW:最近看小组的wiki,里边总结的东西都很精练。自己也试着在里边添加了一些内容,把一些细节问题能搞明白。欢迎大家都去编辑!

5 thoughts on “Makefile

  1. 我不知道说啥啊~~~~~~
    看UNIX编程看郁闷了。。。。。看完几乎一点印象都没有~~就看几十页啊~~~~

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.