shell:Makefile从shell脚本中导入变量

时间:2023-02-10 16:01:06

(目录)

需求描述

Makefile需要从shell脚本中读取变量

Makefile 读取变量

# 打印版本号
.PHONY: echo-version
echo-version:
    echo ${VERSION};

直接打印发现是空的

$ make echo-version
echo ;

可以读取环境变量

$ export VERSION='0.0.1' && make echo-version
echo 0.0.1;
0.0.1

可以通过命令行传递变量

$ make echo-version VERSION='0.0.1'
echo 0.0.1;
0.0.1

Makefile文件中定义变量

# makefile文件中定义变量
VERSION="0.0.2"

# 打印版本号
.PHONY: echo-version
echo-version:
    echo ${VERSION};
$ make echo-version
echo "0.0.2";
0.0.2

Makefile从shell脚本中导入变量

# 打印版本号
.PHONY: echo-version
echo-version:
    . ./version.sh && echo $${VERSION};

注意:使用两个$$ 而不是 $

version.sh

#!/bin/bash

##################################
# 版本号
##################################

export VERSION='0.0.3'

$ make echo-version
. ./version.sh && echo ${VERSION};
0.0.3

参考 如何在makefile中获取shell环境变量?