基本语法
目标: 依赖1,依赖2
命令
示例如下(windows下):
# 生成main.exe依赖outputMatrix.o和main.o
# 需要执行命令g++ -o main outputMatrix.o main.o
# 下同
main: outputMatrix.o main.o
g++ -o main outputMatrix.o main.o
main.o: main.cc outputMatrix.h
g++ -c main.cc
outputMatrix.o: outputMatrix.cpp outputMatrix.h
g++ -c outputMatrix.cpp
# 清空生成件,linux要用rm,windows下使用-del
clean:
-del .\outputMatrix.o
-del .\main.o
-del .\main.exe
依次执行
make outputMatrix.o
make main.o
make main
即可生成main.exe, ./main.exe 运行即可
makefile中还可以使用变量和注释
一个比较完整的makefile文件
# 注释
# 设置 C语言的编译器
CC = g++
# -g 增加调试信息
# -Wall 打开大部分告警信息
# 设置编译选项
CFLAFS = -g -Wall
# 整理一下main依赖哪些目标文件
MAINOBJS = main.o outputMatrix.o
# $(变量名) 引用定义的变量
main: $(MAINOBJS)
$(CC) $(CFLAFS) -o main $(MAINOBJS)
main.o: main.cc outputMatrix.h
$(CC) $(CFLAFS) -c -o main.o main.cc
outputMatrix.o: outputMatrix.cpp outputMatrix.h
$(CC) $(CFLAFS) -c -o outputMatrix.o outputMatrix.cpp
clean:
-del -f $(MAINOBJS) main.exe
运行效果如下:
代码参考:二维数组作为函数入参的三种格式