makefile学习笔记

make默认寻找叫makefile或Makefile的文件,自己指定的话用 make -f 文件名

"#": 注释符

命令行首的"@":取消本行命令回显


1.规则的基本格式:

目标:依赖

[tab]命令       <---------- 命令开头要一个[tab]键

例0:

hello:main.o func1.o func2.o 

    gcc main.o func1.o func2.o  -o hello

上面这两行叫一个规则


2.伪目标(phony taeget): 没有任何依赖,只有执行动作的目标

用".PHONY"显式指明伪目标

.PHONY: clean

clean:

    rm -f *.o

可以使用这一特性实现rebuild all


3.变量:   (便于修改)

obj=main.o func1.o func2.o

hello:$(obj)

    gcc $(obj) -o hello

系统默认变量:

$^    代表所有依赖文件

$@  代表目标

$<    代表第一个依赖文件

例0改写如下:

hello:main.o func1.o func2.o
    gcc $^ -o $@

4.模式规则

用"%"做通配符

"s%.c"表示所有以s开头,以.c结尾的文件

:

%.o: %.c

    commands

本例指出了如何所有.c生成相应.o的规则

如果模式规则后不屑任何命令,就取消了这一模式规则的定义




posted @ 2013-01-09 14:03  Moonwolf  阅读(112)  评论(0编辑  收藏  举报