如何在makefile中获得shell变量

本文介绍如何在Makefile中获取并使用Shell环境变量的方法。包括通过export导出变量及在Makefile中直接引用的方式。适用于需要跨脚本传递变量值的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在编译android的时候,脚本(shell)中有个变量,希望能够在makefile中得到这个变量值,进行编译。

source脚本的时候定义这个变量,make的时候用到这个变量。

如何在makefile中获得shell环境变量:

1、在写makefile的时候,有时我们需要获取shell命令的结果,并将其赋值给变量,下面是个例子

ROOT = $(shell pwd)

all:

    @echo "ROOT = $(ROOT)"

 

或者直接 

ROOT = `pwd`

但是上述的是针对shell命令的,试过针对变量的话,makefile那边无法获取到变量值。

2、

如果你已经导出了环境变量:

export demoPath=/usr/local/demo

只需在makefile(make导入你设置的所有环境变量):

DEMOPATH = ${demoPath}    # Or $(demoPath) if you prefer.

如果尚未导出环境变量,则在导出该变量之前,或除非在命令行上显式传递它,否则无法访问该变量:

make DEMOPATH="${demoPath}" …

如果你使用的是C shell导数,则替换setenv demoPath /usr/local/demoexport命令。

上述大牛的解释 经过试验可用:

做法:shell中:export CUSTOMER_FOLDER=${customer_folder}

          makefile中:@cp -f $(PHOTOSPHERE_ROOT)/projects/$(CUSTOMER_FOLDER)/boot0.jpg 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值