makefile文件的编写

文章介绍了Makefile在Linux系统中作为构建工具的角色,类似于C语言在VisualStudio中的项目文件。通过示例展示了如何创建和使用Makefile来编译源代码文件,生成可执行文件,以及make命令的使用规则。同时提到了如果没有makefile文件时的编译方法。
摘要由CSDN通过智能技术生成

一、makefile的概念:

  • C语言中,我们使用visual studio开发软件时候,写程序开始时候都会创建一个project项目文件,然后在文件里面编译 .h 和 .c 的文件。
  • 在Linux中,有一个叫make的东西,就相当于C语言的集成开发环境,我们只需要在make里面创建文件,写代码,make会帮我们管理这些文件。
  • 不过我们创建的项目不叫project,而是称为Makefile,打开一个make源程序包,发现很多Makefile的文件,说明里面有很多的项目。
  • 在源程序包里面,也有名为makefile的文件(m是小写),两个命名同时存在,这是合理的,在开发一个项目的时候,工程师一般都会命名为Makefile然后打包交给用户,用户觉得某个Makefile需要改动,用户改动后或者新建后的项目定义为makefile,并且在运行时候,先执行makefile,再执行Makefile文件。

二、实战代码演示与讲解

  1. 没有makefile文件的项目是怎么创建运行的
    1. touch main.c tool1.c tool2.c tool1.h tool2.h

      使用touch指令进行创建相关文件

    2. 通过ls指令验证相关文件是否成功创建

    3. 给文件中放一些相关命令

    4. 通过指令进行编译

      gcc *.c //通过该指令生成可执行文件 a.out
  2. 通过makefile文件进行生成可执行文件

    1. 通过vim编辑器进行创建makefile并打开,输入以下指令

      # 自定义依赖关系,源文件(后缀为.c)经过编译汇编生成目标文件(后缀为.o)
      # 目标文件执行生成可执行文件(类似与mytool)
      mytool:main.o tool1.o tool2.o
      	# 写gcc命令时候,前面要tab按键一下
      	# 不写-o参数,生成默认的可执行文件名为a.out,这里我们修改为mytool
      	gcc main.o tool1.o tool2.0 -o mytool
      
      main.o:main.c
      	#-Wall 可以看到所有的警告
      	#-g 可以调试
      	#-c 只允许执行到汇编步骤,不允许链接。
      	gcc main.c -c -Wall -g -o main.o
      tool1.o:tool1.c
      	gcc main.c -c -Wall -g -o tool1.o
      tool2.o:tool2.c
      	gcc main.c -c -Wall -g -o tool2.o

      保存后退出,并查看makefile文件是否成功编写

    2. 通过make指令运行make文件

    3. 注:如果你的文件名字不是makefile,而是makefilebuff-demo这样自定义的,那么需要这么操作

      make -f makefilebuff-demo

      make 命令可以通过 -f 执行使用的makefile。
      如果在没有使用 -f 指定的情况下,会按照下面的顺序执行。
      GNUmakefile, makefile 和 Makefile

    4. 通过ls指令查看生成的可执行文件mytool 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值