Makefile的编译


看了下关于makefile的视频,自己试着编译了一个

首先随便建立一个main.c文件

#include<stdio.h>

void main()

{

printf("My name is guozhiyuan\n");

}

当然你可以用 gcc main.c -o main来编译,既然要用makefile,所以建立makefile文件

hello:main.c

gcc main.c -o hello

保存 make即可

做完这步,我想可不可以一次编译多个文件呢,我选择三个文件进行实验
首先建立三个.c 和三个.h文件

vim guo.c

#include<stdio.h>

#include"zhi.h"

#include"yuan.h"

void main()

{

printf("guo\n");

zhi();

yuan();

}

 


vim zhi.c

#include<stdio.h>

void zhi()

{

printf("zhi\n");

}


vim zhi.h

void zhi();

 


vim yuan.c

#include<stdio.h>

void yuan()

{

printf("yuan\n");

}

 


vim yuan.h

void yuan();

 

然后改makefile了

vim makefile

CC=gcc

OBJ=guo.o zhi.o yuan.o

hello:$(OBJ)

$(CC) -o hello $(OBJ)

guo.o:guo.c

$(CC) -c guo.c

zhi.o:zhi.c zhi.h

$(CC) -c zhi.c

yuan.o:yuan.c yuan.h

$(CC) -c yuan.c

至此保存  make就可以了


注意要有头文件,以及子函数的调用。

相关内容