第一期第16讲,17讲21:50
1. Makefile文件规则:
目标文件:依赖文件
命令
例如:Makefile文件如下:
main: main.o calcu.o input_num.o
gcc -o main main.o calcu.o input_num.o
main.o: main.c
gcc -c main.c
calcu.o: calcu.c
gcc -c calcu.c
input_num.o: input_num.c
gcc -c input_num.c
clean:
rm *.o
rm main
输入make,默认在本文件夹下搜寻Makefile文件执行。终端窗口会显示执行到的命令。
输入make clean,清除*.o和main文件
2. Makefile变量:类似C语言中的宏,可认为是字符串类型
注释以#开始
objects = main.o calcu.o input_num.o
main: $(objects) # $表示使用该变量
gcc -o main $(objects)
“=”赋值:name变量的值取决于最终的赋值
name = zzk
curname = $(name)
name = zuozhongkai
print:
@echo curname: $(curname) # @表示不打印命令执行过程
shell输入make print, 显示出zuozhongkai
“:=”赋值:
name = zzk
curname := $(name)
name = zuozhongkai
print:
@echo curname: $(curname) # @表示不打印命令执行过程
shell输入make print, 显示出zzk
"?="赋值:如果变量之前没有被赋值,当前赋值有效,否则仍是之前的值有效
name = zzk
curname ?= zuozhongkai
name = zuozhongkai
print:
@echo curname: $(curname) # @表示不打印命令执行过程
shell输入make print, 显示出zuozhongkai
"+=" 就是追加内容