makefile(1)

来源:互联网 发布:mcs-51单片机寻址方式 编辑:程序博客网 时间:2024/06/09 16:46

先从最简单的makefile说起:

//main.cint main(){printf("hello world\n");return 0;}

 

main:main.oTAB键gcc -o main main.cclean:clean.oTAB键rm -rf main.o main


改错题:

main:main.cCC $< -o main


提示:CC是make的缺省变量,默认为cc。$<为所有依赖文件。

常见的缺省变量还有:

CFLAGS:值为空

CPPFLAGS:值也应该是空

符号:

$<:第一个依赖文件

$?:新的依赖文件

$(变量名):

$@:目标文件

$^:所有依赖文件

 正确写法:

main:main.c$(CC) $< -o main

关于变量:有一个立即展开和延迟展开的说法

var1:=$(var2)var2=smileobject:@echo $var1


分别make一下,比较上面这个和下面这个的区别

var1=$(var2)var2=smileobject:@echo $var1


延迟展开:如果变量的定义在后面,也能认识这个变量

立即展开:如果变量定义在后面,这个变量当前为空

原创粉丝点击