314 字
2 分钟
简单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);
#endifint 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文件,那么就是这样的:
CC=gccCFLAGS=-I.
mysample: add.o multiply.o sample.o $(CC) -o mysample add.o multiply.o sample.o $(CFLAGS)
.PHONY: cleanclean: rm -f *.o运行 make -f makefile即可生成mysample文件.
运行 make clean, 则清理该文件下生成的.o文件。
使用makefile明显可以减轻手写的工作量。所以对于一般的c项目,还是创建一个makefile比较好一些,方便使用。
简单makefile文件
https://dididudu998.github.io/posts/简单makefile文件/