Linux系统GNU make

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值