首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux】初步使用makefile

1 快速使用 会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力 一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译...make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。...make是一条命令,makefile是一个文件,两个搭配使用,完成项目自动化构建 1.1 认识makefile makefile 可以实现自动化构建代码工程 首先 来认识一下make makefile...1.2 使用makefile 我们首先编写一个简单的makefile文件 我们使用make 命令来执行 然后我们就成果得到了可执行程序mytest,并可以成功执行。...再通过使用make clean命令 可以成功删除清理mytest. 2 深入理解 我们先以前两行讲解: 依赖方法前必须使用TAB进行开头,不能使用4个空格 make 命令会读取makefile的内容

15510
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux】————Makefile编写

    1.GCC常见命令 1.1 查看gcc版本号 1.2 GCC输出目标文件 可以使用gcc code.c -o code用于输出目标文件 1.3 编译流程 GCC编译器的编译流程是:预处理、编译 、汇编和链接...所以我们Makefile要达成一个目的,必须要满足这两个条件. 我们举个实际代码的例子来理解: 我们直接 vim Makefile 此时便会创建一个Makefile文件并且打开....格式如下: 1.先在前面写一个.PHONY:clean 2.第二行紧接着输入clean: 3.Tab键开头,然后输入依赖方法 rm -rf mytest 所以输入进去应该是这样: 然后我们使用一下它。...如果有多个文件,我们该如何使用Makefile编写呢?...在编写Makefile时,我们习惯于把依赖文件写成.o的形式.而.o又需要.c来编译。所以Makefile会自动向下寻找这些编译语句,我们只要写上编译的语句即可.

    6910

    linux】gcc makefile

    默认情况,Linux上,一般静态库都是默认没有安装的 sudo yum install -y glibc-static libstdc++-static 04.makefile make是一个命令 makefile...makefile/make会自动根据文件中的依赖关系,进行自动推导,帮助我们执行所有相关的依赖方法 这个 Makefile 使用了变量来定义构建目标和源文件路径,以及自动化构建和清理过程。...使用变量可以提高 Makefile 的可读性和维护性,尤其是在需要变更文件名时,只需修改变量定义即可。...变量的使用: bin=mycode 和 src=test.c 定义了构建可执行文件和源文件的变量。使用变量可以增加 Makefile 的灵活性和可读性。...通过这个 Makefile,用户可以方便地编译和清理项目,确保构建过程的自动化和高效性。使用变量不仅使得 Makefile 更加灵活,还提高了可读性和可维护性

    5310

    初识Linux · 有关makefile

    前言: 我们上文介绍了gcc和g++的基本使用,带了许多的子指令,但是有的时候啊,一个一个敲指令确实有点麻烦了,此时,一个工具就能派上用场,即自动化工具makefile。...我们不妨理解为语言中的宏,命令的重新命名都可以通过makefile来表示,这就大大简化了工程量了,所以,有的时候makefile使用从侧面也决定了工程的完备程序以及效率问题。...通过简单的介绍,我们知道了makefile是一个自动化命令工具,那么使用方法第一个是要创建makefile文件,makefile或者是Makefile都可以,我们在文件里面写入一些指令加上一点操作,我们就可以实现自动化指令了...1 makefile的简单使用 我们不妨,先看看makefile的简单使用: 第一步是创建一个makefile文件并往里面写入一些指令->后面会介绍。...但是这样使用就会导致如上错误。 需要搭配$使用: 此时就没问题了。 这里涉及了替换,我们不妨再看看@ ^: 不难看出,@ ^分别代替的是目标文件和依赖文件。

    10210

    linux: 使用Makefile封装功能并传递参数

    makefile # 定义一个变量,用于存储格式化的日期 DATE := $(shell date +%Y%m%d) # 示例目标,展示如何使用这个日期变量 all: show_date # 一个示例目标...,输出格式化的日期 show_date: @echo 今天的日期是:$(DATE) 在这个示例中,DATE变量使用date命令获取当前日期,并格式化为YYYYMMDD格式。...show_date目标使用@echo命令输出格式化的日期。 赋值符号 Makefile中有多种赋值符号,每种符号有不同的行为: =:简单赋值,变量在使用时才计算其值。...iterate_hosts目标使用for循环遍历HOSTS变量中的每个host,并对每个host执行操作,例如使用ping命令检测连通性。...ping -c 1 $(1) endef 使用foreach和eval调用封装的目标: makefile $(foreach host,$(HOSTS),$(eval $(call PROCESS_HOST

    12710

    makefile基本使用

    linux和unix中,有一个强大的实用程序,叫make,可以用它来管理多模块程序的编译和链接,直至生成可执行文件。...make程序需要一个编译规则说明文件,称为makefilemakefile文件中描述了整个软件工程的编译规则和各个文件之间的依赖关系。...make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说大多数编译器都有这个命令,使用make可以是重新编译的次数达到最小化。...makefile文件的规则可以非常复杂,比C程序还要复杂,平常使用实际用不了那么多 接下来,介绍它的使用方法: ?...#通配符 %表示任意字符 $@表示冒号前target $^表示冒号后得源文件 %:%.c gcc -o $@ $^ clean: rm -rf $(OBJECT) 使用通配符非常便利

    1K10

    Makefile 使用总结

    Makefile 简介 Makefile 是和 make 命令一起配合使用的....中定义的变量 文件指示 :: Makefile中引用其他Makefile; 指定Makefile中有效部分; 定义一个多行命令 注释     :: Makefile只有行注释 "#", 如果要使用或者输出...3.5 Makefile中一些GNU约定俗成的伪目标 如果有过在Linux上, 从源码安装软件的经历的话, 就会对 make clean, make install 比较熟悉....下面列举一些常用的伪目标, 如果在自己项目的Makefile合理使用这些伪目标的话, 可以让我们自己的Makefile看起来更专业, 呵呵 :) 伪目标 含义 all 所有目标的目标,其功能一般是编译所有的目标...或是gz文件 TAGS 更新所有的目标, 以备完整地重编译使用 check 或 test 一般用来测试makefile的流程

    3.6K30

    Makefile使用

    Linux使用 make 命令来编译程序,特别是大程序;而 make 命令所执行的动作依赖于 Makefile 文件。...要想完整地了解 Makefile 的规则,请参考《GNU Make 使用手册》,以下仅粗略介绍。...的使用 我参考 Linux 内核的 Makefile 编写了一个通用的 Makefile,它可以用来编译应用程序: ① 支持多个目录、多层目录、多个文件; ② 支持给所有文件设置编译选项; ③...使用 git 下载本教程的文档后,下列目录中就有说明和示例: 01_all_series_quickstart\ 04_嵌入式 Linux 应用开发基础知识\source\05_general_Makefile...我们可以使用“-f”选项指定文件,不再使用名为“Makefile”的文件,比如: make -f Makefile.build 我们可以使用“-C”选项指定目录,切换到其他目录里去,比如: make -

    4.3K42

    Linux 开发 | 学习 Makefile

    @(linux 编程)[开发技能, 工具使用] What is GNU Make Make 是控制工程中通过源码生成可执行文件和其他相关文件的工具。...上层 Makefile 中定义的变量是可以在被调用的下一层 Makefile使用的, 前提是该变量在上层中被显式暴露 export,同理,可以采用 unexport取消。...export OBJS # 传递 变量 OBJS export # 不指定,全部传递 如此,在下面的 makefile 就可以直接使用了。...但是如果下层目录已经定义了该变量,那么下层默认使用的是它自己定义的变量值,除非上层 makefile 在调用下层 makefile 时给参数 -e,则会强行覆盖。...---- Makefile 中的变量 Makefile 中的变量,就如程序中的宏定义,代表一个字串,在使用的地方展开,通过 $(variable) 表示变量的内容,和 shell 类似。

    5.4K10

    Linux下automake工具使用(自动构建Makefile文件)

    一、前言 linux环境下,当项目工程很大的时候,编译的过程很复杂,所以需要使用make工具,自动进行编译安装,但是手写makefile文件比较复杂,所幸在GNU的计划中,设计出了一种叫做Autoconf...无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或 make install。...AC_OUTPUT(Makefile) (1)AC_PREREQ宏声明本文件要求的autoconf版本,本例使用的版本为2.63。...在使用Automake之前,要先手动建立Makefile.am文件。 Makefile.am是一种比Makefile更高层次的规则。...) 7.1 创建待编译的源码(模拟真实项目环境) 在第一章里简单介绍了使用automake自动产生makefile的几个关键步骤,所有文件都在同一个目录下。

    7.5K31

    linux下,Makefile是啥??

    为什么要学习MakefileLinux环境下的程序员如果不会使用GNU make来构建和管理自己的工程,应该不能算是一个合格的专业程序员,至少不能称得上是Unix程序员。...在Linux(unix)环境下使用GNU的make工具能够比较容易的构建一个属于你自己的工程,整个工程的编译只需要一个命令就可以完成编译、连接以至于最后的执行。...Makefile的命名规则 默认的情况下,make命令会在当前目录下按顺序找寻文件名为“GNUmakefile”、 “makefile”、“Makefile”的文件,在这三个文件名中,最好使用Makefile...Makefile也可以为其他名字,比如makefile.linux,但你需要使用make的参数(-f or --file)制定对应的文件,例如: make -f makefile.linux Makefile...Makefile中只有行注释,和UNIX的Shell脚本一样,其注释是用#字符,这个就 像C/C++中的//一样。如果你要在你的Makefile使用#字符,可以用反斜杠进行 转义,如:\# 。

    1.2K20

    LinuxMakefile文件详解

    注意事项 空格问题: Makefile 使用 Tab 键而不是空格来缩进规则。 文件依赖: Makefile 的核心是文件之间的依赖关系,确保每个目标都依赖于正确的文件。...变量引用: 使用 @ 表示目标,^ 表示所有依赖文件, 通配符: 使用 % 通配符来表示一类文件,例如 %.o: %.c。 Makefile 是一个非常强大的工具,可以用于管理复杂的项目结构。...在规则的命令中使用时,用 (CC) 和 (CFLAGS) 替代具体的值。 9. include 指令 Makefile 可以包含其他 Makefile使用 include 指令。...make 使用一个名为 Makefile 的文件,其中包含了一系列规则和指令,描述了文件之间的依赖关系以及如何生成目标文件。以下是一个简单的 Makefile 文件的结构和基本要素: 11....条件语句 Makefile 中可以使用条件语句,根据不同的条件执行不同的指令。

    94810

    Go使用Makefile构建

    或者测试使用go run运行项目 go run main.go 我看有很多大型开源项目都是如下方式: make build 或者是这样 make install 我们打包运行这个过程,还有一个更加贴切的词语叫做构建项目...Makefile介绍 Makefile 是和 make 命令一起配合使用的。它是开源的构建工具,很多大型项目的编译都是通过 Makefile 来组织的。...就多了一个Makefile文件,如果要使用Makefile去构建你项目,就需要在你的项目里面新建这个Makefile文件。.../$(BINARY_NAME) 解释下上面各行的意思: 第一行,声明了一个变量BINARY_NAME他的值是hello,方便后面使用 第二行,声明一个 target,其实你可以理解成一个对外的方法 第三行...推荐阅读文献 跟我一起写Makefile  Make 命令教程- 阮一峰的网络日志 ---- 欢迎您关注程序员同行者订阅号,程序员同行者是一个技术分享平台,主要是运维自动化开发:linux、python

    90130

    Go 项目使用 Makefile

    但是,我们在 Go 项目中也不需要完全摒弃使用 make 和 Makefile,可以使用 Makefile 的“伪目标”,简化使用 go 命令的复杂性,规范团队使用 go 命令的方式,提升个人或团队的生产力...03 Go 项目使用 Makefile 在 Go 项目中使用 Makefile,一般我们只会使用“伪目标”,我们使用 go build 构建可执行文件为例,介绍 Go 项目怎么使用 Makefile。...在实际项目开发时,我们可能需要构建多个操作系统的可执行文件,我们再编写一个 Makefile,新增三个“伪目标”,分别是windows、linux 和 darwin。...不必如此,我们可以在 Makefile 中编写一个“伪目标” help,用于描述 Makefile 中的“伪目标”列表和使用示例等。...04 总结 本文我们介绍 make 和 Makefile使用方法,并且通过 go 命令中的 go build 介绍 Go 项目怎么使用 Makefile,大家可以举一反三,编写自己的 Go 项目

    1.9K20

    linux项目构建工具——makefile

    一、 makefile 在多文件中使用 1.创建文件 先创建三个文件 test.h mytest.c main.c 文件 [yzq@VM-8-8-centos mk]$ touch test.h...hello world hello world 正常生成是利用 gcc mytest.c main.c -o test 生成一个可执行程序 test ./ test产生 hello world 6. makefile...的使用 首先使用 vim makefile (这里若是没有创建,则会自动创建一个文件)进入vim编辑器 test: mytest.c main.c gcc $^ -o $@ .PHONY:...mytest.c main.c -o test 这句话整体作为一个依赖方法 特别注意:在gcc 前面加上 TAB .PHONY:clean clean: rm -f test .PHONY可以看作是makefile...使用 make clean 的原因 makefile是一个脚本,默认识别是从上往下,只会执行一个可执行,所以想要跳过项目的创建,就要加上对应的名字

    2K10
    领券