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

Makefile使用(在 Linux 中使用 make 命令来编译程序)

make 命令来编译程序,特别是大程序;而 make 命令所执行的动作依赖于 Makefile 文件。...要想完整地了解 Makefile 的规则,请参考《GNU Make 使用手册》,以下仅粗略介绍。...3.1.3 通用 Makefile 的解析 ① 零星知识点 A. make 命令使用: 执行 make 命令时,它会去当前目录下查找名为“Makefile”的文件,并根据它的指示去执行操作,生成第一个目标...我们可以使用“-f”选项指定文件,不再使用名为“Makefile”的文件,比如: make -f Makefile.build 我们可以使用“-C”选项指定目录,切换到其他目录里去,比如: make -...变量的导出(export): 在编译程序时,我们会不断地使用make -C dir”切换到其他目录,执行其他目录里的 Makefile

8.7K10

实验(六)多文件工程管理

新建 makefile 文件 # 新建 makefile 文件 touch makefile # 编辑 makefile 文件 vi makefile 输入以下代码 String:string.o EnterStr.o...执行make命令 执行make命令前先用ll命令查看工作目录下的内容。...# 使用make命令编译链接生成可执行文件String make make操作后会出几行命令,其中cc是C编译器的默认名称。...使用ll命令查看当前工作目录,可以看到成功编译生成了可执行文件String,以及一些中间文件(如以.o结尾的目标文件) 8....make clean 使用ll命令可以看到中间文件已经被清除。 9. 修改clean规则:不显示rm命令 如果想要执行命令时不显示某些命令,可以修改makefile文件,在这些命令的前面加上@符号。

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

Makefile入门

每个规则由一个目标文件、一个或多个依赖文件和一组命令组成,这些命令描述了如何依赖文件生成目标文件。 Makefile的主要作用是简化或组织编译代码的过程,它可以帮助程序员自动化编译、链接和打包程序。...当我们在命令行中输入make命令时,Make会查找当前目录下是否存在名为Makefilemakefile的文件。...依赖项描述了目标文件与源文件之间的依赖关系,告诉Make如何源文件生成目标文件。 命令(Command):命令Make需要执行的命令行指令,可以是任意的shell命令。...这些命令描述了如何依赖文件生成目标文件。在Makefile中,命令部分需要有一定的缩进,可以是一行或多行,它们会依次执行。...# make upload # make run # make clean

9910

真香,我用Makefile做Flutter项目的自动化管理

尽管我们的 IDE 可以轻松执行其中一些操作,但我们可能已经爱上了命令行,这意味着我们要么创建我们的脚本,要么我们每次都必须手动输入每个命令。 那有没有更好的方法来自动化这个? 有!...使用 makefile,我们可以简化这些操作,将这些操作分解为简单的任务,称为targets,并将它们关联在一起,最终我们就痛可以通过调用make build_mobile_stg来自动完成以上所有步骤...输入命令后我们在终端中可以看到两个输出:一个我们用来格式化代码的命令dart format .和格式化的结果。...make: *** [run_unit] Error 1 如我们所见,该make命令将在build_dev_mobile执行之前失败。...为了每次我们使用make就可以按顺序执行,我们需要加入 all 参数; .PHONY: all run_dev_mobile run_unit clean upgrade lint format all

74120

Go使用Makefile构建

​ 我们平常很多时候都是直接在命令输入go build进行编译的: go build ....或者测试使用go run运行项目 go run main.go 我看有很多大型开源项目都是如下方式: make build 或者是这样 make install 我们打包运行这个过程,还有一个更加贴切的词语叫做构建项目...Makefile介绍 Makefile 是和 make 命令一起配合使用的。它是开源的构建工具,很多大型项目的编译都是通过 Makefile 来组织的。...就多了一个Makefile文件,如果要使用Makefile去构建你项目,就需要在你的项目里面新建这个Makefile文件。...推荐阅读文献 跟我一起写Makefile  Make 命令教程- 阮一峰的网络日志 ---- 欢迎您关注程序员同行者订阅号,程序员同行者是一个技术分享平台,主要是运维自动化开发:linux、python

87430

Ubuntu16.04 Caffe 安装步骤记录(超详尽)

8.0.61_375.26_linux.run --no-opengl-libs 其中 cuda_8.0.61_375.26_linux.run 是我的 CUDA 安装文件名,而你需替换为自己的 CUDA...执行此命令约1分钟后会出现 0%信息,此时长按回车键让此百分比增长,直到100%,然后按照提示操作即可,先输入 accept ,然后让选择是否安装 nvidia 驱动,这里的选择对应第5步开头,若未安装则输入...剩下的选择则都输入“y”确认安装或确认默认路径安装,开始安装,此时若出现安装失败提示则可能为未关闭桌面服务或在已安装 nvidia 驱动的情况下重复再次安装 nvidia 驱动,安装完成后输入重启命令重启...make -j8 #编译 在执行 make -j8 命令编译到 92% 时可能会出现以下错误: modules/cudalegacy/src/graphcuts.cpp:120:54: error:...文件复制一份并更名为 Makefile.config ,也可以在 caffe 目录下直接调用以下命令完成复制操作 : sudo cp Makefile.config.example Makefile.config

1.5K20

Makefile构建你的Go项目吧

看这篇文章之前,你是否打包Go语言开发的项目时,是直接在命令输入: go build ....在开发调试时是否是: go run main.go 然后看到开源的Go语言项目在运行时却是: make build 或者是这样 make install 我们打包运行这个过程,还有一个更加贴切的词语叫做构建项目...— 02 — 安装 如果你是mac的系统,系统是自带了的,如果是linux就需要自己安装下make命令很简单。...centons系统的make安装命令: yum install -y make — 03 — 创建配置文件 我这里新建了一个工程,工程目录是这样: main.go里面的源码如下: 和我们以往的项目没啥区别...,就多了一个Makefile文件,如果要使用Makefile去构建你项目,就需要在你的项目里面新建这个Makefile文件。

29230

命令行上的数据科学第二版:六、项目管理与`make`

当您继续以前的项目时,您可能已经忘记了运行了哪些命令哪个目录运行了哪些文件、使用了哪些参数以及运行的顺序。想象一下与合作者分享项目的挑战。...这就是make真正闪耀的地方 。make是一个命令行工具,允许您: 根据输入和输出依赖关系形式化您的数据工作流步骤。 运行工作流程的特定步骤。 使用内联代码。 外部来源存储和检索数据。...6.1 概述 使用make管理您的数据工作流是本章的主题。因此,您将了解: 用一个Makefile定义你的工作流。 输入和输出依赖关系的角度思考工作流。 运行任务和构建目标。...任何其他文件都是使用命令行工具下载或生成的。 6.2 make介绍 make围绕数据及其依赖关系组织命令执行。您的数据处理步骤在一个单独的文本文件(工作流)中被正式化。每一步都有输入和输出。...虽然这不是make的主要目的,但它仍然提供了很多价值,因为我不需要记住或查找我使用了什么咒语。相反,我输入make publish,这本书的最新版本就出版了。

66710

Linux — Makefile的学习笔记以及多级目录下Makefile的编写

二、Make程序中有许多选项,其中最常用的3个选项为: 1、-k:作用是在让make命令在发现错误时仍然就执行,而不是在检测到第一个错误时就停止,所以可是使用这个选项在一次操作中发下所有未编译成功的源文件...2、-n:作用是让make命令输出将要执行的操作步骤,而不是真正执行这些操作 3、-f :作用是告诉make将文件名为filename的我文件作为makefile文件。...如果未使用这个选项,标准版的make命令将优先在当前命令下查找名称为makefile的文件,如果不存在名称makefile的文件,则开始查找名为Makefile的文件。...@: 告诉make在执行命令前不要将改命令显示在标准输出上 那么,上面的makefile2可以修改为: CC = gcc CFLAGS = -g -Wall -O main:main.o...make -C $@ RUN: clean: rm -rf $(OBJDIR)/*.o $(BINDIR) 在这里简单解释一下makefile中的相关命令: CC = gcc #声明编译器

5K10

gdb和makefile的讲解

2.1 list 打印行号 list 将所有内容和行号一起打印 2.2 run运行程序 r(run) 运行程序 遇到断点停止 2.3 执行语句 n 或 next:单条执行 对应vs里的f10...make命令,整个工程完全自动编译,极大的提高了软件开发的效率。...make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。...可见,makefile都成为了一种在工程方面的编译方法。 make是一条命令makefile是一个文件,两个搭配使用,完成项目自动化构建。...在默认的方式下,也就是我们只输入make命令: 1. make会在当前目录下找名字叫“Makefile”或“makefile”的文件。 2.

7610

极简shell制作

使用vim(vim介绍及其使用)打开makefile文件: vim makefile 配置makefile文件: cc=-std=c99 mybin:file.c gcc -o $@ $^ -g...那么我们需要考虑的就是输入命令的情况:1、单个命令输入。2、命令+选项输入。...其实他们的区别很明显,一种 字符串不带空格,一种字符串 带一个或多个空格,比如:   使用C语言的scanf显然是行不通的,在这里我推荐使用 fgets 接口,可以接收输入的空格:   返回值表示输入的字符串...stdin 流中获取即可,表示标准输入内获取信息。   ...路径显示问题   这里还有一个很明显的错误行为,我的命令行解释器的路径开始就没有变过,其实是因为我们没有更新PWD环境变量,我们可以手动给当前进程更新环境变量,使用一个数组存储当前目录,再使用 putenv

11110

在 Golang 开发中使用 Makefile

我并不是一个 makefile 专家,所以可能不太能够教大家如何写一个好的 makefile. 但是在本文,我将向大家展示我所使用Makefile,我的大部分项目都使用了这些 makefile 。...如果在执行 make 命令时指定目标,比如 make run,那么 make 就会构建该目标。如果没有提供任何参数,那么 make 默认会执行第一个目标。...$ make run ## call specific task $ make ## make tool calls "all" task 基本命令 makefile 最关键的部分就是构建。.../$(BINARY_NAME) 通常来讲,test 命令应该是 makefile 的一部分。我个人总是喜欢使用 verbose mode 来更好地 debug 和观测 test 的运行。...---- 译者:原文使用Makefile 其实还可以更好,比如在原文下面的评论中指出,至少应该指明 .PHONY:, 另外 build 应该是 run 的前提条件。

1.5K10

【Linux】《how linux work》第十五章 开发工具

那么,make 是如何 aux.c 到 aux.o 的呢?毕竟,aux.c 并不在 Makefile 中。 答案是 make 遵循其内置规则。...如果你连续两次输入 make 命令来运行上述示例,第一次命令会构建 myprog,但第二次会输出以下内容: make: Nothing to be done for 'all'....of Makefile or makefile -n 打印出构建所需的命令,但不实际运行任何命令 -f file 告诉makefile中读取,而不是Makefilemakefile中读取 15.2.6...要使用命令行参数选项运行程序,请在(gdb)提示符处输入以下内容: (gdb) run options If the program works, it should start, run, and...the program, use 要告诉gdb继续执行程序,请使用以下命令: (gdb) continue To clear a breakpoint, enter 要清除断点,请输入以下命令: (

7410
领券