makefile用于工程构建和管理,在makefile文件内定义编译和链接规则,通过命令即可进行工程的构建。
在Ubuntu环境下开始学习makefile的使用,记录基础操作。
makefile文件编写有固定的语法,学习makefile语法可发参考跟我一起写MakeFile网页版 Github
新建一个文件夹,在文件夹内创建main.c child.c child.h makefile
文件,编译产生的中间文件都放在这个目录下
#ifndef _CHILD_H
#define _CHILD_H
#include <stdio.h>
void child_show(int num);
#endif
#include "child.h"
void child_show(int num)
{
printf("Child show %d",num);
}
#include "child.h"
int main(void)
{
printf("main run,next is child\r\n");
child_show(255);
printf("\r\n");
return 0;
}
# 选择编译器
CC=gcc
CFLAGS=-g -O2 -Wall
# 链接生成执行文件main,依赖 main.o 和 child.o
main:main.o child.o
${CC} main.o child.o -o main
# 编译生成main.o,依赖 main.c 和 child.h
main.o:main.c child.h
${CC} ${CFLAGS} -c main.c
# 编译生成child.o,依赖child.c 和 child.h
child.o:child.c child.h
${CC} ${CFLAGS} -c child.c
.PHONY : clean
# 清除编译产生的文件
clean :
@echo 清除编译结果
-rm -f *.o main
原文:https://www.cnblogs.com/niu-li/p/13125679.html