简单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比较好一些,方便使用。

| 访问量:
Table of Contents