Makefile的简单例子

1.生成test可执行文件,源文件有prog.c prog.h cord.h

 

test:prog.o code.o

       gcc -o test prog.o code.o

prog.o:prog.c prog.h code.h

          gcc -c prog.c -o prog.o

code.o:code.c code.h

          gcc -c code.c -o code.o

clean:

        rm -f *.o

#最后是删除所有的.o文件

执行:$make target 或者 make test

 

2.带变量的makefile

OBJS=prog.o code.o

CC=gcc

test:${ OBJS }

       ${CC} -o test ${OBJS}

prog.o: prog.c prog.h code.h

        ${CC} -c prog.c -o prog.o

code.o:code.c code.h

        &{CC} -c code.c -o code.o

clean:

      rm -f *.o

 

makefile中还可以使用环境变量,同名变量会覆盖其环境变量

此外还有预定义变量和自动变量

预定义变量 
$@    当前目标文件的名字,如应用于创建库文件时,其值为库文件名
$?比当前目标文件新的依赖文件列表
$<比当前文件新的第一个依赖文件
$^用空格隔开的所有依赖文件

 

 

 

 

则以上例子可以简化为

OBJS=prog.o code.o

CC=gcc

test:${OBJS}

       ${CC} -o $@ S^

prog.o:prog.c prog.h code.h

code.o:code.c code.h

clean:

   rm -f *.o

转载于:https://www.cnblogs.com/fengyuehan/p/linux.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值