makefile的简单使用

最近在 github上看了一些小的开源代码,发现不错就打包下载(download zip)。

在我打包下载的这些代码中,总会出现一个Makefile文件。之前经常接触Makefile,没有深究过,也没有用过。最近经常碰到Makefile,开源代码也需要用到Makefile,所以今天就对这个Makefile做一个总结和学习。

》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

Makefile是一种描述文件,在一个项目中有很多源文件,相互之间依赖关系很复杂。makefile能简单明了的理顺各个源文件的关系,极大提高程序开发效率。

我们一般在Linux中经常看到项目用有Makefile,而在windows中很少看到,原因是因为windows上的IDE工具已经帮你自动生成了Makefile,编译工程的时候自动调用Makefile进行编译,所以在windows上我们经常是在不知情的情况下经常更Makefile打交道。

那么Makefile里的内容到底是些什么东西呢?

Makefile规定如何生成目标文件,所依赖的文件及生成的命令等。

makefile的基本语法规则如下:

目标文件 : 目标所依赖的文件
    command
注意:如果command不和目标文件所在一行时,在command前要加tab键

例子:

1.定义一个fun.h头文件

#ifndef _FUN_H
   #define _FUN_H
   
   extern int fun1(void)
   extern int fun2(void)
   extern int fun3(void)
   
   #endif

2.定义一个fun.c文件

#include<stdio.h>
   int fun1()
   {
           printf("This is first function!\n");
           return 0;
   }
   
   int fun2()
   {
          printf("This is second function!\n");
          return 0;
  }
  
  int fun3()
  {
          printf("This is third function!\n");
          return 0;
  }

3.定义一个mian.c文件

#include<stdio.h>
   #include<stdlib.h>
   int main()
   {
           fun1();
           fun2();
           fun3();
          return 0;
  }

为了编译上面这个项目,我们编译Makefile如下:

 edit : main.o fun.o
           cc -o edit main.o fun.o
   mian.o : main.c
           cc -c mainn.c
   fun.o : fun.c fun.h
           cc -c fun.c
   clean:
           rm fun.o main.o

保存Makefile,在Makefile目录下键入命了 make,编译器就会开始编译这个项目了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值