Makefile 变量定义

Makefile 变量定义

参考来源: Makefile中的变量

foo = $(bar)

这是最简单的一种变量定义方式, 会在8引用时展开*.

优点是可以引用后面定义的变量.

缺点则是容易引起自己引用自己的死循环; 而且如果引用了函数的话, 函数会在被引用的地方执行.

foo := $(bar)

这种方式会在定义时直接展开, 可能 make 的效率稍低, 不能引用后定义的变量, 但是会避免方式一的缺点, 这是比较常用的定义方式.

foo ?= $(bar)

如果 foo 没有被定义过, 则定义为$(bar). 这是条件赋值, 常见于定义系统相关的变量, 如果没有默认的系统环境变量, 则定义之.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏开发技术

排序之简单选择排序

  本篇博客是在伍迷兄的博客基础上进行的,其博客地址点击就可以进去,里面好博客很多,我的排序算法都来自于此;一些数据结构方面的概念我就不多阐述了,伍迷兄的博客中...

11820
来自专栏mwangblog

二、八、十、十六进制

11720
来自专栏java一日一条

教你在Java接口中定义方法

基本上所有的Java教程都会告诉我们Java接口的方法都是public、abstract类型的,没有方法体的。

9410
来自专栏每日一篇技术文章

Swift3.0 - 扩展

b.如果想要在定义协议的时候,不指定变量名称,在实现协议的时候,再去设定变量类型,应该怎么写?

8630
来自专栏数据结构与算法

1750:全排列

1750:全排列 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB描述 给定一个由不同的小写字母组成的字符串,输出这个字符串的所...

382140
来自专栏Java技术栈

一张图搞清楚Java异常机制

下面是Java异常类的组织结构,红色区域的异常类表示是程序需要显示捕捉或者抛出的。 ? Throwable Throwable是Java异常的顶级类,所有的异常...

30150
来自专栏我是业余自学C/C++的

二维变长数组

15750
来自专栏黑泽君的专栏

java基础学习_反射、装饰模式、JDK新特性_day27总结

10320
来自专栏菜鸟致敬

【Lua菜鸟②】数据类型

Lua是动态类型语言,变量不要类型定义,只需要为变量赋值。 值可以存储在变量中,作为参数传递或结果返回。(我想了想python) -- 用来单行注释 --[[...

46560
来自专栏小樱的经验随笔

UVa 11461 - Square Numbers【数学,暴力】

题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=...

32950

扫码关注云+社区

领取腾讯云代金券