Makefile中的MAKECMDGOALS

2023-05-16

make 在执行时会设置一个特殊变量 : "MAKECMDGOALS" ,该变量记录了命令行参数指定的终极目标列表,没有通过参数指定终极目标时此变量为空。该变量仅限于用在特殊场合(比如判断),在 Makefile 中最好不要对它进行重新定义

下面通过一个实例来说明此变量的意思,设一 Makefile 内容如下:

ifeq ("$(MAKECMDGOALS)","are you ok cmdgoals")
who="you"
endif

are:
        @echo "are"
you:
        @echo "you"
ok:
        @echo "ok"
cmdgoals:
        @echo "MAKECMDGOALS: $(MAKECMDGOALS)"
        @echo "who are $(who)"

执行make are you ok cmdgoals,其中are you ok cmdgoals为四个目标文件,运行输出:

[dream@dream]$ make are you ok cmdgoals
are
you
ok
MAKECMDGOALS: are you ok cmdgoals
who are you


在上述命令行中同时指定了 "are" , "you", "ok", 以及 "cmdgoals" 这 4 个目标,这些目标的名字都会传入 MAKECMDGOALS 中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Makefile中的MAKECMDGOALS 的相关文章

随机推荐

  • [解决]Eclipse不能开发Web项目

    因为好久没有用Eclipse开发Web项目 xff0c 突然 xff0c 今天开发Web项目的时候 xff0c 怎么也建立不了Web项目 所以揣想是Eclipse版本不对或者是没有装插件 因为自己的Eclipse已经安装了很多其他的插件 x
  • 解决Tomcat访问Web显示HTTP Status 404 - /hrm/

    步骤 xff1a 1 打开Eclipse xff0c 双击Tomcat 2 更改Deploy path xff0c 它后面的值默认是 34 wtpwebapps 34 把它改成 34 webapps 34 也就是tomcat中发布项目所在的
  • Cordova系列学习教程01. 了解Cordova

    转载请标明出处 xff1a http blog csdn net junzaivip article details 51151924 xff0c 本文出自 junzaivip博客 概念 xff0c phonegap与cordova之间的区
  • 2016年小结 2017年展望

    转载请标明出处 xff1a http blog csdn net junzaivip article details 54231935 xff0c 本文出自 junzaivip博客 每个人的世界里有的不止是光鲜 xff0c 其实还有更多别人
  • 如何将本地已有的项目加入git版本管理

    本文地址 xff1a https blog csdn net junzaivip article details 82626584 如果自己已经新建的一个项目 xff0c 暂时没有加入项目管理 xff0c 且名称不变 xff0c 如何加入
  • 基于github搭建自己的个人博客

    今天一时兴起 xff0c 看见别人使用的github io搭建了属于自己的个人博客 xff0c 我也使用github搭建一个自己的博客系统 xff1b 步骤一 xff1a 创建一个自己的github账号 xff1b xff08 略 xff0
  • 将C++ 看作多种语言的联合体

    起初 xff0c C 43 43 仅仅是增补了面向对象特性的 C 语言 甚至 C 43 43 原始的名称都叫做 使用类的 C 语言 xff0c 这可以很明显地反映出这一继承关系 随着 C 43 43 逐渐成熟 xff0c 它变得更加丰富多彩
  • ES6基本用法

    ES6基本用法 字符串的基本用法 let junzai 61 34 史慧君 34 let blog 61 34 淘宝多的是 xff0c 都是正版 xff0c 放心买 学习字符串 34 let blog 61 96 淘宝多的是 xff0c 都
  • Node升级到最新版本

    检查目前的版本 xff1a localhost shihuijun node v v8 9 3 清除node js的cache 不确定有没有必要 localhost shihuijun sudo npm cache clean f Pass
  • APM飞控添加自定义参数

    原文链接 xff1a http www nufeichuiyun com p 61 283
  • APM(pixhawk)飞控疑难杂症解决方法汇总(持续更新)

    原文链接 xff1a http www nufeichuiyun com p 61 28
  • 我设计了一款开源飞控,性能远超Pixhawk,运行APM固件-怒飞垂云

    从2009年到现在 xff0c 我从事无人机研发将近11年了 xff0c 中途设计过很多飞控 xff0c 有闭源的无人飞艇飞控 大型固定翼无人机飞控 xff0c 也有在开源飞控Pixhawk基础上修改的飞控 xff0c 如今 xff0c 基
  • MissionPlanner使用说明(持续更新)

    MissionPlanner有些功能需要自己摸索 xff0c 我把一些比较难找的功能使用方法列举如下 xff1a 原文链接 xff1a http www nufeichuiyun com p 61 67
  • 怒飞垂云视频教程 一、建立编译环境

    本文讲述如何建立APM飞控固件的编译环境 原文链接 xff1a http www nufeichuiyun com p 61 237
  • Android Automotive(七) VehicleService

    Android Automotive xff08 七 xff09 VehicleService VehicleService 是Android Automotive在硬件抽象层的一个核心native服务 处理和车辆相关功能 xff0c 为系
  • ardupilot之添加mavlink消息

    本文是这篇文章的复现 xff1a http www sohu com a 213599378 175233 一 mavlink分析 Mavlink 的全称是Micro Air Vehicle link xff0c pixhawk把它作为与地
  • Linux中断机制:硬件处理,初始化和中断处理

    来源 CSDN phenix lord的专栏 硬件处理 最近解决一个关于Linux中断的问题 xff0c 把相关机制整理了一遍 xff0c 记录在此 不同的外部设备 不同的体系结构 不同的OS其中断实现机制都有差别 xff0c 本文对应的O
  • 跟我一起复制一款基于ESP-Drone无人机控制板

    1 ESP Drone 无人机项目简介 ESP 无人机是基于ESPRESIF ESP32 ESP32 S2 Wi Fi芯片的开源解决方案 xff0c 可通过Wi Fi连接到手机应用程序或游戏控制台 ESP无人机具有简单的硬件 清晰和可扩展的
  • linux安装llvm

    先装cmake xff0c 可以用sudo apt get install cmake或者去官网下载源码编译安装 下载llvm git clone https github com llvm llvm project git 3 Build
  • Makefile中的MAKECMDGOALS

    make 在执行时会设置一个特殊变量 xff1a 34 MAKECMDGOALS 34 xff0c 该变量记录了命令行参数指定的终极目标列表 xff0c 没有通过参数指定终极目标时此变量为空 该变量仅限于用在特殊场合 比如判断 xff0c