Makefile相关规则

来源:互联网 发布:linux mount busy 编辑:程序博客网 时间:2024/06/16 10:48

定义变量的方法

(1)变量名=变量值           递归变量展开(几个变量共享一个值)         //不常用

(2)变量名:=变量值       简单变量展开                                                     //通常采用的形式


常用的变量

$@ : 当前规则的目标文件

$<  :  当前规则的第一个依赖文件

$^  :  当前规则的所有依赖文件,以逗号分隔

$? :   规则中日期新于目标文件中的所有的相关文件列表,逗号分隔

$(@D) : 目标文件的目录名部分

$(@F) : 目标文件的文件名部分


隐含规则 :*.o 文件自动依赖*.c 或*.cc文件

OBJS:=main.o fun.o

CFLAGS:=-Wal -O2 -g

main.exe:$(OBJS)

        gcc $^ -o $@


模式规则:通过匹配模式找字符串,%匹配1或多个任意字符串

%.o:%.c  任何目标文件的依赖文件是与目标文件同名的并且拓展为.c的文件

OBJS:=main.o fun.o

CFLAGS:=-Wal -O2 -g

main.exe:$(OBJS)

        gcc $^ -o $@

%.o:%.c

       gcc -o $@  -c $^


原创粉丝点击