Makefile 入门(加减乘除实现)
Makefile 入门(加减乘除实现)
准备
使用任意Linux发行版即可,本文使用WSL Ubuntu。
开始之前,需要安装必要的工具:
sudo apt install make g++
开始
1、新建一个工程文件夹src,然后新建以下文件:
src
├── Makefile
├── div.cpp
├── head.h
├── main.cpp
├── mul.cpp
├── plus.cpp
└── sub.cpp
0 directories, 7 files
2、main.cpp是测试程序的入口,调用写好的加减乘除方法:
# include "head.h"
int main()
{
printf("sum = %d\n", add(40,5));
printf("mul = %d\n", mul(40,5));
printf("sub = %d\n", sub(40,5));
printf("div = %f\n", div(40,5));
}
3、head.h 是头文件,其中需要写函数声明,以及其他需要使用的头文件
#include "stdio.h"
int add(int a, int b);
int sub(int a, int b);
int mul(int a, int b);
double div(int a, int b);
3、plus.cpp等四个方法如下所示:
//plus.cpp
#include "head.h"
int add(int a, int b)
{
return a - b;
}
//mul.cpp
#include "head.h"
int mul(int a, int b)
{
return a * b;
}
//div.cpp
#include "head.h"
double div(int a, int b)
{
return a / b;
}
//sub.cpp
#include "head.h"
int sub(int a, int b)
{
return a - b;
}
4、Makefile文件
CC = g++
CFlags = -c
ObjFiles = main.o plus.o sub.o mul.o div.o
main: $(ObjFiles)
$(CC) $(ObjFiles) -o main
%.o: %.cpp head.h
$(CC) $(CFlags) $< -o $@
.PHONY:clean all
clean:
rm -f *.o main
详细的格式写法和定义等请参考该文章的后半部分:Makefile简单编写实例
//TODO: 详细makefile写法
生成
在src文件夹内运行make命令即可:
运行效果: