简单makefile文件
写一个简单的makefile文件来编译c项目
一个C程序设计的时候,分成2个函数,一个是add.c,一个是multiply.c 还有一个head文件,里面声明了add和multiply这两个函数。
然后就是一个主函数,sample.c, 引用head文件,然后饮用add和multiply函数,返回函数的值。
基本的操作是,对各个函数源文件生成对象文件,然后再对对向文件进行编译。
#ifndef SAMPLE
#define SAMPLE
int add(int,int);
int multiply(int,int);
#endif
int add(int a, int b){
return a+b;
}
int multiply(int a ,int b){
return a*b;
}
#include "sample.h"
#include <stdio.h>
int main(int argc, char **argv){
int x=add(4,5);
int y=multiply(9,x);
printf("result is: %d\n",x*y);
return 0;
}
上面分别是头文件,add.c和multiply.c,然后是主函数,sample.c。
过程是这样的:
$ gcc -c add.c -o add.o
$ gcc -c multiply.c -o multiply.o
$ gcc -c sample.c -o sample.o
$ gcc -o sample sample.o add.o multiply.o
如果是用makefile文件,那么就是这样的:
```file: makefile
CC=gcc CFLAGS=-I.
mysample: add.o multiply.o sample.o $(CC) -o mysample add.o multiply.o sample.o $(CFLAGS)
.PHONY: clean clean: rm -f *.o
```
运行 make -f makefile即可生成mysample文件.
运行 make clean, 则清理该文件下生成的.o文件。
使用makefile明显可以减轻手写的工作量。所以对于一般的c项目,还是创建一个makefile比较好一些,方便使用。