Linux系统GNU make

来源:互联网 发布:php连接数据库语句 编辑:程序博客网 时间:2024/05/20 06:24

make在执行时,需要一个命名为Makefile的文件,Makefile文件描述整个功能的编译、链接规则

编译makefile文件:vi makefile

eg:

hello:main.o func1.o func2.o

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

main.o:main.c  

gcc -c main.c

func1.o:func1.c  

gcc -c func1.c

func2.o:func2.c

gcc -c func2.c

.PHONY:clean(声明)

clean:

rm -f hello main.o func1.o func2.o

1、规则:用于说明如何生成一个或多个目标文件

 targets:prerequisites

command(需要以TAB键开始)

目标 依赖 命令 eg:

main.o:main.c  

gcc -c main.c

伪目标:没有任何依赖只执行动作的目标(phony targets)

.phony将clean目标声明为伪目标

make命令默认在当前目录下寻找makefile(Makefile)的工程文件,当名字不为2者之一时,可以使用make -f 文件名指定

默认情况下 命令:make 运行makefile文件

规则可以这样写

1、

obj=main.o func1.o (obj是个变量)

hello:$(obj)

gcc $(obj) -o hello

$^:代表所有的依赖文件

$@:代表目标

$<:代表第一个依赖文件

2、

hello:main.o func1.o

gcc $^ -o $@

@ :取消回显(命令行不显示编译完成信息)

和脚本一样,makefile用#注释


0 0
原创粉丝点击